マイコン一覧

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を使ってただけです。


部品棚を片付ける

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


久しぶりにmake系でも

寝室の照明のコントロールにraspbery pi zerowに赤外線LEDを付けたのを使ってる。こいつが反応しなくなっていたので調査。
ログファイルを見る限りgoogle homeからIFTTT通ってzerowまでは通っている。赤外線発光コマンド irsendがこけていた。どうやら最近のカーネルでlirc関連の制限値が変わったようで、それでエラーとなってる。仕方無いからカーネルバージョンを巻き戻したら難なく動きやがりました。まったくなんで値(LIRCBUF_SIZE)を小さく変えるんだよ。

m5camera
ESP32使ったカメラモジュール。前、ベランダでやってたように定期アップロードを試みた。前なんて、Arduinoでシリアル接続のカメラをベランダに置いて、部屋の中のmbedとXBeeで無線通信させて使っていたんだが。今は消しゴムサイズで全部やってくれる。
アップロード先は自分サーバではなくクラウドストレージにした。AmazonPhotoが空いてるので使おうかと思ったが、今はAPI公開してないらしい。なのでGoogleDrive。最初、サンプル見つけてなかなかうまくいかなかった。原因はサンプルについてるgoogle.comの証明書が古かった。修正して無事定期アップロードできた。あとは光センサーと連動さえて、真っ暗な時はアップロードしなくしよう。

台風で退避した雨センサー
台風19号の時に部屋に退避していた。ついでだからと電池を交換していたら外装が砕けた。ベランダの雨のあたるところに設置してあるから紫外線浴びまくりで樹脂がボロボロになってた。2年前退院してきた時も同じように壊れたが、あの時はまだ同じサイズのケースがあったので事なきを得た。
今回はジップロックに入れて仮運用となった。まぁ、中のXBeeモジュールもケースが錆さびだしそろそろ終わりかと。
そういうわけでESP使って新センサーを作ろうとは思ってる。間欠deepsleep運用すればWiFiでも電池でなんとかなるんでないかと。問題ははんだ付けとケース加工。時間かければ&ツレに手伝ってもらえばなんとかなろう。


ESP32-CAM動作確認

 とりあえず5Vには電源繋がず、3.3Vに接続。CameraWebServerのコードをおためし。wifi使うので電流多く取れるようにハイパワーUSBシリアル変換基板で接続。買っといて良かった。まぁ、常時稼働させるときには電源はUSBシリアル変換基板からではなく別途つなげます。
 そんなわけでさくっと撮影。

 で、以前やってた水槽カメラみたいなインターバルアップロードをするコードを書くか。AmazonDriveはまだ使ったこと無いのでここにアップしようか。インターバルでなくて、変化があったらってのも防犯的にはありだな。


ESP32-CAM準備中


 ESP32-CAMなるものがお安く売られてるのに気づいて、テスト用に1つゲット。意外と日本語の情報がすくなくて海外サイトを探り中。リセットSWが基盤裏にありピンにがRESET端子が出てないのが厄介。プログラミング後のRESETはコードをOTA対応にすればなんとかなるものの。WiFiが死んでるとそれではリセットできずになる。最終的には防犯的に使えればいいが、ちょっとづついじります。