
前回はヒープ・メモリの使用状況をちょいと観察しました。上限が小さいRAM領域は貴重。ターゲット機のESP32DevKitCの場合、まだFlash領域の方が余裕があるのでなるべくFlashに「追い出したい」デス。そこで今回はMicroPythonの中間コードにクロスコンパイルしてくれるmpy-crossを使用してみます。
デバイス作る人>>デバイス使う人>>デバイスおたく
前回はヒープ・メモリの使用状況をちょいと観察しました。上限が小さいRAM領域は貴重。ターゲット機のESP32DevKitCの場合、まだFlash領域の方が余裕があるのでなるべくFlashに「追い出したい」デス。そこで今回はMicroPythonの中間コードにクロスコンパイルしてくれるmpy-crossを使用してみます。
MicroPython上でも使えるCPython(フルのPython実装)のサブセット・モジュールを見てます。今回はhashlibとな。この年寄はMD5計算できればいいんじゃね、くらいのいい加減さ。ESP32版のMicroPythonみたらばMD5は割愛されてました。SHA256使え(SHA1もある)ということみたい。
“MicroPython的午睡(113) ESP32版、hashlib使ってsha256を計算” の続きを読む
前回は先入れ先出しが可能なデータ構造 deque を使ってみました。今回は入れる順序には関係なく、入れたデータの大小関係によって取り出しの順番が変わる heapq を使ってみます。まさにヒープソートのアルゴリズムみたいです。端からデータをしまっていけば、取り出すときには大小関係順序通りに取り出せるので便利。ホントか? “MicroPython的午睡(112) ESP32版、heapqで乱雑タプルを昇順にとりだす” の続きを読む
前回、MicroPythonで使えるキーバリュー型のデータベースbtreeを使用。いつものPythonの辞書型と似た操作方法でお楽です。ただ一点メンドクセーのが、「bytes型ライクな」オブジェクトでないと格納できない制限です。直接格納できないデータがあったときにどうするのがお楽か。やっぱりJSON化がいいんじゃない。
“MicroPython的午睡(110) ESP32版、btree + json が一番お楽?” の続きを読む
ESP32シリーズ用のMicroPythonに固有の機能の多くがesp32という名のモジュールに格納されています。その中に周辺の制御用にユニークな機能が一つ、RMTです。もともと赤外線リモコン用の送受信のために搭載されているハード機能を制御するためのクラスです。面白そうなのだけれども、だいたいどのピンが使えるの? “MicroPython的午睡(107) ESP32版、RMT、どこの端子が使えるの?” の続きを読む
別シリーズのRubyちゃん(RX631上のmruby)にラズパイPico用に自前作成のフルMicroPythonのDHT11インタフェース関数を移植しましたが苦戦中です。今回はESP32版のMicroPythonでDHT11接続を行ってみます。ESP32版にはDHT用のモジュール装備されとります。これを使えば一撃と。
“MicroPython的午睡(106) ESP32版、DHT11を接続してみる” の続きを読む
Rubyちゃん(mruby)にはタイマAPIが見当たらないとブー垂れ、ESP32版のMicroPythonでタイマを使ってみることに。MicroPythonでのタイマの利用は過去記事でやってます。STM32マイコン版ではいろいろと。しかしタイマAPIはマイコン・ハードウエアの依存性が強いです。ESP32版ではどこまで?
“MicroPython的午睡(105) ESP32版、インターバルタイマ2本使ってみる” の続きを読む
このところ前日の別シリーズ「Rubyちゃん」と似たことをMicroPythonでやってみる流れです。今回はRubyちゃんでは見当たらないとブーたれていたAPIについて、使用中のESP32版のMicroPythonでどうなっているのか調べてみました。ドキュメントには書いてないことも多いので最後は「マシンに聞く」のが確実。
最近別シリーズの「Rubyちゃん」の次に「MicroPython」する巡りあわせ。RX631マイコン上のmruby処理系で動作させたものをほぼそのままESP32のMicroPython処理系でもやってみる展開です。今回はADC(アナログデジタルコンバータ)。処理系の違いというよりマイコンの考え方の違い、割り切り? “MicroPython的午睡(103) ESP32版、12bit ADC、アッテネータ設定と読み取り” の続きを読む
別シリーズ記事のルネサスRX631マイコン上のRubyでDAC出力をやってみたので、こちらESP32版のMicroPythonでもDAC出力をやってみます。でもね、いつもお世話になっておりますMicroPythonの「ESP32用クイックリファレンス(日本語)」ページにはDACのこと書いてないです。でも使えると。