M5Stackシリーズで駐車場の車の温度を監視したい

M5Stackシリーズで駐車場の車の温度を監視したい

August 19, 2022
M5Stack

構成 #

ATOM Lite/M5StickC —(ESP-NOW)—> ATOM U —(ESP-NOW)—> M5Stack —(WiFi)—> Webサーバ

Home Assistant(既存)がWebサーバに定期アクセスして値を取得

こんな感じで表示

バッテリでの稼働時間 #

  • 起動→温度取得→ESP-NOWで送信→ディープスリープ

M5StickC #

  • バッテリ電圧はM5.Axp.GetBatVoltage()で取得

M5StickC + ENV II Unit 1分間隔で送信 開始時4.02V → 7時間40分後 3.1Vで停止

M5StickC + ENV II Hat 15分間隔で送信 開始時4.16V → 11時間後 3.26Vで停止

センサに常時通電しているので、送信間隔を延ばすだけだとあまり稼働時間が延びない? →センサよりも本体の消費電流が支配的

ATOM Lite + 単4×3 ( 補助電池基板) #

アルカリ乾電池(EVOLTA) #

  • バッテリ電圧はGPIO33で取得
    • 電源SW OFF時 電圧4.53VのときanalogRead()値1675
    • 電圧=analogRead()値/369.75としてざっくり補正

ATOM Lite + ENV II Unit 15分間隔で送信 開始時4.11V -> 132時間(5.5日)後 2.79Vで停止 (保護用のダイオードで0.3〜0.4Vぐらい電圧降下してる?)

Ni-MH二次電池(AmazonBasics min. 800mAh) #

開始時4.11V -> 125時間後(5.2日)後 2.82Vで停止

電池が保たないのでタイマー回路を設ける #

しばらく動かしているとWiFiの接続に失敗するようになる #

E (187372448) wifi:Expected to init 4 rx buffer, actual is 0
[187364811][E][WiFiGeneric.cpp:678] wifiLowLevelInit(): esp_wifi_init 257
E (187372467) wifi:Expected to init 4 rx buffer, actual is 0
[187364829][E][WiFiGeneric.cpp:678] wifiLowLevelInit(): esp_wifi_init 257
[187364830][E][WiFiSTA.cpp:227] begin(): STA enable failed!

メモリ不足?