バッテリー駆動のセンサーノードを設計する
スリープ、サンプリング、送信を繰り返します。
「バッテリー駆動のセンサーノードを設計する」はCoddyKit上の無料Arduino & IoT Academyレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはArduino & IoT Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Arduino & IoT Academyコースには全4レッスンが含まれています。
スリープするセンサーループ
長時間稼働するセンサーノードは、スリープ、短時間の起動、値の取得、送信、そして再びスリープというリズムで動作します。寿命の大半は休んで過ごします。🌙
起動中の時間にはコストがかかる
起動している間は、毎秒、多くの電流を消費します。基本原則は、起動時間を可能な限り短くして、すぐにスリープすることです。
すばやく接続して、すぐ切断する
WiFiは消費電力が最も大きいため、必要なときだけ接続し、データをすばやく送信して、スリープに戻る前に切断します。
適切な間隔を選ぶ
起動する頻度がバッテリー寿命を決めます。15分という間隔で報告するノードは、毎秒報告するノードよりもはるかに長く動作します。
setupですべての処理を行う
ディープスリープではチップが再起動するため、すべての処理はsetupに記述します。loopは空のままで、毎回、起動処理全体が1サイクルになります。
void setup(){ /* sample, send, sleep */ }
void loop(){}最初にセンサーを読み取る
起動したらすぐにセンサーの電源を入れて、値を読み取ります。早い段階で値を取得すれば、起動中の残りの時間は送信とスリープだけに使えます。
float temp = readSensor();読み取った値を送信する
MQTTまたは短いHTTPのPOSTを使って、WiFi経由で値を送信します。軽量なメッセージなら、無線をオンにする時間を最短にできます。
client.publish("home/temp", String(temp).c_str());その後、再びスリープする
データを送信したら、タイマーを設定してディープスリープを呼び出します。次の予定された起動まで、ノードはマイクロアンペア単位の消費電流で停止します。
esp_sleep_enable_timer_wakeup(900*1000000);
esp_deep_sleep_start();アイドル状態のハードウェアによる消費を減らす
低リークのレギュレーターを搭載したボードを選び、常時点灯する電源LEDを取り外します。これにより、スリープ中の貴重な数マイクロアンペアを削減できます。
バッテリー電圧も送信する
読み取るたびにバッテリー電圧も報告します。この値があれば、セルが切れる前に知らせてくれるため、間に合うように交換できます。
寿命を見積もる
短時間の起動中に流れる電流と、長時間のスリープ中に流れる電流を平均し、容量をその平均値で割ります。これで、何か月稼働できるかを予測できます。
クイックチェック
バッテリーノードの基本的な考え方を確認してください。
まとめ:スリープ、取得、送信
バッテリーノードはsetupで処理を行い、値を読み取り、すばやく送信してからディープスリープします。適切な間隔を選び、アイドル時の消費を減らせば、数か月間稼働できます。🔋
よくある質問
「バッテリー駆動のセンサーノードを設計する」レッスンは無料ですか?
はい。「バッテリー駆動のセンサーノードを設計する」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Arduino & IoT Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Arduino & IoT Academyコースには全4レッスンが含まれています。
「バッテリー駆動のセンサーノードを設計する」で何を学びますか?
スリープ、サンプリング、送信を繰り返します。 ブラウザで直接実行するハンズオンコードでArduino & IoT Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Arduino & IoT Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのArduino & IoT Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。
「バッテリー駆動のセンサーノードを設計する」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このArduino & IoT Academyレッスンでコードを書いて実行できますか?
はい。すべてのArduino & IoT Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- 電力の消費先を調べる
- ESPをディープスリープにする
- タイマーまたはピンで復帰する
- バッテリー駆動のセンサーノードを設計する