MicroPython on ESP32 の はじめ
にゃー、ねこです。違います。
MicroPythonをESP32で動かすなどしました。今更ですね。
準備
今回以下の環境でしばらくやっていくことを決意しました。(2018/10/13現在)
ESP32-DevkitCを使う(なんでもいい)
screenでESP32にアクセスする
WSLはUbuntuを適当にMicrosoft Storeからインストールしました。その他お作法がいろいろ必要ですが割愛。
別にWSLである必要性はないです。
ESP32-DevkitCは以前秋月電子で買ったので今売ってるのとはちょっと違うかもしれません。知らんけど。
1. MicroPythonのファームを入れる
ファームを入れるために以下の環境が必要です。
Python 2.7 or 3.6 (もとからあった)
pipのインストール(なかった)
esptoolのインストール
pipは以下のコマンドでインストールしました。
$ sudo apt update $ sudo apt upgrade $ sudo apt install python3-pip
ちなみにapt updateとかをやらないと無駄につまります。最初にやっておきましょう。
次にpipでesptoolをインストールします。このツールでESP32のファームとかをいじります。
$ pip3 --version $ pip3 install esptool
pip3にしたのはなんとなくです。でもpipでやったときパス通らなかったんだよなぁ…
次にファームをダウンロードします。latestでいいです。
ESP32をつないだらWindows10のデバイスマネージャーでポートを確認します。
WSLからシリアルポートへのアクセスも可能です。が、うまくいかないときもあります。 私の場合だと、一旦Windowsでシリアルポートを開いてからじゃないとできませんでした。試行錯誤してください。
WSL上では/dev/ttyS3
(COM3の場合)のようにシリアルポートは見えています。
ファームをインストールします。
$ esptool.py --port /dev/ttyS3 --baud 115200 chip_id $ esptool.py --port /dev/ttyS3 --baud 460800 write_flash --flash_mode dio --flash_size=detect 0x1000 [ダウンロードしたファイルのパス]
1番目のコマンドでchip idを取得できればアクセスできてます。2番目のコマンドでファームインストールです。各自の環境にそって変えることになります。
screenコマンドでアクセスしてみます。
$ sudo screen /dev/ttyS3 115200
…できませんでした。teratermで開いて繋いで切断してからやってみましょう。
ENボタン押してリセットかけるとズラッ出てきます。やったね。
2. 使う
- Lチカ
MicroPython v1.9.4-631-g338635ccc on 2018-10-08; ESP32 module with ESP32 Type "help()" for more information. >>> from machine import Pin >>> p = Pin(12, Pin.OUT) >>> p.value(1) >>> p.value(0) >>>
あとはまだやってません。 Wifiライブラリとかsocketライブラリが使えるみたいなのでなんかできたらいいなと思います。
いじょい