先日報告したHOILogですが、飛行練習会で使ってみると幾つか問題点が見えてきました。
一番問題なのはGoogleドライブにアップロードする時にリトライが発生した場合。自宅の無線環境だとリトライする事はほぼありませんが、スマホのテザリング経由だと(電波状況にもよると思うけど)頻繁にリトライが発生し、リトライしていてもGoogleドライブには届いている事も多く、複数回のログがアップロードされてしまいます。
Googleドライブ側はこちらの仕組みを使っていますが仕組み的にリトライが発生するとそのまま全部が残ってしまいます。リトライになること自体はネットの都合なので対応が厳しく、きちんと対策するにはGoogleドライブ上のスクリプトを変更していく必要があると思います。
一方SDカードには安定してログが残るので、当面はこっちを主に使いたいと思います。。。が、これまでSDカードには時刻ぐらいしか記録していなかったので、今回機体名や場所を残す様に変更しました。
SDカードに残すログのフォーマット:
右から時刻、飛行場所、機体名、離陸か着陸か、アップロードしたか、その場合のリトライ回数 を示します。
例:
2023-03-19 22:34:15,KUMAMOTO,Mobula6,TakeOff,Upload success,1
2023-03-19 22:34:25,KUMAMOTO,Mobula6,Landing,Upload success,1
2023-03-19 22:34:36,KUMAMOTO,Mobula6,TakeOff,Upload success,1
2023-03-19 22:34:45,KUMAMOTO,Mobula6,Landing,Upload success,1
あとコンフィグファイルのデータ中にスペース文字があった場合にスペースを消してしまっていたのを修正しました。
試しに飛行場所にスペースを1文字入れ「KUMA MOTO」にしてみたのが以下の結果です。。。
2023-03-21 23:58:14,KUMA MOTO,Mobula6,TakeOff,Upload success,1
2023-03-21 23:58:23,KUMA MOTO,Mobula6,Landing,Upload success,1
ついでに飛行場所に日本語を使うとどうなるか実験しました。
飛行場所を日本語(文字コード:UTF-8)で書いたところ、液晶画面には正常に表示できませんがSDカードとGoogleドライブ、どちらのログにも正しく記録されています。
2023-03-19 22:38:15,熊本県合志市,Mobula6,TakeOff,Upload success,1
2023-03-19 22:38:30,熊本県合志市,Mobula6,Landing,Upload success,1
なおM5Stackには液晶画面に日本語を表示させる方法もある様なので、そのうち試そうと思います。
以上を修正したスケッチをここに載せました。
→http://www.hoihoido.com/data/HOILog20230323.zip