MicroPython的午睡(45) MQTTでJSON-OBJ受信、M5ATOMLite

MQTTsettings_Flow
Joseph Halfmoon

前回が「送信」であったので、今回は当然「受信」です。しかし受信で想定しているのは何か設定値がホストから指令されてくるというシーン。「設定値」ともなるとそれを保存しておく場所から用意しておかないとマズイ気がします。そこで、設定値はNode-REDからアクセスできるSQLiteのデータベースに記録しておき、それを取り出して送ることに。今のところ何も効果はないですが。

“MicroPython的午睡(45) MQTTでJSON-OBJ受信、M5ATOMLite” の続きを読む

MicroPython的午睡(44) MQTTでJSON-OBJ送信、M5ATOMLite

uJsonFlow
Joseph Halfmoon

前回 MQTT Subscribe ができたので、MicroPythonで動いているM5ATOM LiteとNode-REDを動かしているRaspberry Pi 3機で上り下りの通信がOKとなりました。今回は、通信内容をJSON化して後で拡張しやすいようにしてみたいと思います。まずはPublish側から。使用するMicroPythonモジュールはujsonです。

“MicroPython的午睡(44) MQTTでJSON-OBJ送信、M5ATOMLite” の続きを読む

MicroPython的午睡(43) MQTTでSubscribe、M5ATOM Lite

subscribeEC
Joseph Halfmoon

前回別件に行ってしまいましたが、今回は前々回の流れに戻ってMQTTのSubscribeを行ってみたいと思います。使用するMicroPythonは ESP32用の”generic” portです。M5ATOM Lite上での運用ですが、”generic”なので他のESP32デバイスでも動くと思います。

“MicroPython的午睡(43) MQTTでSubscribe、M5ATOM Lite” の続きを読む

MicroPython的午睡(42) array.array、意外に小さい使える領域

M5ATOMLite_RaspberryPiPico
Joseph Halfmoon

別件でラズパイPico上のMicroPythonを使用して、arrayモジュールを使ってみたところ、バイト要素が高々16000個以下でエラーで落ちました。他のプログラム要素の使用分もあるので一概には言えないですが、ラズパイPico搭載のSRAM量からしたらかなり小さくて予想外。どういう書き方したらどのくらいの容量が使えるのだか気になって調べてみました。対象はラズパイPicoとM5ATOM LiteのMicroPythonです。

“MicroPython的午睡(42) array.array、意外に小さい使える領域” の続きを読む

MicroPython的午睡(41) MQTTでPublish、M5ATOM Lite

ATOMLiteDashboard
Joseph Halfmoon

超小型デバイスM5 ATOM Liteに、MicroPythonのESP32向けgenericポートを書き込んで動かしております。前回は nptサーバに接続してRTCに時刻を設定しました。今回はMQTTブローカにPublishして、Node-REDのダッシュボードにATOM LiteのRTCの時刻を表示させてみます。

“MicroPython的午睡(41) MQTTでPublish、M5ATOM Lite” の続きを読む

MicroPython的午睡(40) まずはネット接続してntp、M5ATOM Lite

MPgenericESP32modules
Joseph Halfmoon

超小型デバイスM5 ATOM Liteに、MicroPythonのESP32向けgenericポートを書き込んで動かしております。ESP32系のデバイスの売りといえば何といってもイージーなネット接続であります。まずはWiFiアクセスポイントに接続。最初はntpサーバにお願いしてRTCに時刻を設定してみます。

“MicroPython的午睡(40) まずはネット接続してntp、M5ATOM Lite” の続きを読む

MicroPython的午睡(39) “generic” ポートで見るATOM Lite

ATOMLitePythonDUT
Joseph Halfmoon

別件やっていたのでM5 ATOM LiteのMicroPythonはインストールからかなり間が空いてしまいました。気を取り直して(?)ATOM Liteに戻りたいと思います。M5シリーズ用のMicroPythonは、機種固有実装もいろいろある中で、今回使用しているのは ESP32用のgeneric版です。これで動かしておけばM5シリーズ以外にも多種あるESP32のボードに適用可能な筈。

“MicroPython的午睡(39) “generic” ポートで見るATOM Lite” の続きを読む

MicroPython的午睡(38) ラズパイPicoとDMA3重塔でZ80つづき

