長時間動作&低消費IoT開発のためのWiFiマイコン活用


タイマによる割り込み処理で,動きを必要最小限に

センサ値読取りとOLED表示を3秒周期で,Ambient送信とグラフ化を1分周期で

図1 小型軽量化が求められるIoTエッジは小容量電池で動き続ける必要がある.マイコンの消費電力を極限まで小さく抑えるために,タイマによる割り込み処理は必要条件だ.[著・提供]後閑 哲也.画像クリックで動画を見る.または記事を読む..詳細は[VOD/KIT/Book]ラズパイPico W×ChatGPT APIで学ぶ 会話型IoTエッジ開発 超入門

Wi-Fiマイコンでクラウドと周期通信

Wi-Fi対応マイコンを使ったIoTシステムでは,センサ・データの周期的な取得と,クラウド・サービスへの送信が重要な役割を果たします.

1.タイマの役割と割り込み処理

システムの安定動作には周期的なタイミング管理が不可欠です.Pico Wは,内部の64ビット・カウンタを用いて1μs周期でカウントし,各タイマが割り込み処理を発動することができます. この機能を利用して次のタスクは実現します.

  1. 3秒周期:温湿度センサ(BME280)からデータ取得し,有機EL表示器(OLED)へ表示
  2. 1分周期:データをクラウド「Ambient」へ送信し,リアルタイムでグラフ化

タイマの割り込み処理により,センサ・データ取得と表示が同じ3秒周期で同期され,Wi-Fi通信は1分間隔で行われます.こうすることでシステム負荷を抑え,安定した運用が可能です.

2.クラウド・サービス「Ambient」の利用とメリット

Ambientは,IoT向けクラウド・サービスで,取得したデータをリアルタイムで可視化できます.登録は無料で,最大8チャネルのデータを管理可能です.各チャネルごとにグラフを設定し,温度や湿度の変動を直感的に理解できる点が特徴です.

  1. 送信データ形式:JSON形式(例:`{"d1": "25.5", "d2": "1023", "d3": "60"}`)
  2. 送信周期:1分間隔以上(短い送信間隔ではデータが無視される可能性あり)

データはHTTP POSTリクエストで送信し,チャネルごとに設定された「ライト・キー」を使って認証します.これにより,センサ・データのグラフ化や,リアルタイム監視がスムーズに行えます.

3.温湿度センサと表示器の連携

紹介するIoTエッジは,BME280センサを使用して気圧,温度,湿度を取得します.このデータは,I$^2$C通信を介して有機EL表示器(SSD1306ドライバ搭載)に3秒ごとに表示されます.次のフォーマットで画面に出力します.

``` Room Environment Pres= 1023 hPa Temp= 24.5 DegC Humi= 56.3 %RH ```

このように数値データを整理して表示することで,使用者は環境の変化を即座に把握できるようになります.

タイマベースの制御で実現する効率的なシステム

3つのタイマを活用することで,デバイスの処理効率が向上し,無駄のないタスク管理が実現します.

例えば,3秒間隔のタイマがOLEDへの表示更新とセンサ・データ取得を同時に管理し,余計な遅延を防ぎます.一方で,1分ごとのWi-Fi通信はAmbientサーバへの負荷を最小限に抑えながら,必要なデータを確実に送信します.

このようなマイコン制御は,周期的なタスクが多いIoTシステムに非常に適しています.

周期通信とタイマ割り込みの要点

1.ハードウェア・タイマとソフトウェア・タイマの違い

Pico Wの内部タイマはハードウェア・タイマを基盤とし,これを利用してソフトウェア・タイマを無制限に生成できます.これにより,タスクごとの周期割り込みが柔軟に設定可能です.例えば,`3秒`や`1分`といった異なる周期を正確に扱えます.

2. Wi-Fi通信のステーション・モード

マイコンをWi-Fiネットワークに接続するには,ステーション・モードが利用されます.`wlan.connect()`関数でアクセス・ポイントに接続し,通信が安定するまでループ処理で待機します.この接続が確立されると,Ambientへのデータ送信が可能になります.

3.I$^2$C通信の役割

温湿度センサ(BME280)と表示器(OLED)はどちらもI$^2$Cバスで接続され,共通の通信経路を使用します.これにより,複数デバイスとの通信がシンプルに実装できます.

このようなシステム構成により,周期的なデータ取得・表示・クラウド送信が効果的に実現されます.ラズベリー・パイ Pico Wのような低消費電力のマイコンを活用することで,IoTシステムの構築がより簡単かつ効率的になります.〈著:ZEPマガジン〉

動画を見る,または記事を読む

著者紹介

  • 1971年 東北大学 工学部卒 大手通信機メーカにて制御機器開発に従事
  • 1996年 ホームページ「電子工作の実験室」を開設
  • 2003年 有限会社マイクロチップ・デザインラボ設立 代表取締役 計測制御システムコンサルタント,書籍執筆 セミナ講師
  • 2012年 神奈川工科大学 工学部 客員教授

著書

  1. [VOD/KIT]PICマイコン オールイン1日学習キット ,ZEPエンジニアリング株式会社.
  2. [VOD/Pi KIT]ラズベリー・パイで学ぶLinux&Pythonプログラミング超入門,ZEPエンジニアリング株式会社.
  3. [VOD/Pi KIT]ラズパイ×Node-REDで作ろう!IoTアプリ開発入門,ZEPエンジニアリング株式会社.
  4. 電子工作のための PIC16F1ファミリ活用ガイドブック,技術評論社.

参考文献

  1. [VOD/KIT]STM32マイコン&Wi-Fiモジュールで学ぶ C/C++プログラミング入門,ZEPエンジニアリング株式会社.
  2. [VOD/KIT]M5Stack Core2付き!ESP32で学ぶPython&Arduinoプログラミング入門,ZEPエンジニアリング株式会社.
  3. [VOD/KIT]STM32マイコン&Wi-Fiモジュールで学ぶ C/C++プログラミング入門,ZEPエンジニアリング株式会社.
  4. [VOD/KIT]M5Stackで一緒に作ろう!IoTセンシング・エッジ×クラウド連携システム開発[改訂版],ZEPエンジニアリング株式会社.
  5. [VOD/KIT]実習キットでできる!ラズパイPicoでマイコン入門,ZEPエンジニアリング株式会社.
  6. [VOD/KIT]LabVIEW×Arduino!初めてのパソコン計測&制御【改訂版】,ZEPエンジニアリング株式会社.