トップ 差分 一覧 ソース 検索 ヘルプ RSS ログイン

ESP32-micropython

https://micropython.org/download

v1.12 以降でesp32 ble を対応しているらしい

( 2021-apr-11 v1.14 )

espidf ( PRG-espidf )がインストールされていること

zypper install gcc 
基板P3コネクタのTX, RX, GND端子をUSBシリアルモジュールの同名の対応端子と接続します。 
その後、SW2を押したままSW1を押して離す(リセット)することで
ESP32がプログラム書き込みモード になります。(SW1を離した後はSW2も離して構いません)
## その後ArduinoIDEから「マイコンボードに書き込む」 を選択するとプログラムが転送されます。
# WriteESP32
 PORT=/dev/ttyUSB0 make erase
 PORT=/dev/ttyUSB0 make deploy
$ pushd ~/arduino_src/WROOM32/PRJ/PYTHON/
$ source ./set-env_micropython.sh
$ pushd $ESPIDF
$ git pull
## Supported git hash (v3.3): 9e70825d1e1cbf7988cf36981774300066580ea7
## Supported git hash (v4.0) (experimental): 4c81978a3e2220674a432a588292a4c860eef27b
$ git checkout 4c81978a3e2220674a432a588292a4c860eef27b
$ git pull
$ git submodule update --init --recursive
$ ./install.sh
$ . ./export.sh
$ bash ./install.sh
$ popd 
$ cd micropython   #
$ git submodule init lib/berkeley-db-1.xx 
$ git submodule update
$ make -C mpy-cross
$ cd ports/esp32
$ make submodules
$ make
$ 
# WriteESP32
PORT=/dev/ttyUSB0 make erase
PORT=/dev/ttyUSB0 make deploy
$ 

  INSTALL

$ git clone --recursive https://github.com/micropython/micropython.git
$ git clone https://github.com/micropython/micropython-lib.git
$ ## git clone --recursive https://github.com/nishimotz/micropython-esp32.git

$ cd ./micropython
$ git checkout v1.16
$ git submodule update --init --recursive  

# $ cd esp-idf
# ## $ git checkout 2c95a77cf93781f296883d5dbafcdc18e4389656
# ## git checkout 5c88c5996dbde6208e3bec05abc21ff6cd822d26
# git checkout 6b3da6b1882f3b72e904cc90be67e9c4e3f369a9
# $ git submodule update --init --recursive
# $ cd ..

$ export PYTHON=python3
$ ## python3 -m pip install pyparsing=2.3.1
$ cd micropython   # 
$ make -C mpy-cross
$ cd ports/esp32
$ make

# WriteESP32
PORT=/dev/ttyUSB0 make erase
PORT=/dev/ttyUSB0 make deploy
How to connect
screen /dev/ttyUSB0 115200 
## quit to [Ctrl+A k]

with Bluetooth BLE

$ export PYTHON=python3
$ ## python3 -m pip install pyparsing=2.3.1
$ git clone --recursive https://github.com/micropython/micropython.git
$ cd micropython
# バージョン v1.14 をチェックアウト
$ ## git checkout v1.12
$ git checkout v1.14
# espidf のバージョン(v4.0-beta1)v4をチェックアウト
$ pushd $ESPIDF
$ checkout 310beae373446ceb9a4ad9b36b5428d7fdf2705f
$ git submodule update --init --recursive
$ popd
$ make -C mpy-cross
$ cd ports/esp32
$ make
# WriteESP32
PORT=/dev/ttyUSB0 make erase
PORT=/dev/ttyUSB0 make deploy

以前の方法

$ git clone https://github.com/micropython/micropython-lib.git
$ git clone --recursive https://github.com/nishimotz/micropython-esp32.git

## git clone https://github.com/micropython/micropython-esp32.git

$ cat micropython-esp32/ports/esp32/Makefile | grep ESPIDF_SUPHASH
ESPIDF_SUPHASH := 2c95a77cf93781f296883d5dbafcdc18e4389656
##  https://github.com/micropython/micropython-esp32.git 
ESPIDF_SUPHASH := 9a26296a0e88a4c3ae27e9c848be970946fff87e

