STMマイコンとESPマイコンで作るモバイル温度計


温度データをIoTクラウド・サービス Ambient にリアルタイム送信

Wi-Fiモジュールの通信を制御するNucleo-F411REのC++プログラミング事例

図1 センサで環境温度を測定し,そのデータをリアルタイムでクラウドに送信するSTMマイコン(Nucleo-F411RE)のソースコードを紹介データの可視化にはAmbientサービスを利用しする.画像クリックで動画再生.詳細は[VOD/KIT] STM32マイコン&Wi-Fiモジュールで学ぶ C/C++プログラミング入門を参照

IoTの普及に伴い,エッジ・コンピューティングの重要性が増しています.エッジ・デバイスは,センシングデータを集め,処理し,クラウドへ送信する役割を担います.本記事では,STMマイコンとESPマイコンを利用して自作したIoTエッジ・デバイスについて解説します.

このデバイスは,環境温度を測定し,そのデータをリアルタイムでクラウドに送信します.具体的には,STMマイコン(Nucleo-F411RE)を使用し,Wi-FiモジュールとしてESP8266を用います.また,データの可視化にはAmbientというクラウド・サービスを利用します.Ambientは,IoTデバイスからデータを受け取り,クラウド上でそのデータを管理・表示するためのプラットフォームです.

基本構成

まず,温度センサ(PC_1ピンに接続)からアナログ信号を取得し,STMマイコンでディジタル変換します.温度データは3秒間にわたって300回のサンプリングを行い,その平均値を算出します.この平均温度データをESP8266経由でWi-Fiに接続し,クラウド・サービスのAmbientに送信します.データの送信間隔は30秒に設定されており,連続的に温度データがクラウドに蓄積されます.

コードはC++で記述され,`mbed`ライブラリを用いて開発されています.ESP8266との通信には,UARTインターフェースを介して行います.また,Ambientサービスへのデータ送信は,TCPソケットを利用して行われます.

環境設定とコードのポイント

Wi-Fi接続には,SSIDとパスワードを設定します.これにより,デバイスが指定のアクセスポイントに接続し,インターネット経由でAmbientサーバにアクセスします.Ambientサーバにデータを送信するためには,チャネルIDとライトキーを設定する必要があります.これらは,アカウント登録後に取得可能です.

実際のデータ送信処理は,`ambient.set()`および`ambient.send()`関数を使用します.`set()`関数で送信するデータを設定し,`send()`関数で実際にサーバへ送信します.データはチャネル1に保存され,ブラウザを通じてグラフ表示が可能です.

このように,自作IoTエッジ・デバイスは,環境データを効率的に収集・送信できる強力なツールになります.さらに,Wi-Fi経由でのリアルタイムデータの送信は,広範な適用分野をもち,さまざまなIoTプロジェクトに応用可能です.

エッジ・コンピューティングとIoTの未来

エッジ・コンピューティングは,クラウドとエッジ・デバイスの間に位置する新たなコンピューティング・パラダイムとして,IoTの発展において不可欠な要素となっています.従来,データはすべてクラウドに送信され,そこで処理されるのが一般的でした.しかし,データ量が増大し,リアルタイム性が求められる中,エッジでのデータ処理が注目されています.

エッジ・コンピューティングの利点は,データのローカル処理により,応答時間を短縮できる点です.特に,環境モニタリングや工場のオートメーションなど,リアルタイムでのデータ処理が必要なアプリケーションにおいては,クラウドに依存しない迅速なデータ処理が求められます.

さらに,エッジ・デバイスは,データのプライバシー保護にも寄与します.センシティブなデータをクラウドに送信せず,エッジで処理することで,セキュリティリスクを軽減できます.これは,医療データや個人情報を扱うアプリケーションにおいて特に重要です.

今回紹介したSTMマイコンとESPマイコンを利用したIoTエッジ・デバイスは,エッジ・コンピューティングのよい例です.デバイス自体がデータを処理し,その結果だけをクラウドに送信することで,効率的なデータ管理が可能になります.また,必要に応じてデバイスが自律的に動作するため,ネットワークの遅延や障害に強いシステムを構築できます.

これからのIoTシステムにおいて,エッジ・コンピューティングはますます重要な役割を果たすでしょう.技術の進化とともに,エッジ・デバイスの能力も向上し,より複雑で高度な処理がエッジで実行可能になることが期待されます.これにより,よりスマートで効率的なIoTソリューションが実現され,社会のさまざまな分野で革新が進むことでしょう.〈ZEPマガジン〉

動画を見る

著者紹介

  • 1977年~2008年 NECで中大型コンピュータの装置開発
  • 2009年 NECラーニングで組み込み研修講師
  • 就労移行支援ベルーフで職業訓練(IT)講師,現在に至る

著書

  1. [VOD/KIT]STM32マイコン&Wi-Fiモジュールで学ぶ C/C++プログラミング入門,CQ出版社.
  2. [VOD/KIT]Python×実習キット×スマホでできる!ESP32マイコン活用術,CQ出版社.
  3. [VOD/KIT]M5Stack Core2付き!ESP32で学ぶPython&Arduinoプログラミング入門,CQ出版社.
  4. mbed×デバッガ!一枚二役ARMマイコン基板,CQ出版社
  5. ARM32ビット・マイコン電子工作キット ブレッドボードで気軽に始めよう,CQ出版社.
  6. 絵解き マイコンCプログラミング教科書,CQ出版社.
  7. 連載,子供向け1500円パソコン IchigoJam誕生,トランジスタ技術, CQ出版社.

参考文献

  1. [VOD/Pi KIT]ラズベリー・パイで学ぶLinux&Pythonプログラミング超入門,ZEPエンジニアリング株式会社.
  2. [VOD/KIT]実習キットでできる!ラズパイPicoでマイコン入門,ZEPエンジニアリング株式会社.
  3. [VOD/KIT]実習キットでできる!ラズパイPico×Wi-FiモジュールでIoT超入門,ZEPエンジニアリング株式会社.
  4. [VOD/KIT]一緒に動かそう!Lチカから始めるFPGA開発【基礎編】,ZEPエンジニアリング株式会社.
  5. [VOD/KIT]M5Stackで一緒に作ろう!IoTセンシング・エッジ×クラウド連携システム開発[改訂版],ZEPエンジニアリング株式会社.
  6. ラズベリー・パイ Picoマイコン入門 C言語開発環境の構築 ,ZEPエンジニアリング株式会社.