見出し画像

54. ESP32 を介して、ネットワーク接続無しの小規模デバイスを Azure IoT Hub に接続する ~ その準備

前回の記事                        次回の記事


はじめに

前回までは、ESP32 を Azure IoT Hub に接続する方法を試しました。今回から、ESP32 とネットワーク接続機能無しの小規模デバイスを、シリアル通信を介して接続し、小規模デバイスと Azure IoT Hub を間接的に接続する構成を試していく事にします。この構成は、実際の IoT ソリューションでありがちな構成でしょう。
さて、ネットワーク接続機能無しの小規模デバイスとして、Arduino Uno を使おうと…思ったら、2023/6 時点の小売価格が、3000円超と驚くべき高価格だった(昔は500円ぐらいじゃなかったか?)ので、Arduinoご回帰で、リーズナブルな値段で売り続けてくれている Seeeduino 4.2 を使う事にしました。

目指す構成

折角なので、昔買っておいた手元にある Grove Sensor を接続して実際のセンサー情報を取得することにします。

構成

使用するセンサーは、6軸(加速度、ジャイロ)+温度が装備された、BMI088 です。
参考技術資料はネット上に沢山あふれているので、それほど手間をかけずに出来るかなと思いましたが、案外手間がかかったので、先ずは、Seeeduino V4.2 の開発環境セットアップとサンプルコードの実行、目的の構成を目指した改造までを一つの記事とすることにします。

開発環境のセットアップ

先ずは、開発環境のセットアップです。幾つか技術ブログがが散見されましたが、本家の Seeed さんが公開している
Seeeduino v4.2 | Seeed Studio Wiki
が一番正確だったので(当たり前かw)、こちらに従ってセットアップを進めていきます。

Seeeduino V4.2 の設定

本家の Arduino Uno が動作電圧が 5V 固定なのに対し、Seeduino V4.2 は 3.3V と 5V の切り替えができるので便利。
※ BMI088 は 3.3/5V両方対応
今回は ESP32 と接続するので、5V 設定で使います。黄色いソケットを上面に、USB ポートを手前にしておいた時に、右側に来る黄色いソケットの USB ポート側の横に DIP Switch があるので、それを 5V 側に設定します。
BMI088 をはじめとする Grove Sensor は専用の4ピンケーブルでの接続になりますが、Seeeduino には 3つの Grove コネクタが用意されていて即つなげるのも超便利です。このままでも十分なのですが、今後色々なセンサーを同時につなげたいなぁ…ということで、Grove Base Shield (Arduino Uno と Grove Sensor をつなぐ時にも使える)も実際には使っています。このシールドを使う場合は、Grove - 6-Axis Accelerometer&Gyroscope(BMI088) | Seeed Studio Wiki に記載の通り、

https://files.seeedstudio.com/wiki/Grove-6-Axis_Accelerometer-Gyroscope-BMI088/img/connect.jpg

シールドの 6ピンの ISP 側の I2C にセンサーを接続します。

開発用 Windows PC へのデバイスドライバーインストール

ここから先は

7,617字 / 9画像

2022年3月にマイクロソフトの中の人から外の人になった Embedded D. George が、現時点で持っている知識に加えて、頻繁に…

この記事が気に入ったらチップで応援してみませんか?