Raspberry PiによるIoT(M2M)【I2C温度センサー/xively/JavaScript(Node.js)】
最近「kinoma Create(ミートアップ参加レポート)」や「Tessel」等ハードウェア制御にもJavaScriptを利用しているキットがチラホラ見受けられるようになりました。そこで、先日Raspberry PiにちょうどNode.jsも入れたばかりということで、前回Raspberry Piを用いてPythonで温度センサー(ADT7410)をxivelyに連携したものを今回JavaScript(Node.js)でトライしてみました。
以下、これまでやってきたI2C(関連リンク)やNode.js(関連リンク)までの設定が終わっている前提で進めていきたいと思います。結線図等もありますので、一読して確認頂ければと思います。
手順1 Node.js用のモジュールのインストール
今回の実装のために次のモジュールをインストールします。なお、今回の作業ディレクトリを iot
としておきます。
$ mkdir iot && cd iot
$ sudo npm install request && sudo npm install i2c && sudo npm install async
手順2 JavaScript(Node.js)によるセンサーからクラウド連携
今回も「xively(APIドキュメント)」への連携です。※Gistがうまく表示されない時にはこちらから直接ご覧ください。
そして、プログラム実行時には、ここでもI2Cデバイスへのアクセスのため、 sudo node adt7410.js
のように sudo
をつける必要があります。もしくは、 sudo adduser pi i2c
でI2Cグループにアクセスユーザーを追加していれば、 node adt7410.js
のような実行も可能になります(グループ追加時は、 sudo reboot
で再起動しておきましょう)。
考え方は前回と同様ですがNode.js on Raspberry Piということで、数少ないサンプルだったと思いますが、いかがだったでしょうか?
今後更にハードとソフトのボーダレス化が進み色々なアイディアが出てくることでIoTの分野も面白みを増してくるのではないかと思います。