myThings/IDCFチャンネルとlittleBits Bluetooth(konashi)モジュールを連携したメモ

ゼッタリンクス様より、オリジナルlittleBits開発記 | FabLab SENDAI – FLATこちらで開発されたオリジナルlittleBits Bluetooth(konashi)モジュールをお借りすることができたので、早速myThings/IDCFチャンネルとlittleBits Bluetooth(konashi)モジュールを連携したメモです。

今回やりたいこと

今回やりたいことは以下のとおりです。

  • myThings/IDCFチャンネルを立てる
  • Raspberry PiとlittleBits Bluetooth(konashi)モジュールをNodeJS(noble)通信する
  • Raspberry PiとIDCFチャンネルをやりとりしmyThingsと連携

myThings/IDCFチャンネルを立てる

mythings-littlebits-bluetooth-connect_8

まず、myThings/IDCFチャンネルを立てます。

基本的に、myThingsのはじめかた|IDCFクラウドの記事が分かりやすかったです。ソースの大本であるIDCFChannel/meshblu-composeもよい参考になりました。

また、独自に連携する方法については、myThingsとIDCFチャンネルでできること – Qiitaが分かりやすかったです。

特に、以下が独自サーバーに連絡するときには参考になりました。

Raspberry PiとlittleBits Bluetooth(konashi)モジュールをNodeJS(noble)通信する

mythings-littlebits-bluetooth-connect_1

Raspberry PiとlittleBits Bluetooth(konashi)モジュールの連携についてはNodeJSのnobleライブラリを使いました。こうすることで、Raspberry Piが中継してmyThingsとつながるようになります。

RaspberryPi – Raspberry PiでUSB/Bluetoothアダプタを使う – Qiita

こちらをみながら、まず、Bluetoothアダプタ買いまして、

mythings-littlebits-bluetooth-connect_2

Raspberry Piで認識させつつ、

mythings-littlebits-bluetooth-connect_3

Raspberry PiとlittleBits Bluetooth(konashi)モジュールを連携しました。

こんな感じの動画です。画角が近いので効果がわかりづらいですが、隣の部屋に仕掛けてもしっかり動作しました!

NodeJSでBLEをうごかすソースコードは結構長くなりましたので今回は割愛しますが、以下の記事が参考になりました。

NodeJSでBlueToothいじれたのは、今後の実装にもプラスになりそうです。nobleライブラリありがたや。

sandeepmistry/noble

Raspberry PiとIDCFチャンネルをやりとりしmyThingsと連携

さて、myThing側の設定もできたので、いよいよ連携してみます。

mythings-littlebits-bluetooth-connect_4

myThingsをはじめよう – Part6: 「IDCF」のトリガーからHTTPで「Gmail」のアクションを実行する – Qiita

をベースに、以下のようにボタンを押すとlittleBits Bluetooth(konashi)モジュールの反応をRaspberry Piが無線でとらえまして、

mythings-littlebits-bluetooth-connect_5

「IDCF」のトリガーから通知を出すように連携しました。

mythings-littlebits-bluetooth-connect_6

続いて、わかりにくいですが、

myThingsをはじめよう – Part5: 「天気・災害」のトリガーを「IDCF」のアクションがHTTPで受信する – Qiita

をベースに、天気・災害のトリガーからIDCFのアクションが発動し、littleBits Bluetooth(konashi)モジュールが反応しLEDが点灯しています。

mythings-littlebits-bluetooth-connect_7

おわりに

BlueTooth BLEデバイスいいですね。オリジナルモジュールというのも触っててワクワクしました。SORACOMとはまた違った感覚で、いろいろなところの置ける可能性を感じます。このような機会を作っていただいた、ゼッタリンクス様、FabLab SENDAI様には感謝いたします。

そして、今回はmyThingsのいろいろな仕様や、BLEをNodeJSで動かせることなど学びの多いものでした。IDCFチャンネルをつかうと色々と自由度の高い実装が出来たり、こちらはスケールしやすいクラウドサーバーのようなので大規模利用も対応できそうです。

それでは、よきlittleBits & BLE & Raspberry Pi & myThings Lifeを!