Node-RED でデバイス・アプリ連携(ローカル通信もネット経由も)2021年5月27日 (木)TECH Street @オンライン 豊田 陽介 ( @youtoy )
View Slide
豊田陽介(@youtoy)自己紹介普段は、某通信会社の研究所勤務自宅に各種デバイス等がたくさんビジュアルプログラミング・IoTなどのテーマ関連ガジェット好きその他IT系イベント主催・運営、登壇なども、子ども向けの活動いろいろ(IT系以外も)プライベートでの活動
今日の話はNode-REDでデバイス連携
デバイス間をつなぐ仕組み・できること・HTTPリクエスト・Websocket・MQTTデバイス間で直接 ネット経由・シリアル通信・BLE・MIDIつなぐ仕組みできること・既製品のデータ取得(温湿度計など)・電子工作デバイスで のプロトタイピング ・○○を検知したらLINE ・Slack等に通知・スマートホームの 仕組みを自前で作るNode-RED で利用可能なものの例(いろいろある中の一部)
PCを使い、まずは多機能なデバイスと組み合わせてプロトタイピングしてみる
例えばBluetooth搭載デバイスとの間で温度 25.1℃湿度 56%M5Stack+センサーPC部屋の環境モニタセンシング可視化
具体的なフロー(プログラムの部分)
具体的なフロー(プログラムの部分)値の取り出し、グラフ化BLE接続、データ取得などデータ変換
デモ動画(温湿度のグラフ化)
テキストプログラミングでもできますが
Node-REDで手軽に実現JavaScript の例 Node-REDの例GUI上でボタン操作・文字入力で進めるBLE の処理の流れを把握しつつプログラミング
さらに仕組みを追加するのも手軽に温度 25.1℃湿度 56%M5Stack+センサーPC部屋の環境モニタセンシング可視化スマホアプリ通知スマホインターネット経由
やりとりの仕組みを別のものにしてみる
インターネットを経由させるように変更デバイス+センサーPC無線(BLE)デバイス+センサー(多地点)PCインターネット経由MQTTブローカーリアルタイム通信(MQTT)近距離無線遠隔地間での通信
接続方法を変えるのも手軽にデバイス+センサー PC無線(BLE)デバイス+センサー PC有線(シリアル通信)BLE非対応デバイスBLE対応デバイス
実際に作ってみると(人感センサー利用)デバイス+センサー(多地点)PCインターネット経由MQTTブローカーリアルタイム通信(MQTT)画面表示フロー
具体的なフロー(プログラムの部分)MQTTブローカーとの接続、データ処理など場所 A場所 B可視化
別アプリの制御にも
デモ動画(OBSのアプリ外からの制御)
デバイス関連の補足
【デバイス】・M5Stack関連・obniz連携できるデバイス・アプリの例たくさんの種類がある中で利用したことがあるものの一部デバイス内/ローカル インターネット経由【デバイス】・micro:bit・toio・M5Stack関連・MIDI対応デバイス 【アプリ】・LINE・Slack(Discord、Teams)【アプリ】・OBS
デバイスで動作させたプログラム①ブロックベースのビジュアルプログラミング(UIFlow)で作成BLE経由で温湿度のデータを送信
デバイスで動作させたプログラム②MQTT経由で人感センサーで取得した値を送信
終わり!