注目キーワード
  1. Photoshop
  2. Python
  3. Raspberry Pi
  4. Arduino

ESP32でMicroPythonを始める~Windows10編チュートリアル

ここでは「ESP32」でMicroPythonWindows10環境下で始めるチュートリアルを紹介します。

 

この記事を読むことで

ESP32へMicroPythonをインストールする方法

REPLを使ったMicroPythonの使い方

スクリプトモードでのMicroPython の使い方

を知ることができます。

 

インストール環境は

OS:Windows10

インストールやスクリプト:コマンドプロンプト

マイコン:ESP32 DevKitc -VE

REPL:TeraTerm

となります。

 

Windows10環境で「ESP32」にMicroPythonをインストールする方のお役に立てれば幸いです。

それでは早速始めていきますね!

 

ESP32へMicroPythonをインストールする

最初にESP32へダウンロードするためのファームウェアである「MicroPython」をインストールします。

基本的に下記の公式サイトに沿って進めていきますので、公式サイトを見ながらも進めたいという方は下記よりご覧ください。

 

公式:ESP32でのMicroPython の始め方

 

まずは、下記URLよりESP32用の「MicroPython」をインストールします。

 

MicroPython downloads

 

esp32_micropython_00

URLを開くと、MicroPythonが使えるマイコンが多数表示されるので

Generic ESP32 module

をクリックします。

 

クリックをしたら、インストールできるファームウェアを選べるようになります。

公式サイトによると

ファームウェアの種類

毎日ビルド版ファームウェア

安定ビルド版ファームウェア

SPRAMサポート付き毎日ビルド版ファームウェア

の3種類があり、使い始めは安定ビルド版がお勧めと記載があるので、安定ビルド版のファームウェアを今回はインストールすることにします。

 

したがって

GENERIC:esp32-idf3-20210202-v1.14.bin

をダウンロードしました。

 

esp32_micropython_01

 

ダウンロードしたbinファイルのパスはデフォルトの「Download」に置いておきます。

 

続いて、ESP32へMicroPythonをインストールするための「esptool」をWindows10(PC)にダウンロードします。

 

コマンドプロンプトを開いて以下のコマンドを打ち込みます。(Windows10にPythonがインストールされていることが前提)

pip install esptool

 

インストールができたら、ESP32へ既にインストールされている「Arduino」用のファームウェアを削除していきます。

ESP32とWindows10をUSBポートから接続し

Windows + X

でデバイスマネージャーを開きESP32のシリアルポートを確認します。

 

esp32_micropython_02

 

シリアルポートの確認ができたら

esptool.py –port COM10 erase_flash

とコマンドプロンプトで入力し、既存のファームウェアを削除します。

 

COM※※ は各自のポートに書き換えてください。

 

esp32_micropython_03

 

実行すると

Chip erase completed successfully …

と表示され既存のファームウェアが削除されます。

 

そしたら、インストールしたMicroPythonのファームウェアを書き込みます。

MicroPythonのファームウェアがインストールされた場所は「Download」なので

cd Downloads

とカレントディレクトリを変えて

esptool.py –chip esp32 –port COM10 write_flash -z 0x1000 esp32-idf3-20210202-v1.14.bin

をコマンドプロンプトで実行します。

 

esp32_micropython_04

 

コマンドを実行したが、ダウンロード画面が止まってしまう場合

←Home

キーなど何らかしかキーボードを押してあげると、更新がリスタートしました。

なぜかは分かりませんが、更新が少しずつ動き出したので、良かったです。

 

MicroPythonファームウェアの書き込みが終わると、下記のように表示されて終了します。

esp32_micropython_05

 

これでWindows10環境下でESP32にMicroPython をインストールすることができました。

 

TeraTermとESP32でREPLを実装する

ESP32にMicroPython をインストールできたので、実際にプログラムをしてみましょう。

 

MicroPythonのプログラム方法として

対話型のREPL方式

スクリプトモードで動かす方式

の2種類があります。

その中で、まずはREPL方式のプログラミング方法を紹介します。

 

TeraTerm の準備・設定

REPL方式を使うのに、ここではSSH接続できる「TeraTerm 」を使用します。

Raspberry PiをSSH接続で接続するときに使っている人は、馴染みがあるソフトかもしれません。

 

ESP32をWindows10と接続し、TeraTerm を開いたら「シリアル(E) ポート ○○○○」を選択しOKをクリックします。

 

esp32_micropython_06

 

接続すると、文字化けした字が表示されると思いますが、無視して

