GR-ROSE IoTシステム開発コンテスト総復習

この記事は がじぇるねGR Advent Calendar 2021 の22日目です。

先月参加したGR-ROSE IoTシステム開発コンテスト 作品LT大会、ユニークな発表が多数ありましたが発表時間内では私の理解が追い付かなかったので、YouTubeで復習します。こうやって後から見返せるのはありがたいですね。自分の発表は見たくありませんが (^^;)

※ この記事は私の個人的なまとめです。独断と偏見を含みます。また私の理解不足のせいで誤解や抜け落ちがあるかもしれませんがご容赦ください。

エントリー (発表順、敬称略)

開始時間をクリックすると動画が始まります。

No タイトル 発表者 開始時間
コロナ禍・リモートワークとIoT 豊田陽介 0:10:05
GR-ROSEとAzureでつっこみロボをつくる 金子啓太 0:17:50
GR-ROSEを使って、RFIDタグ情報をAzureと連携してみる 松田夕貴 0:26:20
えっ!GR-ROSEってA*mじゃないの?から始めた話 永久健三 0:33:25
3軸アーム GUI 石垣翔子 0:42:40
コネクテッドマウス 長島宏明 0:50:25
IoT渾天儀で太陽の運行を知る 西村備山 1:01:05
GR-ROSE de ロボットカー 林 宜憲 1:08:45
LIDAR JUMP!! TKTK360 1:17:50
いろいろお知らせしてくれるIoT鳩時計 しろいとり子 1:26:35
Azureロボットは二足歩行の夢を見るか? 中村恭一 1:33:50
GR-ROSEとIoTCでいろいろ見守り 大栄 豊 1:42:30
IoT Central をつかった雲台制御 すぎやま 1:56:05
GR-ROSE + Azureで、見守りや防犯の仕組み robojp 2:01:35
ドローンにおけるGR-ROSE & Azure IoT Centralの一使用例 chaos 2:11:00
ネット経由でサーボアームを制御してみようとした(仮) TakSan 2:24:00
GR-ROSE による温湿度制御 やま 2:33:45

接続方法についての所感

Azure IoT vs MQTT

今回、17名中12名はIoT Centralを利用しました。一方で4名がMQTTを使用しており、MQTTの根強さがうかがえます。

マイクロソフト太田さんの言う「デバイスの数が何十万、何百万になったときに、MQTTでやるよりもAzure IoTを使ったほうが簡単」というは理解できる一方で、「そんな数のデバイスを想定してないしシンプルにMQTTでやりたい」というのも理解できます。加えて、われわれ組込み系技術者はブラックボックスを嫌う傾向があり、「チンプンカンプンな概念を理解して使うよりも低レベルからフルスクラッチしたほうが早くて確実だ!」という習性があるように思います (^^;)

Azure IoT Hubへの道

今回、少なくとも3名がGR-ROSEからAzure IoT Hubへの接続を試みるもうまくいかず代替手段をとることになりました。Azure IoT Hubへ直接接続されたのは石垣さんお一人だけのようです。石垣さんいわく「サンプルプログラムをIoT Hub用に改良しただけ」とのことですが、私も林さんもそこでつまづきました (^^;) これについてはもう少し詳しい情報が欲しいところです。

【2021/12/24 追記】
石垣さんからを情報いただき、接続できるようになりました。ありがたや!

その他のAzure技術についての所感

私はApp Serviceで Node.js を使ってWebアプリをホストしましたが、静的なファイルのホスティングBlob Storageを使うという手もあるんですね。また、Functionsを使ってサーバーレスでコードを実行するという手法をはじめて知りました。

その他の技術についての所感

Unityあり、ROSあり、基板設計あり、CNC加工ありと、みなさん多彩な技術をお持ちで、これぞコミュニティーの醍醐味という感じがしました。

使用デバイスについての所感

GR-ROSEがロボット用ボードということもあって、PWMサーボやシリアルサーボを使った作例が目立ちました。3軸ロボットアーム持ってるかたが4名もいてビックリ。その他に面白そう・便利そうと思ったものをピックアップします。

使用技術一覧 (主なもの)

No IoT接続 その他のAzure技術 その他の技術 主なデバイス
IoT Hub
(テレメトリ)
(MQTT経由)
Stream Analystics
Functions (Node.js)
Power BI
LINE Notify
Node.js (MQTT.js)
Grove CO2センサ
M5Stack Core2
LEDテープ+光拡散チューブ
IoT Central
(コマンド/API使用)
Blob Storage
(ホスティング)
- PWMサーボ (べゼリー)
Grove MP3モジュール
IoT Central
(テレメトリ/ルール)
- - UHF RFIDタグ / リーダー
MQTT - IFTTT, Google Assistant
Beebotte(MQTTブローカー)
Google Home
赤外線リモコン
IoT Hub
(ダイレクトメソッド?)
(デバイスツイン?)
Functions (Python) PHP(フロントエンド) 3軸ロボットアーム
IoT Central
(テレメトリ)
- TynyUSB(USBスタック)
TOPPERS, 基板設計
マウスのセンサIC
(ADNS-5050)
IoT Central
(コマンド/API使用)
App Service
(Node.js)
- ステッピングモータ
IoT Central
(コマンド)
Blob Storage(ログ)
Machine Learning
- シリアルサーボ
(KRS-3301, 回転モード)
TOFセンサ(VL53L0X)
MQTT Virtual Machines
(MQTTブローカー)
Unity LiDARセンサ(Camsense X1)
micro:bit
IoT Central
(コマンド/ジョブ)
- 3Dプリンタ PWMサーボ
Grove MP3モジュール
Grove 4-Digit Display
IoT Central
(コマンド)
- 板金設計/CNC加工 PWMサーボ
(KRS-4024, PWMモード)
IoT Central
(テレメトリ)
- GDBデバッグ 温湿度センサ
(HS3001, AHT20)
IoT Central
(テレメトリ)
- Python, Node-RED(ローカル)
ARマーカー, 3Dプリンタ
3軸ロボットアーム
9軸センサ(MPU9250)
IoT Central
(テレメトリ)
- - 焦電型赤外線センサ(PaPIRs)
PWMサーボ, プチブロック
IoT Central
(テレメトリ)
- ROS2 / Micro-ROS, RViz
Node.js(ローカル)
ドローン(+姿勢センサ)
3軸ロボットアーム
MQTT - shiftr.io(MQTTブローカー) 3軸ロボットアーム
IoT Central
(テレメトリ/コマンド)
- - 温湿度センサ(HS3001)
PWMサーボ