MicroPython的午睡(59) ESP32、WebREPL、動作はするけれども

WebREPLprompt
Joseph Halfmoon

再びM5ATOM Lite上のESP32 genericポートのMicroPythonに戻ってまいりました。今回はESP32系ならでは?のWebREPLを使用してみたいと思います。Network接続されているMicroPythonデバイスのREPLにホストのブラウザから接続する機能であります。確かに使えるのだけれどクセが強い。

“MicroPython的午睡(59) ESP32、WebREPL、動作はするけれども” の続きを読む

MicroPython的午睡(58) micro:bit v2、MicroPython書込

microbitV2
Joseph Halfmoon

以前 BBC micro:bit v1上でMicroPythonを動かしてみたことがあったのです。メモリが小さな v1 では大したスクリプトを動かせなかったです。しかしメモリ容量の拡大した v2 でなら動くはず。今回、MicroPythonのビルドからやってインストールしてみたのですが、調べてみたらビルドなど不要でした。トホホ。

“MicroPython的午睡(58) micro:bit v2、MicroPython書込” の続きを読む

MicroPython的午睡(57) ATOMLite、NodeREDからブザーを制御

ATOMLiteDashBoard_EC
Joseph Halfmoon

前回はM5ATOMLiteに接続したブザーをPWMで鳴らせるようにしました。今回は、ブラウザ画面からNode-REDダッシュボードを操作して、そのブザーを鳴らしてみようと思います。鳴らしたままだとウルサイので止める機能も仕込んでありますよ。それにしてもATOMLite用のダッシュボード、項目増えすぎか。

“MicroPython的午睡(57) ATOMLite、NodeREDからブザーを制御” の続きを読む

MicroPython的午睡(56) ATOMLite、パッシブ・ブザー接続

ATOMLite_wPassiveBuzzer
Joseph Halfmoon

このところM5ATOMLite側からNodeREDサーバーに「報告」するばかりで、逆方向のアクションがありません。そこでATOMLiteにPassive Buzzerを取り付けてみました。サーバーからブザーを鳴らせば「注意喚起」(何の?)が出来ると。今回はPWM駆動でブザーを鳴らすところまで。

“MicroPython的午睡(56) ATOMLite、パッシブ・ブザー接続” の続きを読む

MicroPython的午睡(55) ATOMLite、NodeREDにCdSセル結果報告

CDSreportDashBoardB
Joseph Halfmoon

前回 M5ATOMLiteのADCにCdSセルを接続し、値を読み取ることができました。今回は測定値をサーバ機Raspberry Pi3上のNodeREDに報告です。DHT11、BMP280と「既に通ってきた道」なので以下同文でOK、っと思ったら温度、湿度グラフのところにバグが。。。まあついでに修正。

“MicroPython的午睡(55) ATOMLite、NodeREDにCdSセル結果報告” の続きを読む

MicroPython的午睡(54) ATOMLite、ADCにCdSセルを接続

Cds_Dut
Joseph Halfmoon

今回はM5 ATOMLiteのアナログ機能を使ってみるべし、と思い立ち、光量によって抵抗が変化するCdSセルを取り付けてみました。以前ラズパイPicoで接続した筈の部品をそのまま流用したので、MicroPythonのコードもほぼほぼ流用。しかしね、なんか特性変わってるんじゃね。まずはATOMLiteとの接続ですが、端子少ない割に意外と使えます。

“MicroPython的午睡(54) ATOMLite、ADCにCdSセルを接続” の続きを読む

MicroPython的午睡(53) ESPRESSIF、ESP-EYEでLチカを

ESP-EYE Blink
Joseph Halfmoon

ESP-EYE、サンプルソフトで動作確認、そしてビルド環境をセットアップと2回作業をしたのですが、未だに自分で書いたプログラムでLチカさえも動かせてません。ESP-IDFの敷居が高いです。そこで今回は極端なショートカットでLチカを動かしてみました。ご存じESP32用genericポートを使えば3分でLチカ動いてしまう。

“MicroPython的午睡(53) ESPRESSIF、ESP-EYEでLチカを” の続きを読む

