Make一覧

ベランダ気温・湿度・気圧・照度センサ XBee3版 プロトタイプ

Fritzingで適当に下書きしてブレッドボードに作成したのが上の画像。BME280ブレイクアウトにピンヘッダはんだ付けしてたら、固定用に挿してたブレッドボードをコテの根本側があたって焦がしてしまった。麻痺側右手でハンダゴテ持ってます。動く健側左手はハンダをいいタイミングで当て外しで使うからね。
で、microPythonでCDSのADCもi2cも動作はしたのでまず安心。microUSBの5V-3.3V電源モジュールを入れるべく、またFritzingで修正。ブレッドボードも普通のhalf+に変更。図面だけ書いて時間切れで実装は次回に持ち越し。


新雨センサー 稼働開始

 だいぶ日にちが掛かったが、雨センサーの弐号機を設置した。乾電池を単2から単1に変えて容量が倍になったので1年以上もつことを期待する。
 画像で左にあるのが初号機。紫外線でケースが脆くなってひび割れたからジップロックでカバーしてる。XBeeの腹がわの金属ケースもサビサビ。のちほどお役御免とする。
 
 2代目で変わったのは Xbee3で通信をBLEにしてMycroPythonを使ってるのと、ケースはタカチの1000円の防水のしっかりした物にした事。今回、自分だけで電池ケースにリードをはんだ付けしました。まだ、2.54mmピッチだと無理かな。また、どうせだからベランダで温度・湿度・気圧・明るさを測っているESP32もXBee3に変更を目論んでいる。まぁまだまだESP32いっぱいあるのだよねぇ。こないだ予備に2つ買い足したし。
 


雨センサー sleep関連

 電池電圧が右肩下がりだった雨センサープロトタイプXBee3 BLE版。
 今、稼働してるXBee2と同じ4:Cyclic Sleepにしてみたがうまく再起動しなかった。で、Sleep Modeに 6:micropython sleepにしてみた。
 sleepは sleep_now(millisec)を使用。電源電圧のグラフ見ても短期的には上がったり下がったりでそれほど電池を消費しなくなった。一旦これで仕込もうかな。

 昨日、Cyclic Sleepが駄目だったので、方針変更用にESP32Sのちっちゃいブレークアウトを2個ほどゲットしています。BLEのアドバタイズのメッセージ仕様をあわせて、どちらでも使える様にするのもありだね。


定期通院と新雨センサー動作実験

 本日脳外科定期通院日。前日確認したら、今日は良い方の医師だったので気が楽だった。

 朝からpycharmをインストールしたりやってて、通院で途切れてしまったが、新雨センサーのセンサー部のテストは完了した。ちゃんとDIO1を入力にした櫛形基板で、濡らせば0, 乾いていると1を得られた。で、この値をBLEのアドバタイズデータに入れて飛ばして、androidの「BLE Scanner」で見られました。濡らせばちゃんと値も変わる。最初「BlueFruit」というアプリで観測してたけど、こいつは1回見つけてしまうとそのアドバターザーからのデータは更新しないようで使えなかった。
 センサー側は基本行けそうなので、次は piでBLEオブザーバーを書きます。


XBee3 届きました

 早速、USBシリアルアダプタ(UartBee)に載せてGalliumOSとつなぐ。XCTUは新しいのを日曜に準備しといた。
 つなぐとFirmが1つ前のだったので最新のを焼き込んだ。
 microPythonもREPLモードだが動作確認できた。BLEも試していこう。

 


新雨センサ構想変更

 やるやる言って作ってない新雨センサー。WiFiはや止めにしてBLEに変更します。ベランダにひっかけておく雨センサーをアドバタイザーにして、家の中のRaspberryPIにオブザーバーやらせればよいかなと。アドバタイズの中に雨有無データを入れてUDPみたいに投げっぱなし。
 で、XBee3を発注してみた。microPythonが走るらしいし。また、古いけどSwitch Science mbed HRM1017(無印)も1個持ってたから試してもいいね。


