ベランダにあらたに作ったLuxセンサが滑らかな値にならないので、CDSでの分圧のADC入力を追加した。ESP8266の時は0-1V測定で使いづらかったADCもESP32では減衰器が入って0-3.6Vで測れるのでgood。1個センサーがふえるとベランダハード&ソフト・中継用mbedとRaspberry Pi・AWSのDBと変更をかける必要がある。
ベランダのハード&ソフトを変えるので、雨除けジップロックも横向きに変更。雨が電源のUSBケーブルを伝ってESP32まで届かないように。
つづいて、雨センサーの中継の変更。PiにコーディネータのXBeeつないで対応する。この実験中に雨センサのケースを破壊してしまった。紫外線でもろくなってた。同じプラケースを宅内で捜索してなんとか発見。こいつの中も結露とかの所為かXBeeの金属部分に錆がういていた。で、Xbee-Python、まだ理解しきれてない。ArduinoとmbedはC/C++だったから楽だったけど、慣れれば何とかなるでしょう。今週末までにPythonに移行したい。
昭和記念公園をあるく
朝、cut factoryで散髪して、seriaでコード買って。オリオン書房で本買って、本棚珈琲でモーニング頂いて。
で、洗濯してから出てきたツレと落ち合って、昭和記念公園へ行ってきました。病前はもっぱら自転車でいってましたが、まだまだ右上下肢は片側の筋の異常緊張で関節をうまく使えません。なので、JR青梅線で西立川駅から。目的地は日本庭園の茶室。例によって昭和記念公園も障害者手帳のおかげで自分と介助者のツレは無料ではいれます。でもパークトレインは割引なしです、乗らないけど。
行きは「杖なし装具あり」で。杖はツレに持ってもらった。渓流レストランでソフトクリームを食しつつ。お茶室でお茶を頂いて、盆栽園覗いて、綺麗になった池の中の橋をわたって。帰りも紅葉橋までは「杖なし装具あり」。流石に、右足親指の爪が痛くなってきたので「杖あり」に変更。家に帰って万歩計をみると、「16964」歩でした。病後の1日の歩数としては記録更新です。
とりあえずambient
センサー値をjsonで吐くとこまでは作っておいたので、raspberry piにてpythonでちょろっと。
headers = {“content-type”: “application/json”}
r = requests.get(url, headers=headers)
json_dict = r.json()
こんな感じで取ってきて
am_dict[‘d1’] = format(json_dict[‘BME280’][‘Press’][‘value’])
…
am = ambient.Ambient(99999, ‘1234567890’)
ret = am.send(am_dict)
こんな感じでambientに送信。
これでグラフで見られます。
いやー楽チンすぎる。
ESP32 OTA
家に帰ってからOTAを試しました。実機は昨夜ジップロックに入れてベランダに貼り付けてしまったので、もう一つのESP32にて。i2cデバイスがADT7410とLCDの状態で。
いざ、コンパイル。ってあっけないほど簡単にwifiでプログラムのアップロード完了。でも、シリアルはあくまでシリアルに出力されるだけ。Serial.print()のデバッグ文も無線の向こうのマイコン側で出力される。
ってわけで、いまいち使い勝手がわるいかな。
ベランダセンサーのESP32化
arduino互換機とXBeeでやってたベランダのセンサー。去年のマンションの外壁再塗装と入院でいまは部屋の中。子機の雨センサーはベランダに復帰させたのでこれだけが使える状態。
XBeeも低消費電力でスタックも軽いのだけど、違うこともやってみようと作り変え。
wifiで勝手知ったるjsonをrestで。iotらしいmqtt化はそのうち。右手がまだハンダごてをあつかえない為、ハード組み立てはブレッドボードで。センサーはi2cに統一。
昨日の朝はESP8266でやっていたのだが、昼にESP32-DEVCでも行けるんじゃないかと変更。こっちのほうがリソースに余裕あるい青歯にすることも出来る。その後ベランダで雨除けのケーシングする際にもう少し小さい方がいいなとブレッドボードを変更。ひさびさにFritzingをいじったがCAD系で左手でオブジェクトをクリックするのがきつくて、つい違うものクリックしちゃうよ(笑)。
最初のesp8266版の抜け殻
LCDはデバッグ確認用なので、ソフトウエアからも取り外せるようにdipswで対応。i2c的には出力オンリーなので取り外してソフトはほったらかしでも問題はなさそうだけど。
とりあえず、
・センサーから情報読み取り
・読み取った値のweb表示
・読み取った値のjson化
は出来たので。ベランダに設置して部屋の中のraspberry piから情報取得やグラフ系iot向けサービスと連携させていく。でもなぁpachubeの事もあるのでwebサービスはいつ潰れてもいいように自前の代替の仕組みを用意しとかないと。