【Windows】PythonでESP32を動かす!MicroPythonの使い方・インストール

【Windows】PythonでESP32を動かす!MicroPythonの使い方・インストール

Micropythonとは

MicroPython[2] (マイクロパイソン) は、 C言語で記述されマイクロコントローラ上での動作に最適化されたPython 3の処理系である[3][4]。
MicroPython は完全なPythonコンパイラおよびマイコン上で動作するランタイムを含む。サポートされたコマンドを即時実行するための対話型プロンプト (REPL(英語版)) も用意されている。MicroPython にはPythonのコア・ライブラリのみならず、低レイヤへのアクセスを提供するモジュール群も含まれる[2]。–Wikipedia

簡単に言えば、今話題のESP8266やESP32などでpythonを使えるようにした技術の事です。

Pythonファイルをマイコンに直接アップして実行できますし、Pythonのインタープリタ言語としての特徴を生かしてPCから1コマンドずつ実行できます(REPLと呼ばれる)。
超便利なので、この記事ではその導入方法を紹介します。

私の環境

  • windows10 home
  • DevKit-C(秋月電子)
  • Python3.6.4(anaconda)
    • Pythonは必須なため、インストールしていない人は必ずインストールしましょう

ネット上に殆どwindowsでのやり方がなかったので、簡単に1から導入する方法をまとめました。どうぞご覧ください!

ESP32にファームウェアを書き込む

Micropythonを使うにはファームウェアを書き込む必要があります
方法として

  1. コマンドライン
  2. GUIツール(windows限定)

がありますが、コマンドラインの方が便利なのでそちらが推奨です。

コマンドライン編(推奨)

  1. MicroPythonのダウンロードページに移動
  2. 自分のESP32にあったbinファイルをダウンロード。私の場合、DevKit-Cで、4MBのSPIRAMはついていないのでStandard firmwareを選択
  3. esp32を操作するPythonライブラリ「esptool」をインストール
    pip install esptool
    
  4. binファイルをダウンロードしたフォルダへ移動(コマンドプロンプトの場合、cd Desktopなどでフォルダ移動できる。私はesp32Micropythonというフォルダにbinファイルを保存したためこのようになる。
  5. esp32がusbのどこに繋がっているか調べる。
    powercfg /devicequery all_devices
    

    というコマンドでPCに繋がっているものを列挙できる。その中にesp32らしきものが。

    このCOM3というUSBポートに繋がっているのがesp32です。このCOM3を次で使います。

  6. esp32の中身を以下のコマンドで消す。
    esptool --port COM3 erase_flash
    


    COM4などに繋がっている場合、COM3をCOM4に変えてください。

  7. ファームウェアを書き込む
    esptool --chip esp32 --port COM3 write_flash -z 0x1000 esp32-20190910-v1.111-301-g80d37d936.bin
    

    これで書き込みが始まります。

ESP32にファームウェアを書き込み(GUI編)

binファイルをダウンロードするところまではコマンドライン編と全く同じです。

  1. Espressif(esp32の開発元)のページに飛ぶ
  2. Flash Download Toolsをダウンロードして解凍
  3. exeファイルを起動する。ESP32を選択。
  4. 以下のように設定してSTARTを押して書き込み

これで書き込み終了です。
当ブログではコマンドラインを使った方法でこれからLチカやそのほかの機能を紹介していくので、できればコマンドラインの方法をお勧めします。

シリアル通信をするソフト「uPyCraft」のインストール

MicroPythonを動かすには、

  1. REPL(対話環境)
  2. PythonファイルをESP32に送信

の2つの方法があります。まず簡単なのは対話環境を試すことですが、これにはシリアル通信が必要となります。残念ながらWindows単体ではこの機能はないため、ソフトをインストールしなければなりません

幸い、REPLとPythonファイルを送信するための専用ソフトが用意されているので、これをインストールして使ってみましょう!

  1. uPyCraftをダウンロード
  2. 実行すると以下のような画面が出る

これで使用準備完了です!

Hello worldしてみる

  1. ToolsのSerialからESP32がつながっているポートを選択する
  2. 下のシリアル画面に>>>が出るので、そこにprint("Hello world from ESP32!")と入力

簡単にesp32から返事が返ってきましたね!このように簡単にPythonが使えます。

Lチカをする

Lチカは別記事にしたのでESP32でMicroPythonを使ってLチカする(未執筆)をご覧ください。

参考にしたサイト

返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です