2018年6月12日火曜日

【Microsoft Azure】ESP-WROOM-32 から Azure IoT Hub に接続してみる

最近勝手にあらゆるデバイスを Azure IoT Hub に接続するキャンペーンをしています。
一応前提として、MacOSXでの日本語環境で開発します。

今回は、Espressif Systems の ESP-WROOM-32 という無線通信モジュールから接続してみます。
https://www.switch-science.com/catalog/3156/

ESP-WROOM-32は、Arduinoではないのですが、Arduino IDEで開発ができます。今回は開発キットである ESPr Developer 32 を使います。
https://www.switch-science.com/catalog/3210/

セットアップ方法については以下を参照してください。
http://trac.switch-science.com/wiki/esp32_setup

それでは、Arduino IDE から、Azure IoT Hub の GetStartedサンプルを使って接続してみます。

Arduino IDE を立ち上げて、ボードの設定をします。
「ツール>ボード>ESP32 Dev Module」を選択します。



次に、シリアルポートの設定を行います。
「ツール>シリアルポート>/dev/cu.SLAB_USBtoUART」を選択します。




設定が終わったら、サンプルからAzure IoT Arduinoのスケッチを開きます。
「ファイル>スケッチ例>ESP32 Azure IoT Arduino>GetStarted」を選択します。





開いたサンプルの中の、以下の4箇所の値を設定します。
・DEVICE_ID(9行目):IoT Hubで設定したデバイスID
・ssid(13行目):接続するWi-FiアクセスポイントのSSID
・password(14行目):Wi-Fiパスワード
・connectionString(19行目):IoT Hubで設定したデバイスの接続文字列

設定したら、コンパイルして書き込みます。
以下の「⇨」ボタンを押すとコンパイル、デバイスへの書き込みを行い、プログラムを実行します。



プログラムの実行状況を確認するために、ターミナルからデバイスへシリアル接続をして確認します。
screenコマンドを実行するとこんな感じになると思います。
{"deviceId":"esp32", "messageId":270, "Temperature":24.000000, "Humidity":87.800003}
Info: >>>IoTHubClient_LL_SendEventAsync accepted message for transmission to IoT Hub.
Info: >>>Confirmation[269] received for message tracking id = 269 with result = IOTHUB_CLIENT_CONFIRMATION_OK
Send Confirmation Callback finished.
{"deviceId":"esp32", "messageId":271, "Temperature":25.000000, "Humidity":57.700001}
Info: >>>IoTHubClient_LL_SendEventAsync accepted message for transmission to IoT Hub.
Info: >>>Confirmation[270] received for message tracking id = 270 with result = IOTHUB_CLIENT_CONFIRMATION_OK
Send Confirmation Callback finished.



確認できたら、「control+a」を押した後に「k」を押してシリアル接続を中止します。

0 件のコメント: