はじめに
Node-RED MCU EditionのSensorノードがバージョンアップして(V2になって)、センサーデバイスやI/O、Busをプルダウンメニューで選択できるようになり、使いやすくなりました。
手順
Sensorノードのインストール手順は以前と同じです。
注意点
Node-RED MCU Editionで使用するnodered2mcuツールが更新されているため、Moddable SDKを再インストール、または、再ビルドする必要があります。
$ rm -rf ${MODDABLE}/build/tmp
$ cd ${MODDABLE}/build/makefiles/mac
$ make
動作確認状況
センサーデバイスの対応状況は以前と同じ状況です。
参考
MPU6886(定義がなかった)とLM75B(Busの値が間違っていた)は以下のプルリクで修正されました。
BMP280(動作しなかった)は以下のコミットで修正されました。
Sensorノード
フローエディタの左側のパレットに「MCU」カテゴリと「Sensor」ノードが表示されます。
見た目が少し変わりました。
※ 2023年2月5日更新
Sensorノード以外にもMCU用ノードが大量に追加されました。
neopixelノードもrpi-neopixelノードとは別になりました。
Node-REDフローを作成する
「inject」ノードと「Sensor」ノードと「debug」ノードを使用し、以下のように接続します。
Sensorノードを編集する
Sensorはプルダウンメニューから選択します。
I/OはBus NameとSpeedはフォームで値を入力し、Addressはプルダウンメニューから選択します。
Configureはフォームから値を入力します。
参考
I/OのBus Nameは値をinternalやhatに変更しても「default」表示に戻ってしまう不具合があります。(2023年1月23日時点)
ただし、flows.jsonには値が正常に保存されますので、動作には問題ありません。
Sensorノード (HC-SR04)
M5Atom liteとHC-SR04(超音波距離センサー)の組み合わせで動作確認しました。
HC-SR04はPulseWidth I/Oを使用しているため、M5Atom liteのデバイス定義ファイルにモジュールを追加設定する必要があります。
$MODDABLE/build/devices/esp32/targets/m5atom_lite/host/provider.js
Node-REDフローを作成し、ビルド・インストールします。
injectノードを発火すると、Sensorノードで計測した距離がdebugノードに出力されます。
neopixelノード
以前はrpi-neopixelノードを使用していましたが、ラズパイ用で変更できるPIN番号が限られていること、Node-REDのコアノードの一部に含まれていることから変更のハードルが高いこと(想像)から、Node-RED MCU用のneopixelノードへ変更されました。
M5Atom Matrixで試してみました。
neopixelノードのプロパティを開き、Pinの「?」を削除する必要があります。
(削除すると、デバイス定義のneopixel設定が有効になる)
表示するLEDの個数に不具合がありましたので、修正プルリクエストを上げています。