PythonでTENORI-ONを動かすblog(仮)

PythonでMIDIを作ってYAMAHAのTENORI-ONをごにょごにょするよ。

MaixduinoでBLINK使おうとして失念した話

※理解が正しくない部分など、ちょいちょい加筆・修正しています

 

本当は「M5Atom LiteとBLINKでモータードライバ を動かす」話を先にかくべきだったのに、順序が逆になってしまうのですが。。

失敗まとめは時間が経つと書く気が無くなるので、勢いがあるうちに書いておきます。

 

BLINKとは

blog.livedoor.jp

試そうとしたライブラリ

Readmeの手順参照

github.com

失念した理由

  • Maixpyがライブラリ"uselect"を扱わなくなったため、blinklib_mp.pyの読み込みでエラーになる。
    • uselectは公式から綺麗さっぱり消えてる。。
    • replでhelp('modules')を叩いても出てこない。
    • 結論)現段階では無理そう。
    • 追記)2020/8/22現在は、Ano研さんがSipeedにIssueをあげてくださってるので、今後に期待。

古いバージョンなら使えるとか、Micropythonのソースから持ってくる手もあるのかもしれないけれど、今時間をかけてやる意義はないと判断した。

maixpy.sipeed.com

失念したけれど勉強になったこと

  • MaixduinoでK210からESP32を呼び出すには、K210とESP32でシリアル通信をする必要がある。 MaixPyから直接DIGITAL/PWM呼ぶ方法がわかったので、別記事書きました。(ANALOG INはK210とESP32をシリアル通信で良いらしい)
  • K210はMaixPy IDEから書き込み。ESP32は Arduino IDEから書き込みを行う。
    • シリアルポートに2種類出てくる。AがK210、BがESP32。
  • シリアル通信やWi-FI接続でエラーが出る場合は、ESP32のファーム書き換えが解決する場合がある。
    • windowsGUIのツールがあるが、macの場合はestpool.pyで書き込む(後述)
  • この辺のまとまった情報については、Ano研さんの「MAiX MAniaX」が良い。
  • Maix Bitを使ったGPIO制御ならトラ技の2019年11月号も情報量がある。(ESP32ではない)
  • Wi-Fiの処理はK210側でやるのが基本らしい。
    • 試しにESP32側でWi-Fi処理書いたら、ひたすら再起動かかってダメだった。

ちなみにArduino IDEで、全手の処理をArduinoで書くという手もあるけれど、IDEのバージョンなどでSDカード読み込めなくてはまるなどあって、今は触っていない。(もしかしたらファームの更新で改善されたかも?)

 

cc.cqpub.co.jp

 mac OSによるESP32のファーム更新

 参考になった記事。

dev.classmethod.jp

自分の環境ではこうなりました。

/Users/ユーザー名/.pyenv/versions/anaconda3-5.0.1/envs/py/bin/esptool.py --chip esp32 --port /dev/tty.usbserial-00002114B --baud 115200 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 80m --flash_size detect 0x000 ./maixduino_esp32_firmware_v1.4.1_0x0.bin