ESP32 micropython一覧

watt表示機の作り変え計画

 最近make系をしてないので活を入れる為に、電力スマートメーターを読み出して表示してるのを作り変えようと計画。
 いま自宅でうごいてるのはRaspberryPi3とロームのBP35A1を使ってpythonでやってる奴。これの前に動かしていたのはマイコンはmbed LPC1678でC++で書いた奴。
 で、次はマイコンははESP32系でmicroPythonでやろうと。M5StickCplusがあいてるのでコレに移植しようかと。まぁ、ゆっくりやっていきます。

↓は今動いてる奴


ESP32 MicroPythonで室内観測開始

 pi picoを買って、MicroPythonを入れてみたけど、chrome osからシリアルが認識されないのでほおってある。流石にraspberry piでは認識できたけどね。

 で、先月VScodeの開発環境をchrome osに入れたので、ESP32 MicroPythonの温度・湿度・明るさセンサーの配線を整理して、BLE-Ambientゲートウェイのコードに追加して動作させてみた。
 今動いてるESP32-Arduinoベースのセンサは並行稼働させとく。こちらは来月になったら取り外す感じで良いかな。


XBee3ではなくESP32 のMicroPython開発環境構築

 年始から細々とやっていたESP32のMicroPythonでBLE advertiseでセンサー値やり取りの実証ができた。さすがに、エディタで編集して、ampyでアップロードして、screenで確認してを続けるのは嫌なのでIDEを整備した。年末年始にも試したけど上手く動かなかたので再チャレンジ。

環境はchrome osのLinuxコンテナ(Debian 10)。

・uPyCraft 1.0
これはubuntu16.04しか動作保証されてない。起動してもzlib 1.2.9を要求される。zlibのソース持ってきて makeして配置しても駄目。造り手が保証してないから無かった物にする。

・thonny 3.3.3
動いた。どっかでみた事あると思ったら Raspbianに入ってるヤツだな。見た目はシンプルだけどかんたんにMicroPython側にコード焼けた。最低限これが使える事はわかった。

・PyCharm 2020.3.1 & MicroPython 1.1.3 プラグイン
MicroPythonの設定で/dev/ttyUSB0に設定してるのにつながらないのは、pyserial, ampyなどを別に参照してるっぽいのと、起動し直すたびにMicroPythonの設定が初期状態に戻ってしまうからみたい。
いろいろ試してるうちに、アップロードできたけど、コンソールを自動で閉じてくれないのでttyUSB0掴んでてampyがアップロードエラーになるとかこなれていない。
PyCharmはDigi XBeeプラグインによるXBee3専用開発環境にしとこうと思う

・VScode & Pymakr拡張機能 1.1.7
自分、VScodeに慣れていないのであるが、じっくりやったらESP32 にコードアップロードできた。アップロード時にコンソール掴みっぱなしも無い。ほぼこれをメインにすることが決定した。残念な点はVScodeはキーボードショートカットでいろいろ楽できるのだけど、左手1本の現状では押せるショートカットが限られる点。ま、折り合いを付けていこう。

というわけで開発環境が準備できた。

今、ESP32でArduino codeで動かしてる部屋温度、照度センサーは ESP32 MicroPythonに切り替える。
あとXBee3の雨センサー。GalliumOS,Windows10廃止の際に最新ソースが行方不明(苦笑)。昨日XBee3実機のFLASHを見てみたら main.pyじゃなくて main.mpy(プリコンパイルされたコード)だったのだ。なので、同じ動作をするようなコードを作っておこうと。こちらはPycharmで。


というわけで、動作確認の為の部屋温度、照度、&湿度センサーを仮組みして、コードも動作確認できた。本組みし直してambientゲートウエイにも対応追加して連続稼働テストに向かいます。やっぱ今後はマイコンのコードサイズが許す限りはpythonでやろうと思う。


マイコンセンサー設置日和

 準備中だったソーラーパネルとリポバッテリーで外部電源不要なバージョンの環境センサをベランダに設置した。しばらく既設の外部電源版と併設です。太陽電池とはいうものの直射日光はあたらない場所。どれくらいもちますかね。事前の室内でのバッテリーでの稼働テストでは1週間は動いてた。

 あと、室内で温度と明るさを取得するだけのをESP32で作ってみたほう。こちらも稼働させてみた。微妙にmachine.配下のデバイス固有関数の使い勝手がXBee3とは違うので習得も兼ねてだね。


ESP32でmicropython

Xbee3でベランダでやってるのと同じのを室内に設置します。ESP32がいっぱいあるのでコイツにmicropythonを入れてですね。Arduinoでもいいんですが、Xbeeとコードの共有化が出来そうだし、デバッグ簡単だし。micropythonは入れました。Firmware built with ESP-IDF v4.x, with support for BLE, but no LAN or PPPを。BLE advertiseできれば良いので。


micro:bitで microPython

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