高知組み込み会 #8「ESP32の何か」 @高知工科大学 永国寺キャンパス 地域連携棟4階 会議室 https://kochi-embedded-meeting.connpass.com/event/336709/ ESP32で構築するLTE-M通信対応の 電池駆動型IoTデバイス SORACOM UG 須佐美俊和 2025/01/17
自己紹介 2
目次 1. 背景と目的 2. デバイスの設計 1. どのLTE-M対応通信モジュールを選ぶか? 2. どのマイコンを選ぶか? 3. どのように電池仕様を決めるか? 4. どのように通信モジュールの待機電流を抑えるか? 5. どのセンサーでわな作動を捉えるか? 3. ネットワークの設計 1. どのLTE-M対応IoT SIMを選ぶか? 2. どのように通信エラーを判断するか? 4. クラウドの設計 1. どのように通知を実現するか? 5. まとめ 3
目次 1. 背景と目的 2. デバイスの設計 1. どのLTE-M対応通信モジュールを選ぶか? 2. どのマイコンを選ぶか? 3. どのように電池仕様を決めるか? 4. どのように通信モジュールの待機電流を抑えるか? 5. どのセンサーでわな作動を捉えるか? 3. ネットワークの設計 1. どのLTE-M対応IoT SIMを選ぶか? 2. どのように通信エラーを判断するか? 4. クラウドの設計 1. どのように通知を実現するか? 5. まとめ 4
ジビエハンターの友人からの依頼 わな作動時にスマホに 通知がくるようできな いか? 5
現状、SORACOM LTE-M Button PlusでIoT化 • しかし、電波環境が悪いと通信できない等の課題も・・・ • NTTドコモで通信できないか? • わなが作動したら、複数回通信トライするようにできないか? わな作動通知システムの製作事例、九州農政局農村振興部農村環境課 https://electronic.tousekice.com/wp-content/uploads/2022/01/wana_tsu-6.pdf 6
IoTを用いたわな作動通知システムを作りたい! クラウド ネットワーク 電池駆動型 IoTデバイス 7
目次 1. 背景と目的 2. デバイスの設計 1. どのLTE-M対応通信モジュールを選ぶか? 2. どのマイコンを選ぶか? 3. どのように電池仕様を決めるか? 4. どのように通信モジュールの待機電流を抑えるか? 5. どのセンサーでわな作動を捉えるか? 3. ネットワークの設計 1. どのLTE-M対応IoT SIMを選ぶか? 2. どのように通信エラーを判断するか? 4. クラウドの設計 1. どのように通知を実現するか? 5. まとめ 8
M5Stamp SIM7080G搭載 CAT-Mモジュール • Grove端子無し。組み込みに良さげ 9
SIM7080G CAT-M/NB-IOT UNIT • Grove接続でLTE-M通信可能。microSIMであることに注意 10
Lilygo T-SIM7080G-S3 • ESP32-S3とSIM7080Gが一体 • リチウムイオンバッテリーホルダーやmicorSDスロットも搭載されている 11
SONY Spresense LTE拡張ボード • SONY Spresense LTE拡張ボード(左側)とSONY Spresense (右側)を重ねることで、 LTE-M通信が可能 12
Wio BG770A • マイコンと、通信モジュールと、Groveシールドが一体!しかも省電力性能高い • 別途研究中(https://note.com/susa_lab/m/m2207f165ba87) 13
どのLTE-M対応通信モジュールを選ぶか? M5Stamp CAT-M モジュール (SIM7080G) M5Stack CAT-M Unit (SIM7080G) Lilygo T-SIM7080GS3 SONY Spresense LTE拡張ボード Wio BG770A 省電力性能 マイコンと の接続性 入手性 価格 総合評価 ◎ △ ◎ ◯ ◯ マイコン 配線要 スイッチサイエンス 約7000円 コスト重視 など +マイコン 次第 ✕〜△ ◯ ✕〜△ ◯ マイコン Grove マルツなど 約7500円 本家在庫切れ +マイコン 次第 ✕〜△ ◎ △〜◯ ◎ 不明 マイコン 東京ラジオ 約6200円 一体 デパートなど ✕〜△ ◎ ◎ △ mA 重ねるだけ 秋月電子 約16500円 通商など *マイコン代含む オーダー △ △ △ ◎ ◎ ◎ △ ◎ 75μA マイコン SORACOM 約15000円 使いやすさ 一体 重視 14
SIM7080G搭載CAT-Mユニット 登壇後に追加 • XMAKERSさんが作ったM5Stamp SIM7080G搭載 CAT-MモジュールをGrove端子で接 続できるようにした商品。SIM7080G CAT-M/NB-IOT UNITはGrove端子付きだが、在 庫が安定しないので、こちらの選択肢も。 15
目次 1. 背景と目的 2. デバイスの設計 1. どのLTE-M対応通信モジュールを選ぶか? 2. どのマイコンを選ぶか? 3. どのように電池仕様を決めるか? 4. どのように通信モジュールの待機電流を抑えるか? 5. どのセンサーでわな作動を捉えるか? 3. ネットワークの設計 1. どのLTE-M対応IoT SIMを選ぶか? 2. どのように通信エラーを判断するか? 4. クラウドの設計 1. どのように通知を実現するか? 5. まとめ 16
◎教えて下さい ・M5Stack系で省電力性能が優れた マイコンは無いか? どのマイコンを選ぶか? Seeed Studio XIAO系 選択肢 チップ 待機時 電流 利用できる GPIOピン数 総合評価 XIAO ESP32C6 ESP32C6 15μA 11 ◎ XIAO ESP32S3 ESP32S3 14μA 11 ◎ XIAO ESP32C3 ESP32C3 44μA 11 ◯ XIAO nRF52840 nRF52840 5μA 11 ◎ *1 M5Stack系 M5NanoC6 ESP32-C6 0.00mA 2 ✕ M5Stamp S3 ESP32-S3 0.28mA 12 △ ATOMS3 ESP32-S3 0.09mA 8 ◯ *2 Raspberry Pi 系 Arduino系 Raspberry Pi Pico RP2040 1.4mA 26 ✕ Raspberry Pi Pico 2 RP2350 0.05mA 26 ◯ *2,3 Arduino Uno R3 ATmega328P 数10mA 20 ✕ Arduino Uno R4 Renesas RA4M1 ? 20 ✕? *1 称呼値 https://wiki.seeedstudio.com/SeeedStudio_XIAO_Series_Introduction/ *2 実験値 https://sample.msr-r.net/m5nanoc6-current/#toc3 *3 実験値 https://gigazine.net/news/20240906-raspberry-pi-pico-2-power-saving/ 17
XIAOシリーズめちゃくちゃ種類がある 出典:https://www.seeedstudio.com/xiao-series-page 18
どのマイコンを選ぶか?:XIAOを深堀り XIAO ESP32C6 XIAO ESP32S3 XIAO ESP32C3 XIAO nRF52840 待機電流 入力電圧 User LED 価格*1 総合評価 ◎ △ ◯ ◎ ◎ 15μA 3.7?〜5.5V 有り 約1100円 コスパ重視 SGM6029:2.3μA SGM6029で最大 1色 ESP32C6:7μA 電圧が決まる ◎ △ ◯ ◯ △ 14μA 3.7?〜5.5V 有り 約1500円 SGM6029:2.3μA SGM6029で最大 1色 ESP32S3:7μA 電圧が決まる ◯ ◯ △ ◎ ◯ 44μA 3.7?〜6.0V 無し 約1100円 6Vが魅力なら XC6210:35μA XC6210で最大 ESP32C3:5μA 電圧が決まる ◎◎ △ ◎ △ ◎ 5μA 3.7?〜5.5V 有り 約2200円 待機電流重視 nRF52840:0.3μA これ 3色 *1 2025/01/16時点のスイッチサイエンスでの販売価格を10の位で四捨五入(税込み) 処理能力高い 19
目次 1. 背景と目的 2. デバイスの設計 1. どのLTE-M対応通信モジュールを選ぶか? 2. どのマイコンを選ぶか? 3. どのように電池仕様を決めるか? 4. どのように通信モジュールの待機電流を抑えるか? 5. どのセンサーでわな作動を捉えるか? 3. ネットワークの設計 1. どのLTE-M対応IoT SIMを選ぶか? 2. どのように通信エラーを判断するか? 4. クラウドの設計 1. どのように通知を実現するか? 5. まとめ 20
アルカリ電池とニッケル水素電池の電圧特性を知る • アルカリ電池 :初期1.6V、使用時約1.2V、終止1.0V • ニッケル水素電池:初期1.5V、使用時約1.3V、終止1.0V ニッケル水素 電池 アルカリ 電池 出典:http://www.kansai-event.com/kinomayoi/battery2/alkaline2.html 21
アルカリかニッケル水素か? 3本か4本か? アルカリ電池 3本 アルカリ電池 4本 ニッケル水素電池 3本 ニッケル水素電池 4本 登壇後16340 電池も良い のでは、耐寒性も注意、 という意見を頂きました。 初期電圧 定常時電圧 評価 ◎ △ △ 4.8V 3.6V 定常時が微妙 ✕ ◎ ✕ 6.4V 4.8V これはNG ◎ ◎ ◎ 4.5V 3.9V これが安心 △ ◎ △ 6.0V 5.2V 初期電圧が不安 XIAO ESP32C3なら◎ XIAO ESP32C3なら◎ *アルカリ電池 :初期1.6V、定常1.2V、ニッケル水素電池:初期1.5V、定常1.3Vと仮定して試算 22
目次 1. 背景と目的 2. デバイスの設計 1. どのLTE-M対応通信モジュールを選ぶか? 2. どのマイコンを選ぶか? 3. どのように電池仕様を決めるか? 4. どのように通信モジュールの待機電流を抑えるか? 5. どのセンサーでわな作動を捉えるか? 3. ネットワークの設計 1. どのLTE-M対応IoT SIMを選ぶか? 2. どのように通信エラーを判断するか? 4. クラウドの設計 1. どのように通知を実現するか? 5. まとめ 23
DCDCのENピンを制御して電源を遮断する • 5V出力昇圧DCDCコンバータのENピンを0Vにすることで、DCDCの出力電圧を0Vに できる 出典:https://akizukidenshi.com/catalog/g/g115097/ 24
フォトリレーで電源を遮断する • フォトリレーの1〜2ピン間に、適切な電流を流すと、3〜4ピン間のスイッチが繋 がり、電池電圧が通信モジュールに供給される 出典:https://akizukidenshi.com/catalog/g/g107330/ ※25/1/17現在在庫限りとなっている 25
PSMモードで通信モジュールを動かす • PSMモードで低消費電力化できる? ◎教えて下さい ・XIAO x SIM7080G x PSMで省電力化できる? ・SIM7080Gモジュールは最低何Vで動く? 26
どのように通信モジュールの待機電流を抑えるか? 5V出力 昇圧DCDC コンバータ 電池電圧低下 時の通信 配線の シンプルさ 費用 総合評価 ◎ △ △ ◎ DCDCで 昇圧される △ フォトリレー △ 何Vまで動く ◯ △ ¥100 か要調査 △ PSMモード ¥300 何Vまで動く ◎ ◎ △〜◎ ¥0 要試験 か要調査 27
目次 1. 背景と目的 2. デバイスの設計 1. どのLTE-M対応通信モジュールを選ぶか? 2. どのマイコンを選ぶか? 3. どのように電池仕様を決めるか? 4. どのように通信モジュールの待機電流を抑えるか? 5. どのセンサーでわな作動を捉えるか? 3. ネットワークの設計 1. どのLTE-M対応IoT SIMを選ぶか? 2. どのように通信エラーを判断するか? 4. クラウドの設計 1. どのように通知を実現するか? 5. まとめ 28
どのセンサーでわな作動を捉えるか? • 省略します。続きはWebで! • https://note.com/susa_lab/n/nc0a496e45b5e?magazine_key=mdbf3d1491064 ◎教えて下さい ・センサーが防水ケース外 に設置される場合の保護回 路設計は? 29
目次 1. 背景と目的 2. デバイスの設計 1. どのLTE-M対応通信モジュールを選ぶか? 2. どのマイコンを選ぶか? 3. どのように電池仕様を決めるか? 4. どのように通信モジュールの待機電流を抑えるか? 5. どのセンサーでわな作動を捉えるか? 3. ネットワークの設計 1. どのLTE-M対応IoT SIMを選ぶか? 2. どのように通信エラーを判断するか? 4. クラウドの設計 1. どのように通知を実現するか? 5. まとめ 30
どのLTE-M対応IoT SIMを選ぶか? グローバル plan01s グローバル plan01s LDV NTT ドコモ KDDI SoftBank 費用 *1 ◯ △ ◎ 270円/月 PSM等に SoftBankが 非対応 優先される △ ◎ PSM等に SoftBankが 非対応 優先される ✕ ◎ ✕ グローバル planX3 5MB ◎ 日本 plan-D D-300MB ◎ 日本 plan-KM1 ✕ 総合評価 *2 +3円/100KB 60円/月 +7.5円100KB 150円/月 SoftBank ならこれ ドコモな らこれ ✕ ✕ 330円/月 中容量な らこれ ◎ ✕ 110円/月 KDDIなら +0.55円/KB これ (55円/100KB) *1 150円/USDで試算 *2 通信量は小容量を想定 * 別途相互接続性試験(IOT)にも注意 31
目次 1. 背景と目的 2. デバイスの設計 1. どのLTE-M対応通信モジュールを選ぶか? 2. どのマイコンを選ぶか? 3. どのように電池仕様を決めるか? 4. どのように通信モジュールの待機電流を抑えるか? 5. どのセンサーでわな作動を捉えるか? 3. ネットワークの設計 1. どのLTE-M対応IoT SIMを選ぶか? 2. どのように通信エラーを判断するか? 4. クラウドの設計 1. どのように通知を実現するか? 5. まとめ 32
どのように通信エラーを判断するか? 確実性 通信量 レスポン スコード の設計 TCPを使う。 送信データ量と、 受信側から送ら れる受信した データ量を比較 し判断する AT+CAACK ? ○ ◎ UDPの 不要 UDPを使う。 サーバーから送 られるレスポン スコード(201な ど)で判断する AT+CARECV ? 約3倍 ◎ ○ クラウド側の サービスを変 判断基準 4 総合評価 ◎教えて下さい ・確実性はどのような評 価になるか? ・この2案の他、どのよ うな選択肢があるか? ・考慮すべき判断基準 は? ・総合評価は? えてもレスポ ンスコードの 誤検知なきよ う設計要 33
目次 1. 背景と目的 2. デバイスの設計 1. どのLTE-M対応通信モジュールを選ぶか? 2. どのマイコンを選ぶか? 3. どのように電池仕様を決めるか? 4. どのように通信モジュールの待機電流を抑えるか? 5. どのセンサーでわな作動を捉えるか? 3. ネットワークの設計 1. どのLTE-M対応IoT SIMを選ぶか? 2. どのように通信エラーを判断するか? 4. クラウドの設計 1. どのように通知を実現するか? 5. まとめ 34
どのように通知を実現するか? 現場 IoT デバイス ハンター システム管理者 endpoint 転送 通知判断 前回状態 Unified Endpoint SORACOM Funk AWS Lambda Amazon DynamoDB バッファ バッファ Amazon SQS Amazon SQS LINE通知 スプレッドシート AWS Lambda AWS Lambda ◎教えて下さい ・2025/3/31に迫ったLINE Notifyサービス終了問題 をどう解くか? 35
目次 1. 背景と目的 2. デバイスの設計 1. どのLTE-M対応通信モジュールを選ぶか? 2. どのマイコンを選ぶか? 3. どのように電池仕様を決めるか? 4. どのように通信モジュールの待機電流を抑えるか? 5. どのセンサーでわな作動を捉えるか? 3. ネットワークの設計 1. どのLTE-M対応IoT SIMを選ぶか? 2. どのように通信エラーを判断するか? 4. クラウドの設計 1. どのように通知を実現するか? 5. まとめ 36
まとめ • これまで、電池駆動型IoTデバイスには、電源制御モジュー ル(Wio Extension – RTC)を用いてきた • しかし、省電力マイコンと、DCDCコンバータを用いた通信 モジュールへの電源遮断で、電池駆動を実現できることがわ かった • XIAO ESP32C6 x SIM7080Gは、LTE-M通信対応の電池駆動型IoT デバイスの選択肢の一つではないか 37
参考 2024年1月に、週1本noteに投稿すると決め、「高知のIoT屋」と名前で、 IoT関連を中心にコツコツ書いています。 よろしければご覧ください。 https://note.com/susa_lab 38