手順
こちらを参考にした。
Pymakrの使い方が変わっていたので注意
- esp32にmicropython用のファームウェアを書き込む
- NodeJSのインストール
- Pymakrのインストール
- サンプル実行
1. esp32にmicropython用のファームウェアを書き込む
ファームウェアのダウンロード
python環境整備
何かしらpython環境を用意する。自分は仮想環境作ったりするのめんどくさかったので、システムにインストールしていたpython 3.10.7でやってしまった。
書き込み用モジュールのインストール
esptoolというモジュールを利用する。pipもしくはcondaでインストールができる。
> pip install esptool
or
> conda install -c conda-forge esptool
ファームウェアの書き込み
まず、esp32とPCをUSBケーブルで接続する。
ケーブルを接続した状態で、デバイスマネージャー※を開いて接続しているポートを調べる。下図ではCOM8
※ 左下のスタートボタン(windowsアイコン)を右クリック > デバイスマネージャー
esp32のROMを削除する。
> esptool --port COM8 erase_flash
削除出来たらファームウェアを書き込む。
> esptool --chip esp32 --port COM8 write_flash -z 0x1000 esp32-20220618-v1.19.1.bin
2. NodeJSのインストール
VSCodeで開発を行う場合、Pymakrという拡張機能を使う。PymakrではNodeJSが必要になるのでNodeJSをインストールする。
NodeJSのページからインストーラーをダウンロードし、インストールするだけ。
3. Pymakrのインストール
VSCodeのExtensionの検索窓でpymakrを検索し、インストールする。
4. サンプル実行
VSCode左端のアクティビティバーにあるpymakrのアイコンを押し、表示されるCreate projectを押すとエクスプローラーが起動するので、好きな場所を選び Use this folder
を押す。
project nameを入れてエンターを押す。
今回はとりえあずemptyを選択する。
esp32とつないでいるポートを選択する。
アクティビティバーにあるエクスプローラーを押し、main.pyを開く。
参考リンクにあるサンプルコードをコピペする。
import time
from machine import Pin
led = Pin(27, Pin.OUT)
def run():
for i in range(10):
led.value(1)
time.sleep(1)
led.value(0)
time.sleep(1)
アクティビティバーにあるpymakrのアイコンを押し、esp32と接続しているポートの名前のところにあるconnect device(雷みたいなアイコン)を押して、esp32と接続する。
接続している状態で、upload(雲に↑)を押すと、pythonファイルがアップロードされる。
ここで、参考リンクで用いているサンプルコードは、run()メソッドを定義し、その内部で処理をしている。そのため、アップロードするだけでは実行されない。(逆を言うと、グローバルにコードを書いていれば、アップロード時に実行される)
サンプルコードを実行するには、create terminal(□に>のアイコン)を押して、ターミナルを開き
>>> import main
>>> main.run()
とすることで実行できる。
わざわざターミナルから実行しないといけないので、基本はグローバルに書いてよいと思うが、面白かったので記載した。