$ cd esp-idf
#$ git checkout 2c95a77cf93781f296883d5dbafcdc18e4389656
$ git checkout 9a26296a0e88a4c3ae27e9c848be970946fff87e
$ git submodule update --init --recursive
$ cd ..

$ cd micropython-esp32
$ make -C mpy-cross
$ cd ports/esp32
$ make

# WriteESP32
PORT=/dev/ttyUSB0 make erase
PORT=/dev/ttyUSB0 make deploy

ESP32-micropython COMMAND

https://micropython-docs-ja.readthedocs.io/ja/latest/esp32/quickref.html

https://micropython-docs-ja.readthedocs.io/ja/latest/esp32/quickref.html

binary

https://micropython.org/download#esp32

esptool.py --chip esp32 --port /dev/ttyUSB0 --baud 460800 write_flash -z 0x1000 esp32-20190125-v1.10.bin

BPI-BIT ( Micro:bit )

http://wiki.banana-pi.org/BPI-Bit?fbclid=IwAR2IF6Cs421xADp5ifxOoQygH8tQvDBGxLsVtWCniP6-S13dpv8e3P1UHkc

Mu editor

https://codewith.mu/

https://github.com/mu-editor/mu

https://github.com/mu-editor/mu.git

Blockly-Micropython

https://github.com/immakermatty/blockly-microPython-ESP

How to connect

screen /dev/ttyUSB0 115200 
## quit to [Ctrl+A k]

Send to micropython

$ pip3 install adafruit-ampy
 $ ampy -p /dev/ttyUSB0 put main.py

mpfshell ツール

インストール
pip3 install mpfshell

$ mpfshell ttyUSB0
mpfs [/]> ls
mpfs [/]> put wifi_cfg.py
mpfs [/]> 
mpfs [/]> repl

*** Exit REPL with Ctrl+] ***>

ampy の使い方

使い方パソコンにampyをインストールするには、コマンドプロンプトを開いて以下のコマンドを実行
>pip install adafruit-ampy
ESP32へファイルを書き込み
ESP32をパソコンに接続し、comポート番号を確認し、コマンドプロンプトから以下のコマンドを実行(例 comポート:COM6, ファイル名:test.py)
>ampy –port com6 –baud 115200 put test.py /test.py
test.pyをmain.pyのファイル名で書き込む場合
>ampy –port com6 –baud 115200 put test.py /main.py
書き込み完了後、以下のコマンドで書き込まれたファイルを確認
>ampy –port com6 –baud 115200 ls
ESP32上のファイル(test.py)を削除
>ampy –port com6 –baud 115200 rm test.py
ESP32上のファイル(test.py)をバックアップ
>ampy –port com6 –baud 115200 get test.py
スクリプトファイルをESP32に書き込まないでESP32上で実行
>ampy –port com6 –baud 115200 run test.pyこの”run”コマンドはESP32にファイルを書き込まずに実行が出来るので、デバック時に非常に便利

bpi-bit

https://github.com/BPI-STEAM/BPI-BIT-MicroPython/releases/tag/20190421
から firmware.bin をダウンロード

$esptool.py --chip esp32 --port /dev/ttyUSB0 --baud 921600 erase_flash 

$esptool.py --chip esp32 --port /dev/ttyUSB0 --baud 115200 write_flash -z --flash_mode dio --flash_freq 40m 0x1000 firmware.bin 

で書き込み。。

blockey-on-micropython

https://github.com/immakermatty/blockly-microPython-ESP


mpy 化する

$ mpy-cross hoge.py
hoge.mpy と言うファイルができるので mpfshell 等で転送する
!! main.py と boot.py はmpyしないこと。。

設定環境

$# python3.6 -m mppEnv
$ source $HOME/arduino_src/WROOM32/PRJ/PYTHON/FOO/mppEnv/bin/activate
$ . ./set-env.sh 
$ . ./set-env_SUPHASH.sh 
$ . $ESPIDF/export.sh 
$ idf.py build
1067  cd ./micropython/
## python3.6 -m mppEnv
source /home/green/arduino_src/WROOM32/PRJ/PYTHON/FOO/mppEnv/bin/activate

外部関数の作り方

https://micropython-docs-ja.readthedocs.io/ja/latest/develop/cmodules.html