MicroPython的午睡(52) ATOMLite、気圧の測定結果をNode-REDへ

Pressure_EC
Joseph Halfmoon

前回、定番の圧力センサ Bosch BMP280の補償計算をなんとかやっつけてMicroPythonで気圧と温度を測れるようになりました。今回は測った結果を、例によってMQTTに載せてNode-REDへ報告し、Dashboard上にグラフ表示してみます。まずは前回プログラムのモジュール化から。

“MicroPython的午睡(52) ATOMLite、気圧の測定結果をNode-REDへ” の続きを読む

MicroPython的午睡(51) ATOMLite、BMP280の補償計算大変なのね

BMP280_EC
Joseph Halfmoon

前々回、温度と湿度を測ってNode-REDに報告しました。今回は気圧も測るべしということで、定番の圧力センサBosch BMP280をMicroPythonから制御してみることに。ただし読み取りは自前のコードで実施。簡単に圧力読めるものと思っていたら、補償の計算大変なのね。自分でやってみないと身にしみませぬ。

“MicroPython的午睡(51) ATOMLite、BMP280の補償計算大変なのね” の続きを読む

MicroPython的午睡(50) ATOMLite、やらかしTZ、カレンダ変換

TZ_BUG
Joseph Halfmoon

前回、ATOMLiteで温湿度を測ってサーバーのNode-REDに報告をあげるようにいたしました。測定テストで温湿度の日変化を測るべし、とてATOMLiteを動かしたまま眠りについて発覚しました。アイキャッチ画像を御覧じろ。25時?RTCがそういうこと言う?私のバグでした、トホホ。NTPで得たUTCと、報告用のJSTの変換の間違い。

“MicroPython的午睡(50) ATOMLite、やらかしTZ、カレンダ変換” の続きを読む

MicroPython的午睡(49) ATOMLite、温湿度を測ってNode-RED報告

ATOMLite_Dashboard
Joseph Halfmoon

今回からようやく外付けのデバイスをM5ATOMLiteに接続して、ラズパイで走っているNode-REDとの間を繋ぐところに入ってまいります。その1は、ありがちな「温度、湿度」のご報告です。ここまでの準備で、回路も簡単、ソフトも簡単、ほとんど何もやることがないです。本当か?

“MicroPython的午睡(49) ATOMLite、温湿度を測ってNode-RED報告” の続きを読む

MicroPython的午睡(48) 中途半端なリファクタリング。組み込みには組み込みの?

FILES_Thonny
Joseph Halfmoon

前回、内蔵のLEDとスイッチがNode-REDから使えるように復旧しました。今回はいよいよ外付けハード追加と思ったのですが、その前にスクリプトを整理することにいたしました。カッコよく言うならリファクタリングというやつ。でも作業しながら、どうするのが良いのか迷いましたです。迷える子羊(?そうは見えないが)にお導きを。

“MicroPython的午睡(48) 中途半端なリファクタリング。組み込みには組み込みの?” の続きを読む

MicroPython的午睡(47) genericポートでもM5ATOMLiteはOKよ

M5ATOM_DUT1014
Joseph Halfmoon

前回、uasyncioのお陰でNode-REDサーバとの通信タイミングを自由に決められるようになりました。今回からM5ATOMLiteに「手足」をつけ、前回までに整備?した「インフラ」を使ってNode-REDとの間を接続して行きたいとおもいます。外付けハードの制御の前に、最初は内蔵のLEDとスイッチだな。

“MicroPython的午睡(47) genericポートでもM5ATOMLiteはOKよ” の続きを読む

MicroPython的午睡(46) uasyncioでMQTT送受信、ATOMLite

M5ATOM Flow
Joseph Halfmoon

前回までで「エッジ側」M5ATOM LiteとNode-REDサーバー(Raspberry Pi 3)との間でMQTTを介してJSONオブジェクトを送受できるようになりました。しかし不満なのは送受信のタイミングです。前回まで単一のmainループにお任せだったので便利とは言えない仕組みでした。今回から uasyncioを使って改良していきたいと思います。

“MicroPython的午睡(46) uasyncioでMQTT送受信、ATOMLite” の続きを読む