年末年始は忙しいようで案外暇な時間もあるので、実機を持ち運んでなくてもちょっと開発したりできないかな〜と思って調べてみたところ、Azureのオンラインシミュレーターに辿り着いた。
せっかくなのでその過程と使ってみた感じをメモ。
Raspberry Pi Azure IoT Online Simulator とは
ブラウザ上でRaspberry PiのシミュレーションとIoTハブとの接続・通信ができるらしい。
言語はNode.js(Rasberry Piで動かすソースコードをNode.jsで書いたことがないので若干躊躇いあり)。
ブラウザの操作画面↓
左ペインがイメージエリア、右ペインが上下で分割されていて、上がコーディングエリア、下がコンソールエリアとなっている。
イメージエリアでパーツが追加できるのかはまだわからない。。
公式の学習サイトには以下から飛べます。
https://learn.microsoft.com/ja-jp/azure/iot-hub/raspberry-pi-get-started
学習サイトに記載がある通り、IoT Hubとの接続には、Azureサブスクリプションの登録と、
Azure上でのIoT Hubの新規作成が必要。
アカウント作成後、30日は無料枠でサービスが利用できるようだったので登録。
Azureアカウント作成ページ↓
https://azure.microsoft.com/en-us/pricing/purchase-options/azure-account?icid=portal
IoT Hubの作成〜シミュレーターとの疎通確認の方法はシミュレーターのチュートリアルに書いてありました。
疎通確認
今回はただ疎通テストがしたいだけなので、無料のIoT Hubを作成。
作成したIoT Hubにデバイスを追加し、「プライマリ接続文字列」をオンラインシミュレーターのソースコードに入力して実行すると、シミュレーターとの疎通が確認できる。
ソースコードはコンソールエリアの上部メニューから簡単に実行・停止できる。
ちなみに、Resetを押すとソースコードがデフォルトに戻る仕様。
サンプルコードで疎通に成功すると、コンソールエリアでのメッセージログの出力とともに、イメージ画面でLチカが確認できる。
まとめ
Azureアカウント作成に少し手間取ったものの、他の設定は特に不要のためすぐに使い始めることができた。
言語は変更できるのかもしれないが、デフォルトはNode.jsになっているので、Pythonなどで記述したソースコードがそのまま実行できるのかどうかは調査が必要そう。
あとは、イメージエリアにセンサやモータなどのパーツが追加できるのかどうかも気になるところ。
実機を持ち歩くのがなかなか大変なので、簡単な開発であればシミュレータでうまく代替できるようになってくれると嬉しい。