前回のjohnnyfiveの記事でFirmataでの制御が楽しくなり、情報を追っていたところ、Node-REDでのArduinoノードでも同様のFirmata制御だったので試してみたメモです。
まずlittleBitsのArduinoにFirmataインストール
Node-RED : Arduinoを見るとFirmataで書き込んだArduinoであればArduinoノードで制御可能という風に書いてあります。
こちらの記事のようにFirmataをインストールします。
Node-REDにArduinoノードをインストール
今回はRaspberryPiにNode-REDが入っている状態でご説明します。
まず、ユーザーフォルダからNode-REDの設定フォルダに行きます。
cd ~/.node-red
Arduinoノードをインストールします。
npm install node-red-node-arduino
Node-REDを起動するとArduinoノードがインストールされています。これで準備完了です。
アナログ値出力制御をしてみる
早速、Arduinoノードの出力でアナログ値を制御してみましょう。
このように配置します。
設定は以下のようにしています。
内部の設定は以上のようにしています。
ポートは鉛筆ボタンから編集して、虫眼鏡ボタンから検索が可能です。
今回はこのようにInjectノードでアナログ値 0~255 を0、127(50%)、255(100%)で上から2番目の5番ポートに値を渡すようにします。
127→255→0→127→255と押すと以下のように変化します。
Arduinoノード入力側
もちろんlittleBitsの入力も取得できます。
ツマミを回すことでアナログ値を取ります。
Arduinoノード入力側の設定です。上から2番目はA0ポートですが、TypeをAnalogue pinに指定してPinは0を指定すればA0ポートが指定可能です。
このようにノードを組んで値をデバッグ出力してみると、
右のデバッグウィンドウで確認が可能です。
おわりに
このようにNode-REDのArduinoノードでFiramataな制御ができると、
先日お伝えしたNodeJSのjohnny-fiveのみならずFirmataで汎用的にするとアナログ値やデジタル値が手軽に入出力でき、しかも、Node-REDによってすぐにデータ蓄積に回すことが可能なので、プロトタイプが作りやすくなりますね。
それでは、よきlittleBits & Node-RED & Firmata Lifeを。