LOOP_ADR_DATA
Joseph Halfmoon

前回お手製の「DMA3重塔」を使い、ラズパイPicoのMicroPythonで、Z80(TMPZ84C015BF)のバスの制御権を奪ってプログラムROMの内容のダンプを試みました。しかし何か変。ちゃんとダンプできてる感じがしない。今回再トライ、正常にダンプできるようにはなりました。しかしイマイチ釈然としないです。
“MicroPython的午睡(38) ラズパイPicoとDMA3重塔でZ80つづき” の続きを読む

MicroPython的午睡(37) ラズパイPicoとDMA3重塔でZ80の制御を奪う

PicoDMAz80DUT
Joseph Halfmoon

ノスタルジックな理由からZ80の機械語を走らせることができる実機を入手いたしました。しかしデバイス的な理由からそのままでは自分でコードを書いて走らせることができませぬ。そこでラズパイPicoで、ターゲットのメモリを乗っ取って書き換えてしまおう、と計画中。今回はラズパイPicoからターゲットメモリを読み取る(まだバグありそうだけれど)ところまで。 “MicroPython的午睡(37) ラズパイPicoとDMA3重塔でZ80の制御を奪う” の続きを読む

MicroPython的午睡(36) ThonnyでATOM Liteにインストール

M5ATOMLiteOnEXTBOARD
Joseph Halfmoon

ラズパイPicoのMicroPythonを使うにあたって頼り切ってきたものにThonny IDEがあります。ふれこみでは「初心者向けのPythonのIDE」であると。しかしこのツール、ラズパイPicoに限らず、マイコン上でMicroPythonを使うときの友というべきものじゃないかと思います。本日、これを使ってM5 ATOM LiteをMicroPython化、まさに一撃。 “MicroPython的午睡(36) ThonnyでATOM Liteにインストール” の続きを読む

MicroPython的午睡(35) ラズパイPico、MCP23017でIO端子数拡張

Joseph Halfmoon

ある目的のためIO本数を32本ほど欲しくなりました。低速で可。ラズパイPicoのGPIOは全部数えても29本です。そこで思い出したのがIOエキスパンダーMCP23017です。I2C接続(ラズパイPico端子は2本のみ使用)で16端子までのIOを使えるようにしてくれるマイコンの友。2チップ使えば合計32端子拡張できます。今回は2チップ搭載の小ボードを作って動作チェックまで。 “MicroPython的午睡(35) ラズパイPico、MCP23017でIO端子数拡張” の続きを読む

MicroPython的午睡(34) ラズパイPico、MEMSマイクのPDM生波形を取得

RPiPico_mems
Joseph Halfmoon

昨日、MEMマイクから出力されるPDM波形をオシロで観察してみました。波形は見えてもどんな音なんだかサッパリです。とは言え専用ICに任せれば信号処理部分はブラックボックスです。最初くらい生の信号の0/1パターンを取得して自前で信号処理もどきをやり、しみじみと納得してみたい。そこでラズパイPicoのPIOを使ってPDMのRAW波形をキャプチャしてみました。

“MicroPython的午睡(34) ラズパイPico、MEMSマイクのPDM生波形を取得” の続きを読む

MicroPython的午睡(33) ラズパイPico、S9705フォトICで照度を測る

RPiPico_S9705DUT
Joseph Halfmoon

前々回、Raspberry Pi PicoのPWMカウンタ入力を制御して周波数を測定できるようになったので、今回はその応用であります。浜松ホトニクスS9705を使って照度(ルクス)を測ってみます。しかし、過去の投稿を読み返し、大間違いを発見、まずはそのお詫びと訂正から。

“MicroPython的午睡(33) ラズパイPico、S9705フォトICで照度を測る” の続きを読む

MicroPython的午睡(32) ラズパイPicoの処理系をようやくv1.15に更新

Greating Message v1.15
Joseph Halfmoon

前回、たまたまRaspberry Pi Picoの公式ページ(getting-started)を眺めていて、配布されているMicroPythonがバージョンUPされていることに気づきました。これはいけない更新しないと。ということで更新いたしました。ところで何が変わった?

“MicroPython的午睡(32) ラズパイPicoの処理系をようやくv1.15に更新” の続きを読む