Softbank 4G LTE回線に対応したIchigoSoda(基板裏面に要sakura.io LTEモジュール・別売り)を乾電池で動かす方法について説明します。
電源やWi-Fiの確保が難しい場所に設置することが出来るので、ポスト内の郵便物検知やガレージのシャッター開閉状態検知、納屋の人感センサ検知、屋外公衆トイレの使用状態検知、イノシシ捕獲機の扉の状態検知などに応用できるでしょう。
とくに本記事のポイントとなる節電制御は、乾電池駆動や、太陽電池と鉛蓄電池などを使ったシステムに欠かせない方法です。IchigoJam BASICであれば、節電制御が標準サポートされているので、簡単に実現することが出来ます。
IchigoSoda + sakura.io LTEモジュール(基板裏面に装着)を乾電池で動かしてみた。タクトスイッチの状態が変化したときに、スイッチ状態をLTE送信することが出来る。
目次
実現には節電制御が必要
モバイルインターネット回線を利用した通信モジュールは、消費電力が大きいので、乾電池で長時間稼働させることが難しいという課題があります。このため、動作が不要なときに機能を停止(スリープ)制御することで、節電を行う方法が、一般的に用いられています。
本ブログでは、以下の2つの節電方式を実現する方法について、紹介します。
- ワンショット節電駆動方式(プログラム名:SAKURA IoT TX Ino 44 1)
IchigoSoda上のタクトスイッチSW2を押す(BTN信号をLレベルにする)ことで、IchigoJam BASICを起動し、sakura.ioモジュールからLTE送信する。状態が変化しても、すぐに戻る利用形態に適しており、IoT押しボタンや、IoT人感センサなどへの応用が可能。節電効果は高い。
- サイクリック節電駆動方式(プログラム名:SAKURA IoT TX Ino 44 2)
5秒ごとにタクトスイッチSW2の状態を確認し、状態が変化したときに、sakura.ioモジュールからLTE送信する。状態が5秒以上継続する利用形態に適しており、IoTドア状態センサ、窓状態センサ、トイレ使用状態センサ、イノシシ捕獲センサなどへの応用が可能。節電効果は方式1よりも数割劣る。
なお、sakura.ioモジュールの電源を切るので、送信を行うたびに、モジュール起動と回線接続を行う必要があります。起動には約1分を要するので、センサによる検出後LTE送信を行うまでに、約1分の遅延時間が生じます。
1. ワンショット節電駆動方式
IchigoSoda上のタクトスイッチSW2を押すと、LTE送信を行い、送信後にsakura.io LTEモジュールの電源を切る節電制御に対応したIoT機器を製作します。以下に、節電手順を示します。
予めプログラムをIchigoJam BASICのファイル番号0に保存しておき、IchigoSodaのタクトスイッチSW2を押下したまま、電源スイッチSW1をONにして、プログラムを自動起動します。
自動起動したプログラムは、sakura.io LTEモジュールを起動してからLTE送信を行います。LTEモジュールを起動するには約1分の時間を要します。
送信後、LTEモジュールの電源を切り、IchigoJamをSLEEPコマンドで停止させ、BTN信号を待ち受ける節電状態にします。
1-1. IchigoSoda によるsakura.io LTEモジュールの電源制御
IchigoSodaには、LTEモジュールの電源を制御するための回路が搭載されています。基板上のWAKEスイッチ(下図)を左側にスライドしておくこと、IchigoJam BASICコマンドの「OUT 8,0」でLTEの電源をOFF、「OUT 8,1」で電源をONにすることができます。
OUT 8,0 :’ LTE OFFOUT 8,1 :’ LTE ON
しかし、現行バージョン(SCO-ICG-02-A)のIchigoSodaの回路には、不具合があり、少し、改造が必要です。(※この改造を行うと、OUT 8,1を実行しなければ、sakura.io LTEの電源が入らなくなります。)
次節のサイクリック節電は、改造しなくても動かせるので、改造したくない人は、後半へ、進んでください。
改造方法は、WAKEスイッチのすぐ下にある抵抗器R4を取り外すだけです。ただし、部品が小さいので、ハンダ付けに慣れていない人には、少し難しいです。
はじめに抵抗の両端子へハンダを盛ってから、こて先の細い2本の半田ごてで両端子を挟み込んで持ち上げると、比較的、簡単に取り外すことが出来ます。利き手で無い方の手のコントロールが意外と難しいかもしれません。ハンダ付けに慣れている方であれば、こて先が2mm以上の半田ごてを使って、両端子を同時に熱したり、手早く両端子を交互に熱したりして、取り外すことも出来るでしょう。
IchigoSoda上の抵抗器R4を取り外したときの様子。部品が小さいので、作業に注意する。
他にも、電源表示用のPower LED (LED 2)でも8mWほどの電力を消費しています。抵抗R19を取り外すことで、節電することが出来ます。ただし、電源をONにしたときに、Power LEDが点灯しなくなります。
省エネ用のハードウェア改造まとめ
- WAKE信号の電圧変換回路部・プルアップ抵抗(R4・1kΩ)の取り外し
取り外す理由:IchigoJamがSLEEPしたときにsakura.ioモジュールがONしてしまう(不具合)
省エネ効果:17 mW (3.3mA×5V) + sakura.ioモジュールの消費電力- Power LED部の電流制限抵抗(R19・1kΩ)の取り外し
取り外す理由:LED動作による消費電力の削減
省エネ効果:8 mW (2mA×3.8V)
1-2. IchigoJam BASIC用プログラム SAKURA IoT TX Ino 44 1
キーボードを接続する場合は、必ず、アルカリ電池を取り外し、電源用USB端子から5Vの電源を供給してください。新品の単3アルカリ乾電池の初期電圧は1本あたり約2V程度あり、直列4本だと7V以上になります。IchigoSodaは7Vでも動作しますが、キーボードが故障する場合があります。
方式1のワンショット節電駆動方式のプログラムを以下に示します。プログラムを入力または転送後、「SAVE 0」でファイル番号0へ保存してください。行番号4のS=1は、節電動作の設定です。S=0で節電しない動作になります。
節電動作時はテレビ表示が消えます。プログラムを停止させるときはESCキーを押したまま、タクトスイッチSW2(BTN)を押し、タクトスイッチだけを離します。ESCキーは停止が確認できるまで押したままにしてください。
new
1 cls:?”SAKURA IoT TX Ino 44 1
2 ?”CC BY Wataru Kunino
3 ?”ボタン/センサ ニュウリョク BTN
4 S=1:?”ショウデンリョク S=”;S100 @MAIN
110 B=btn()120 if inkey() cont200 @ON
210 out 8,1
220 poke #880,1,0,1,0,0,0,0
230 I=!i2cr(#4F,#880,3,#884,3)
240 ?”Status I2C=”;I;
250 if I I=(peek(#886)=#80)
260 ?” LTE=”;I
270 if I goto @TX
280 gsb @SLP
290 goto @ON300 @TX
310 poke #880,#21,#A,1,73,B,0,0
320 poke #887,0,0,0,0,0,B^#63
330 ?”LTE_Send=”;B;” “;
340 I=i2cw(#4F,#880,13)
350 if I ?”ERR”:goto @MAIN
360 ?”OK”:gsb @SLP400 @OFF
410 out 8,0
420 if btn() gsb @SLP:cont
430 if S sleep440 end500 @SLP
510 led 0:wait 300,!S:led 1
520 rtn
動作確認が完了したら、電源スイッチSW1をOFFにし、キーボードを外してから、直列4本の単3アルカリ乾電池を接続します。IchigoSodaのCN5のGND端子に乾電池のマイナス側を、5.0V端子に乾電池のプラス側を接続してください。
2.サイクリック節電駆動方式
こんどは、5秒間隔でBTN信号を確認し、変化があれば、LTE送信を行うサイクリック節電駆動方式です。BTN信号の状態を5秒ごとにしか確認しないので、タクトスイッチSW2を、5秒以上、押し続ける必要があります。例えば、ドアセンサ(リードスイッチ)のように、変化後の状態が、一定時間、継続する用途向けです。
2-1. サイクリック節電駆動方式のハードウェア
サイクリック節電のプログラムは、前述のハードウェアの改造をしなくても動作します。しかし、IchigoSodaの回路の不具合で消費電力が3倍くらいに増えます。一方、ハードウェアの改造を行った場合は、ワンショット駆動に比べて、2割程度の消費電力増にとどまります。
送信頻度や条件に左右されますが、未改造で1週間程度、改造品で1か月程度の動作が期待できるでしょう(執筆時は未確認・試算値)。
改造なし:ワンショット駆動に比べて、消費電力が約3倍(1週間程度の動作)改造あり:ワンショット駆動に比べて、消費電力が約1.2倍(1か月程度の動作)
2-2. IchigoJam BASIC用プログラム SAKURA IoT TX Ino 44 2
プログラムを以下に示します。キーボード接続時は、乾電池ではなく、USBから5Vを供給してください。
5行目のT=24は、変化時の送信に加えて、定期送信を行うための設定です。この設定は、Kunio Sakurai様からの提案で追加しました。T=24だと24時間ごとに、センサの値とは無関係に、送信を行います。最大値はT=45の45時間です。T=6のように小さくすると、送信頻度が増し、電池の持ち時間が短くなります。なお、時間は正確ではありません。
new
1 cls:?”SAKURA IoT TX Ino 44 2
2 ?”CC BY Wataru Kunino
3 ?”ボタン/センサ ニュウリョク BTN
4 S=1:?”ショウデンリョク S=”;S
5 T=24:?”ソウシン カンカク T=”;T;”ジカン”10 ‘ショキカ
20 T=T*720:C=0100 @MAIN
110 B=btn()
120 if inkey() cont
130 if A<>B goto @ON
140 gsb @SLP
150 out 8,0
160 C=C+1:if C>T C=0:goto @ON
170 goto @MAIN200 @ON
210 out 8,1
220 poke #880,1,0,1,0,0,0,0
230 I=!i2cr(#4F,#880,3,#884,3)
240 ?”Status I2C=”;I;
250 if I I=(peek(#886)=#80)
260 ?” LTE=”;I
270 if I goto @TX
280 gsb @SLP
290 goto @ON300 @TX
310 poke #880,#21,#A,1,73,B,0,0
320 poke #887,0,0,0,0,0,B^#63
330 ?”LTE_Send=”;B;” “;
340 I=i2cw(#4F,#880,13)
350 if I ?”ERR”:goto @MAIN
360 A=B:?”OK”:gsb @SLP
370 goto @MAIN500 @SLP
510 led 0:wait 300,!S:led 1
520 rtn
関連情報
以下で、IchigoSodaの接続方法に関する詳しい解説を行っています。本記事で不明な部分や、sakura.io側での動作確認方法については、下記のウェブページと確認ツールをご参照・ご利用ください。
IchigoSoda / sakura.io の接続方法:Websocket 確認ツール Message IoT:Websocket 確認ツール Message IoT Token保存機能つき:
考察
sakura.io LTEモジュールを停止することによる有効性は、確認するまでもなく明らかです。しかし、紹介した2つのプログラムでは、sakura.io LTEモジュールの起動待ち中の約1分間に、IchigoJam側をサイクリック節電駆動させています。この部分の有効性は、動作条件によって変化するので、本製作条件における試算を行い、確認しました。
sakura.io LTEモジュールの起動待ち中、サイクリック節電により、約15mAの消費電流を削減することが出来ます。これは、900mA秒のエネルギー削減に相当します。
一方で、5秒間隔で確認を行うため、実際にsakura.io LTEモジュールの起動が完了してから最大5秒間、平均2.5秒の検出遅延が発生します。平均遅延時のエネルギーは約150mA秒です。
以上から、これらの差の750mA秒のエネルギー削減が可能であり、LTEモジュールの起動待ち時間のサイクリック節電動作が有効であることが分かりました。
参考(IchigoJam スリープ方法・省電力動作・消費電流)
むすび
IoTセンサに欠かせない節電駆動機能が標準サポートされている IchigoJam BASICを使うことで、乾電池による長時間駆動を簡単に実現できることが分かりました。
実現性を示した本記事が、IchigoJam×sakura.ioの発展に少しでも貢献できれば、幸いです。
本記事は、Kunio Sakurai様からのご意見をもとに、作成しました。状況を詳しく説明していただいたおかげで、実現場での使用状況を知ることが出来ました。パソコンに不慣れなご様子だったので、ご意見の入力や確認にも多くの時間を割いていただきました。厚く御礼申し上げます。
by ボクにもわかるIchigoJam用マイコンボード
ボクにもわかる IchigoJam用 IchigoSoda / sakura.io の接続方法 (bokunimo.net)
「モバイルLTE対応 IchigoSoda を節電して乾電池による長時間稼働」への1件の返信
[…] https://bokunimo.net/blog/ichigojam/27/ […]