micro:bitで microPython

 昨晩、翌朝雪が積もっていない事を祈りつつ、ESP32にGallimOSからesptool.pyでmicroPythonを焼いてて思った。「そういえばmicro:bitでもmicroPython使えたような。」と。micro:bitはESP32と違ってwifiは使えないがbluetoothはあったりする。Web Bluetooth APIなんつうものでchromeと通信できるらしい。だが、microPython上ではメモリが足りなくてBT使えないそうだ。
 でもとりあえず、ちょっとあそんで見ます。


ESP32開発環境はできた

 昨日の夜、chromeboxのGalliumOS上でESP32を焼くべくテストしてたが、ttyUSB0が出てこない。lsusbでも気配がない。つなげるデバイスを変えてみてもだめ。Kabylakeカーネルがサポートしてないのだろうかと、異なる環境を試して見るべく眠ってる asus chromebook C223(こっちはApollo Lake)にGalliumOSを入れたとこで寝た。
 本日起きてきて試すがC223でも同様にだめ。1点、自分のユーザーをdialoutグループに入れるのを忘れてたが、これはttyUSB0が出てこないのとは関係ない。googleりつつ redditを読んで、「ケーブルを変えたらいけた」という例をみつけた。半信半疑で以前接続実績のあるケーブルに変えたら/dev/ttyUSB0が出て来ました。いわゆる充電用だけのケーブルだった模様。昨夜は4本くらいケーブル変えてたが全て外れだったのか。
 chromeboxで行けたのでC223でもやってみて、OKだねというとこでクラムシェルを閉じてしまった。C223をGalliumOS化したときに、この開閉に難ありの記事はみたが。閉じたクラムシェルを開けたらOSが壊れてると言いやがってGalliumOSを起動出来ない。CTRL-UはdisableされててCTRL-Lもきかず。仕方なしに別のchromebookでリカバリーUSBを焼いてchromeosとしてのリカバリーまではやった。またC223 にGalliumOSいれても、蓋閉じてまた壊れたらやなのでこちらでやりなおすのはひとまず封印。余裕あるときにLinuxMintのMATE版でも入れてみるかな。Xfceはデザインは好きだがWindowの枠が細すぎて掴みにくいんだよ。
 その後もchromeboxのGalliumOSでmicroPythonのIDEであるuPyCraftを動かそうと四苦八苦。uPyCraftは古いアプリで、使ってるフレームワークやらライブラリがもう時代遅れで導入が難しい。結局諦めた。
 chromeboxでESP32を書き込むのは出来たのでよし。今は有料になってしまったFritzingもインストール出来たさ。microPythonは以前使ってたampyでなんとかするさ。あとはarduino系の開発をこっちですべく、ソースやライブラリを移して、NASにrsyncしたりGitLabに同期する設定いれたら本稼働できる。このタイミングでGitHubも入れるかね、GitHubは以前はフリーだと制限が多くて使えなかったのでGitLabを使ってただけです。


棚を変えました

 昨日も書いたように、なぜか1日遅れた配達となった「メッシュメタル棚」。昼前に届いたので入れ替えた。降雪なので外出はしない日。
 2つある部品整理棚の引き出し入れ替えて、メインでないパーツの方は納戸部屋へもってった。ちょっくらスッキリした。
 これを機に断捨離をすすめられたらいいなぁ。

マージした部品棚


部品棚と入れ替えたメッシュ棚


部品棚を片付ける

 自宅のマイ机の上に電子工作のパーツを分類して保管できる、引き出しがいっぱい付いた部品棚が2つのっかってる。 ちょっと右手ははんだごてはおろか歯ブラシ持つのも厳しい状況なので、一旦パーツ棚を片付けようと思う。
 とはいっても未練はあるので、棚1つを納戸部屋へ撤収して、その場所に4段網棚を置いて、書類やchromebookを置こうかと。棚はすでに「尼」済。なぜか配達が本日19:00に指定したのが明日の午前に変えられてた。マーケットプレースだからか。
 そんなわけで週末はちょっと模様替え作業です。