ベランダセンサーをちょっとプログラムを変更。
昨日のアップロードチェックとからんで。このセンサーボード、2月末から稼働してますが過去2回ほどハングしてます。
それも困るので、watch dogを導入してみた。ハング時にはうまくリセットかかるかな。
「Make」一覧
今日の電子工作作戦0407
1) 水槽水温計をmbedからmicropython on ESP32に移行した。ココだけでなくabmientへのデータアップロードも対応。水温センサー部分はmbed版のを流用。ブレッドボード作成なので、ジップロックで埃よけとした。
2) ここへのデータアップロードが正しく動作してるかの確認用にスクリプトを入れた。3時間毎に起動して、直近1時間に1件もアップがないモノをリストアップして自分メール。だたこのサーバ入れてるgoogle cloud platformのgoogle compute engineでは、port25,465,58でsmtpが通りません。こないだ宅内liva用にsendgridのアカウントを作ったのでそれを利用。postfixをインスコして設定。無事メール送信できるようになった。
3) micropython on ESP32でWi-SUNのテスト。
ネット上のいくつかのコードをサンプルに移植をしてたが、
・通常pythonからmicro系への変換
・不要機能のコードの削除、変更
・python2系からpython3系の変換
と変える部分が多くて、一番やっかいなのがpython2系からの変換。まとめてやってたら疲れちゃったのでこの件は一旦放置とする。
Linux上でpython2で動作確認した上で、python3への変更と動作確認・不要機能の削除を実施。そのうえでmicropythonへの移植 と段階をおかないと駄目だ。
micropython on ESP32
ESP32が宅内に増殖してるのでmicropythonも試している。
ssl使ったらメモリが無くて落ちたけど、httpなら大丈夫かな。
水層水温をココとambientにアップロードするのに使いたい。
Wi-SUNのスマートメーター電力情報も、今はmbedからpi zero wに切り替えて仮運用してるけど、micropython on ESP32で安定すればさらに切り替えたいなぁ。
クラウドでなく自宅内の細々Linux機をいじる
piの構築を楽にするべくansibleを使うべくCentOSを入れようとx86なマシンを出してきた。Livaの初期型。メモリ2GでストレージはeMMC64Gでファンレス。Windows8が入ってて10にアップグレードしてあったけど捨ててCentOS7.4を投入した。CentOS、昔はeMMCにはインストールできなかったが、時が解決したようで何の問題も無かった。
で、SElinuxはdisabledにしたが、firewalldはiptableに戻すこと無くそのまま使う。通知メール用に最近取得したsendgridの無料アカウントでpostfixからメールも送れるようにした。logwatchもいれて、どうせなのでpiでやってるdnsmasqをこっちに移した。
その後、pi zero wでwi-sunモジュールのテストを試みるがまったくつながらない。pi B+では動いたのだが・・・。いろいろ調べると最近のbluetooth搭載piはttyAMA0がBTと直結になって邪魔してるみたい。切り離し方法を見つけてそのとおりにやったら無事動作しました。
ベランダセンサーの値が変
16:40からベランダのセンサーの値がおかしい。気温なんかマイナス135.08度だし、UV指数は655.35。どれも固定値で変動はなし。ただ、CDSをつかった明るさセンサーは通常の動作を記録していた。他のセンサーとの違いはCDSは分圧した電圧をADCで計測している。他のセンサーは全部i2cバス接続。んーi2cでなんか起こったか?調べる手立てもないので(ロッジックアナライザは退院後の掃除で捨てた)リセットして復帰させた。あまりに変な値だったら、自己リセットするようにコードを書き換えたらいいかな。
雨センサー修理後の確認完了
本日修理した雨センサーの出番があった。ちゃんと反応したし、雨が止んだ今では濡れていない事になってる。
木工用ボンドでハンダ付け部を覆ったけど、ちゃんと乾けばちゃんと樹脂になって電気流さなくなるね。