2016年8月29日月曜日

Node-REDのfunctionノードでライブラリーを使う

暑いので体調を崩してしまいました。年齢の為か万全の体調と言うのも難しく、いつもどこかに不調を感じる昨今です。

Node-REDのfunction内で、直接ライブラリーをrequire出来ないので少し工夫が必要です。

私の場合は、Raspberry PiにDSpiを乗せて使っているので、SPIの通信が必要となります。その為、Node.js用のrpioと言うライブラリーをインストールしています。そのライブラリーを、Node-REDで使用するには、先ず、Node-REDのsettings.jsを以下の様に変更します。


functionGlobalContext:{
        rip:require('rpio')
},
が、その部分です。

functionノードで使う方法は、以下の通りです。


こんな感じで、ライブラリーが使えるようになります。
この例は、15番ピンを出力にして、一秒間Highにしています。指定するのは、ポートの名称ではなく、ピン番号である事に注意してください。

また、GPIOを使う場合には、sudo node-redで、node-redを起動してください。

単に、GPIOの読み書きを使うだけであれば、ライブラリーは必要なく、インストールされている、rpi gpioを使えば解決できます。


このノードは、便利で、上記の設定をするだけで、使用出来、値が変化した時のみ、メッセージを次のノードに送ってくれます。debounceの値を適切に設定すれば、チャタリングの影響も回避出来る様です。

ここまで来たので、やっとS88のデバッグに入れます。


0 件のコメント:

コメントを投稿