💻

Thonnyで、ESP32 - MicroPython環境を構築するよ

2021/07/28に公開

以前、Qiitaの記事 - ESP32-VSCode-microPythonでの開発環境の構築を投稿しました。

https://qiita.com/kotaproj/items/b53006aef9d04053a5ee

Thonny Python IDEでも簡単にMicroPython作業環境を構築できます。

紹介する内容

  • MicroPython用ファームウェアの書き込み
  • Thonny上で環境構築
  • hello worldの実行

確認した環境

  • ホストPC
    • windows10 64bit Home
    • Python3.8.10
    • Thonny 3.3.10
  • ターゲットボード
    • ESP32-WROVER 開発ボード(SPI-SRAMあり)

手順

以下が大まかな流れです。

  • MicroPython用のファームの書き込み
  • Thonnyの設定
  • hello worldの実行

MicroPython用ファームウェアのダウンロード

MicroPythonページ↓より、ファームウェアをダウンロードします。

https://micropython.org/download/esp32/

今回使用するESP32ボードは、SPIRAM(pSRAM)が搭載されているモデルです。

esp32spiram-20210623-v1.16.bin <=安定版
をダウンロードしました。

ファイル名:esp32spiram-20210623-v1.16.bin

ファームウェアの書き込み準備

デバイスマネージャーにて、接続されているポートを確認します。

下記のコマンドで、書き込み用のモジュールをインストールします。

> pip install esptool

下記のコマンドで、ESP32のROMをイレースします。

>esptool.py.exe --port COM5 erase_flash
esptool.py v3.1
Serial port COM5
Connecting........_
Detecting chip type... ESP32
Chip is ESP32-D0WD (revision 1)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: xx:xx:xx:xx:xx:xx
Uploading stub...
Running stub...
Stub running...
Erasing flash (this may take a while)...
Chip erase completed successfully in 8.7s
Hard resetting via RTS pin...

>

次に、ダウンロードしたファームウェアを書き込みます。

>esptool.py.exe --chip esp32 --port COM5 write_flash -z 0x1000  esp32spiram-20210623-v1.16.bin
esptool.py v3.1
Serial port COM5
Connecting....
Chip is ESP32-D0WD (revision 1)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: xx:xx:xx:xx:xx:xx
Uploading stub...
Running stub...
Stub running...
Configuring flash size...
Flash will be erased from 0x00001000 to 0x00182fff...
Compressed 1579744 bytes to 1004692...
Wrote 1579744 bytes (1004692 compressed) at 0x00001000 in 88.9 seconds (effective 142.1 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting via RTS pin...

以上で、MicroPythonのファームの書き込みは完了です。

Thonnyの設定

Thonnyをインストールし、以下の設定を行います。

設定は、メニューバーの"ツール" - "Options"より設定できます。

  • タブ - "インタプリタ"
    • "MicroPython (ESP32)" を選択
    • 接続されているCOM を選択

メニューを閉じると、"Shell"にMicroPythonの起動ログが表示されます。

hello worldの実行

REPLから実行する方法とファイルから実行する方法を記載します。

REPLからhello world

Shellに直接入力します。

ファイルからhello world

  • (1) 新規作成のアイコンをクリック
  • (2) エディタエリアにコードを入力
  • (3) 保存のアイコンをクリック
  • (4) "MicroPython device"を選択する
  • (5) ファイル名を入力("hello.py")
  • (6) "OK"を選択する
    • この時点でESP32内のROMに保存される
  • (7) Shellから実行する

※参考

>>> import os
>>> os.listdir()
['boot.py', 'hello.py']

最後に

ESP32によらず、RaspberryPi Picoなども使用できます。
今後、ESP32の記事も投稿したいと思います。

GitHubで編集を提案

Discussion