設定>シリアルポート>スピード:115200

設定>端末>ロケール:Japanese

設定>全般>ポート:COM10、言語:Japanese

の3つを設定します。

 

esp32_micropython_07

 

設定が終わったら

設定>設定の保存

でしっかりと保存しておきましょう。

 

esp32_micropython_teraterm

 

保存しておかないと、毎回設定し直すことになるので忘れないように。

 

設定の保存などが完了したら、USBポートをWindows10と抜き差しをします。

すると、ESP32が認識されると思います。

 

ESP32でREPLを使ってみる

シリアルポートからESP32の認識ができたら、MicroPythonで実際に「HelloWorld!」を表示してみたいと思います。

 

esp32_micropython_08

 

TeraTerm で

>>> print(“HelloWorld!”)

HelloWorld!

とPrint入力すると、ちゃんとHelloWorld!が表示されているのが確認できます。

 

対話型のREPL方式でプログラムを書いていると、プログラムをリセットしたいときがあると思いますが

Ctrl + D

をクリックすることで、TeraTerm内で書いたプログラムをリセットすることができます。

こちらも覚えておくと良いかと思います。

 

また

import os

os.listdir()

でMicroPythonに予め入っているファイルを確認することができます。

 

デフォルトではArduinoでいう「void setup()」にあたる「boot.py」が入っています。

このセットアップ用のboot.pyと下記で紹介&追加する、「void loop()」にあたる「main.py」をESP32に入れてプログラムを動かすのが良いかと思います。

 

スクリプトモードでESP32を動かす

続いて、スクリプトモードでESP32を動かす方法を紹介していきます。

スクリプトモードと名前があるみたいですが、簡単に説明すると

Pythonファイルを転送できる

方式だと思ってもらえればOKです。

 

スクリプトモードでは主に「main.py」を扱うことが多いと思うので、こちらを紹介します。

 

スクリプトモードの基本的な操作

まずスクリプトモードを使うにあたり、「コマンドプロンプト」に以下のパッケージ「ampy」をインストールします。

pip install adafruit-ampy

 

インストールが完了したらLチカ用の「main.py」を軽く作成し

main.py

"""LED lightning with ESP32"""
from machine import Pin
import time


LEDPIN = Pin(13, Pin.OUT)

while True:
    LEDPIN.value(1)
    time.sleep(1)
    LEDPIN.value(0)
    time.sleep(1)

 

任意の場所にファイルを置いておきます。

ここでは、main.pyをDesktopへ置いておきました。

esp32_micropython_mainpy

 

あとはコマンドプロンプトでmain.pyのディレクトリへ進み、プログラムを書き込むだけです。

esp32_micropython_09

 

main.pyをデスクトップへ置いてあるので

cd Desktop

でカレントディレクトリをデスクトップへ

 

ampy -p COM10 -b 11500 put main.py

でESP32にmain.pyを書き込めます。(-b 115200は無くても動作する)

 

ここで

ampy.pyboard.PyboardError: failed to access \\.\COM10

というエラーが出た方は、TeraTerm で接続がされているなど、ESP32がどこかと接続された状態になっていると思うので、切断しておきます。

プログラムを書き込むときは、TeraTerm などのREPLソフトは閉じておきましょう。

 

書き込めたら、コマンドプロンプトを閉じて、TeraTerm からシリアルで接続してみましょう。

esp32_micropython_led

このようにLチカできればOKです。

 

REPL方式に戻す場合は

ampy -p COM10 -b 115200 rm main.py

とコマンド入力して、main.pyを削除します。

 

スクリプトモードで使うコマンド一覧

ESP32をスクリプトモードで操作する場合に、覚えておきたいコマンドがいくつかあったので、まとめておきます。

 

set AMPY_PORT=COM※※

setでポートを与えておけば、それ以降のput、rm、runでポートを宣言する必要がなくなります。

esp32_micropython_11

 

 

ampy -p COM10 ls

ESP32に入っているPythonファイルの一覧を表示することができます。

main.pyをESP32に入れたかを確認するのに使います。

esp32_micropython_12

 

ampy –help

ampyで使用できるコマンドの一覧が表示されます。

esp32_micropython_10

 

helpの一番下に「Commands:」という項目があるので、ここから使いたいコマンドを覚えるのが良いかと思います。

 

以上で、ESP32でMicroPythonを一通り使えると思うので、是非試してみてください!

この記事がお役に立てば幸いです。

 

お疲れ様でした。

esp32_micropython_thumbnail
学びに関する情報をチェック!