2020年01月25日

Node-RedからのI2Cデバイス制御

今回はNode-RedからのI2Cデバイス制御する方法を紹介します。

Node-Redからセンサ等のI2Cデバイスを制御する場合、SBC(Raspberrypi等)にNode-Redをインストールして専用のノード(BME280VL53L0)でI2Cデバイスにアクセスすることが一般的です。他の方法としてArduinoを経由する方法などもあります。

専用ノードの場合はNode-Redを実行するハードウェアに依存するため、WindowsやMacではそのままのノードが使えません。

先日紹介したUSB-I2C変換アダプタを使用するとハードウェアの依存度を下げることができます。USB-I2C変換アダプタはシリアルCOMポートとして認識されるため、Node-Redのシリアルポートノードを使用することでSBC(Raspberrypi等)の他、WindowsやMacでもそのまま同じノード、フローを使用することができます。

なお、Node-RedのシリアルポートノードをWindowsで使用するためにはオンプレミス版Node-Redを使用する必要があります。こちらの記事を参考にしてください。



USB-I2C変換アダプタを使用してI2C接続タイプのLCDのAQM1602をNode-Redから制御してみました。



Node-Red_AQM1602.jpg

実際のNode-Redフローはこちらで公開しています。


I2CLCD.JPG

任意の文字列が表示できました。


また、I2Cデバイスのアドレスを取得してデバイス検索するコードも作成してみました。I2Cデバイスと通信できない場合にデバイスの動作確認やアドレスの確認として非常に便利です。

Node-Red_I2Cdevicesearch.jpg

実際のNode-Redフローはこちらで公開しています。

USB-I2C変換アダプタの応用例を今後、紹介してみたいと思います。
posted by Crescent at 00:00| Comment(0) | 電子部品 | このブログの読者になる | 更新情報をチェックする