最近make系をしてないので活を入れる為に、電力スマートメーターを読み出して表示してるのを作り変えようと計画。
いま自宅でうごいてるのはRaspberryPi3とロームのBP35A1を使ってpythonでやってる奴。これの前に動かしていたのはマイコンはmbed LPC1678でC++で書いた奴。
で、次はマイコンははESP32系でmicroPythonでやろうと。M5StickCplusがあいてるのでコレに移植しようかと。まぁ、ゆっくりやっていきます。
「Make」一覧
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でやろうと思う。
寝室エアコン壊れた
Amazon初売りでEcho Show5を購入。IRリモコンと一緒に。
寝室のGoogle Home Mini & 自作pi zero wリモコンと入れ替え。これで赤外線コマンドが長いエアコンも操作できるようになった。
と思ったら、翌日か翌々日の朝。ツレが「エアコン壊れた」と。冷房ははいるけど暖房が入らない。このエアコンは結婚前からツレが使ってたもので、まぁ仕方ないかな。買い替え予定です。それまではオイルヒータでしのいでます。
raspberry piに環境構築未完
昨日の夜、pi4にxubuntu-desktopをインストールさせたまま寝た。
ので、起きてから環境構築。
numlock周りの設定を変えて、ユーザ作って。
・Arduino IDE
arm64のtar.xzを拾ってきて普通に動く。初回起動時点で日本語表示になってる。ただ、ボードマネージャではESP32の環境を入れられない。「対応してない」と言われる。
・XCTU
Digiのダウンロードページにはx86,x64のみで armなし。
・PyCharm
tar.gzを拾ってきたがエラー。java関係の依存?
・vs code
arm64版で普通に動く。
といったような結果。chromeboxで動いちゃうから、現時点ではつきつめない。M1 macのおかげでarm対応が増えて来れば期待ができる。バックアップ用にintel CPUなpixelbook goの方に環境作ったほうが得策だ。持ち運びできるからMake系電子工作と相性良いし。
chromeboxでArduino IDE + あるふぁ
chromo os に戻してから入れて無かったので入れた。前回やったときはunoは認識してたけど他はだめでした。
動作確認。
uno
何故か書き込めない。でも、「昔こんな事があったな」とUSBA−B ケーブルを変えてみたらあっさり書き込めた。
Leonardo, Micro
32U4系なので、リセットする度にchromeosで再接続する必要がありますが、書き込めます。
ESP32 系
cp2102使ってるやつですがちゃんと認識して書き込めた! それよりLinux でのesptools周りのセットアップが未だにどこか手を出す必要がある方が問題だ。
m5stick-cやFT231X 使ってるSwitchScienceオリジナル系
OK。
というわけで、raspberry piでArduino環境を別途作らなくても良さそうではある。ま、ubuntu LTSいれて作るには作るけど。
続いて pycharmとmicroPython関係を整備してベランダに2つ動かしてるXBee3のメンテ環境も再構築。
pycharmは入れるXBee用プラグイン「Digi XBee」の対応次第なので、最新版を入れれば良いわけではない。今回は2020.3まで対応してるということで 2020.3.1を入れてみたがプラグイン上手く読めました。あと忘れてた XBee汎用設定ルールの「xctu ng」もインストール。.runファイルなのだけどついsudoで実行してしまったら起動エラー。やりなおしてユーザー権限で実行してバッチリ起動しました。
あとはvs code入れる前にコンテナのバックアップを取って、いざ。というタイミングでLinuxコンテナが起動できなくなった。バックアップから戻そうとしたが、壊れてるらしく戻せなかった。βだしなぁ。1回やってることなので戻しは早い。年末ネット混雑でパッケージを落とし直すのに時間がかかる。
で、vs codeも無事入って arduino拡張入れていじってるとこ。中華フォントになってるのを治そう。感じがわかったらraspberry piにも環境作るかな。