Open14

M5StickCでオフラインで動くロガーを作る

nabeyangnabeyang

ロガーを作る。訳合って、WiFiは使えない環境を想定。

nabeyangnabeyang

PCとシリアル通信して、M5StickCの時刻合わせするようにしたい。
時間の設定は2021-03-06 15:26:30(土)の場合、こんな感じになる。

RTC_TimeTypeDef RTC_TimeStruct;
RTC_DateTypeDef RTC_DateStruct;
RTC_DateStruct.WeekDay = 6;
RTC_DateStruct.Month = 3;
RTC_DateStruct.Date = 6;
RTC_DateStruct.Year = 2021;
M5.Rtc.SetData(&RTC_DateStruct);
    
RTC_TimeStruct.Hours   = 15;
RTC_TimeStruct.Minutes = 26;
RTC_TimeStruct.Seconds = 30;
M5.Rtc.SetTime(&RTC_TimeStruct);
nabeyangnabeyang

15分毎に測定してディープスリープして、連続稼働させてみました。1週間以上は動いているっぽいですね。

m5stickcは内部電源だけでなく、外部から電源供給しています。使用しているのは、単4電池3本の電池ソケットと1本600mAh(1.5V)の単4型リチウム電池になります。現在使用している単4リチウム電池は、現在取り扱われていない製品のため紹介はしません。
https://www.switch-science.com/catalog/5867/

m5stickcの公式の電池も、使い方によると思いますが、ほぼ同等の期間動いています(少しこっちのほうが長く動く)。
https://www.switch-science.com/catalog/6211/

nabeyangnabeyang

3/10のデータはこんな感じ。電圧計もこれは壊れてないのかな

nabeyangnabeyang

終わりの方のデータ。3.0V切ると落ちるので、電圧計は大丈夫っぽい

nabeyangnabeyang

データ吸い上げるプログラム書くか。出来れば、usb接続時のイベント(Hot Plug)を拾ってバッとデータを取りたいけど、その方法はよく分からない。windowsならC#でなら、そういうイベント拾えるのかな?ポータブルに出来るのが理想だけど(なお、自分のPCはMac)。

nabeyangnabeyang

接続すると勝手にcsvファイルをダウンロードするところまで出来た。ビューアを作って、雑でも使えるようにしたいところ。

nabeyangnabeyang

USB接続イベントでデータ取込するビューアは作れた。次はデータ取込中の画面表示を作るか。

nabeyangnabeyang

gRPCとpub/subでusbに接続、その後の処理の経過を文字列でブラウザに送ることは成功(ローカルのwebアプリで作ってる)。表示はプログレスバーみたいなので良いか。