HOME
  Security
   Software
    Hardware
  
FPGA
  CPU
   Android
    Raspberry Pi
  
nLite
  Xcode
   etc.
    ALL
  
LINK
BACK
 

[NEW] 2021/12/05

ESP32で Python言語 MicroPythonを動かす方法 ESP32で Python言語 MicroPythonを動かす方法

(Windows 10の WSL環境で ESP32で Python言語 MicroPythonを動かします)

Tags: [電子工作]




● ESP32で Python言語 MicroPythonを動かす方法

 Windows 10の WSL環境で ESP32で Python言語 Micro Pythonを動かします。

 WSL環境は WSL1で OSは Ubuntuを使いました。
 ※ WSL1は USB Serialが使えます。WSL2は USB Serialに非対応。
 ※ WSL環境のお陰で Windows環境でも簡単に Linux系の作業ができる様になりました

ESP32 での MicroPython の始め方

ESP32用 MicroPython チュートリアル

Port: esp32

ESP32

esp32-20210902-v1.17.bin
 esp32-20210902-v1.17.bin v1.17 (2021-09-02) .bin

★今回購入

ESP32 OLED WiFiモジュール+ BluetoothデュアルESP-32 ESP-32S ESP8266&OLED ESP32 OLED
ASIN: B0833MB42H

For Wemos NodeMCU ESP8266 ESP-12F 0.96 inch OLED Display WIFI Module Wireless CP2102 Development Board Micro USB Entrance
ASIN: B08JQMPSDN

ZOYOSINodemcu WifiおよびNodeMCU ESP8266 + 用0.96インチOLEDモジュール開発ボード-公式のボードで動作する製品
ASIN: B08JV8F19Q

KKHMF ESP8266 Wifiモジュール 18650バッテリー 0.96インチ OLED搭載 NODEMCU 開発ボード Arduino互換性
ASIN: B07L5ZGXW8

cd
mkdir esp32
cd esp32
pip install esptool

wget wget https://micropython.org/resources/firmware/esp32-20210902-v1.17.bin

ls -l
# -rw-r--r-- 1 user user 1527504 Sep  2 10:30 esp32-20210902-v1.17.bin

time esptool.py --chip esp32 --port /dev/ttyS21 --baud 230400 read_flash 0x00000 0x400000 backup_e32.img

time esptool.py --port /dev/ttyS21 erase_flash

time esptool.py --chip esp32 --port /dev/ttyS21 --baud 230400 write_flash -z 0x1000 esp32-20210902-v1.17.bin


● MicroPythonのファイルエリアをいじるのに便利っぽい

● Thonny Python IDE
Thonny Python IDE for beginners
 Download version 3.3.13 for Windows, Mac, Linux


● uPyCraft is an IDE

Introduction of uPyCraft
uPyCraft is an IDE works with Windows and Mac

uPyCraft

uPyCraft_src


● ESP32の詳細を知る方法、Flash ROMのサイズ、Chip ID、MACアドレス

 ※ ESP32モジュールの方はコマンド実行前に Bootボタンを押したままにする必要があった。

● ESP32の詳細を知る方法、Flash ROMのサイズ
$ esptool.py --port /dev/ttyS21 flash_id
esptool.py v3.2
Serial port /dev/ttyS21
Connecting..............
Detecting chip type... Unsupported detection protocol, switching and trying again...
Connecting...............
Detecting chip type... ESP32
Chip is ESP32-D0WDQ6 (revision 1)
Features: WiFi, BT, Dual Core, Coding Scheme None
Crystal is 40MHz
MAC: 30:ae:a4:xx:xx:xx
Uploading stub...
Running stub...
Stub running...
Manufacturer: c8
Device: 4016
Detected flash size: 4MB
Hard resetting via RTS pin...

● ESP32の詳細を知る方法、Chip ID
$ esptool.py --port /dev/ttyS21 chip_id
esptool.py v3.2
Serial port /dev/ttyS21
Connecting....
Detecting chip type... Unsupported detection protocol, switching and trying again...
Connecting....
Detecting chip type... ESP32
Chip is ESP32-D0WDQ6 (revision 1)
Features: WiFi, BT, Dual Core, Coding Scheme None
Crystal is 40MHz
MAC: 30:ae:a4:xx:xx:xx
Uploading stub...
Running stub...
Stub running...
Warning: ESP32 has no Chip ID. Reading MAC instead.
MAC: 30:ae:a4:xx:xx:xx
Hard resetting via RTS pin...

● ESP32の詳細を知る方法、MACアドレス
$ esptool.py --port /dev/ttyS21 read_mac
esptool.py v3.2
Serial port /dev/ttyS21
Connecting...................
Detecting chip type... Unsupported detection protocol, switching and trying again...
Connecting....
Detecting chip type... ESP32
Chip is ESP32-D0WDQ6 (revision 1)
Features: WiFi, BT, Dual Core, Coding Scheme None
Crystal is 40MHz
MAC: 30:ae:a4:xx:xx:xx
Uploading stub...
Running stub...
Stub running...
MAC: 30:ae:a4:xx:xx:xx
Hard resetting via RTS pin...

 Bootボタンを押していない場合。esptoolが通信エラーになります。
$ esptool.py --port /dev/ttyS21 chip_id
esptool.py v3.2
Serial port /dev/ttyS21
Connecting......................................

A fatal error occurred: Failed to connect to Espressif device: Wrong boot mode detected (0x17)! The chip needs to be in download mode.
For troubleshooting steps visit: https://github.com/espressif/esptool#troubleshooting

micropython/drivers/display/ssd1306.py


$ time esptool.py --port /dev/ttyS21 read_flash 0x00000 0x400000 backup_e32.img
esptool.py v3.2
Serial port /dev/ttyS21
Connecting.........
Detecting chip type... Unsupported detection protocol, switching and trying again...
Connecting....
Detecting chip type... ESP32
Chip is ESP32-D0WDQ6 (revision 1)
Features: WiFi, BT, Dual Core, Coding Scheme None
Crystal is 40MHz
MAC: 30:ae:a4:xx:xx:xx
Uploading stub...
Running stub...
Stub running...
4194304 (100 %)
4194304 (100 %)
Read 4194304 bytes at 0x0 in 381.6 seconds (87.9 kbit/s)...
Hard resetting via RTS pin...

real    6m24.818s
user    0m22.047s
sys     0m14.328s

$ time esptool.py --chip esp32 --port /dev/ttyS21 --baud 230400 read_flash 0x00000 0x400000 backup_e32.img
esptool.py v3.2
Serial port /dev/ttyS21
Connecting.....................
Chip is ESP32-D0WDQ6 (revision 1)
Features: WiFi, BT, Dual Core, Coding Scheme None
Crystal is 40MHz
MAC: 30:ae:a4:xx:xx:xx
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 230400
Changed.
4194304 (100 %)
4194304 (100 %)
Read 4194304 bytes at 0x0 in 194.7 seconds (172.3 kbit/s)...
Hard resetting via RTS pin...

real    3m20.717s
user    0m13.422s
sys     0m8.031s

$ time esptool.py --port /dev/ttyS21 --baud 460800 read_flash 0x00000 0x400000 backup_e32.img
esptool.py v3.2
Serial port /dev/ttyS21
Connecting...............
Detecting chip type... Unsupported detection protocol, switching and trying again...
Connecting....
Detecting chip type... ESP32
Chip is ESP32-D0WDQ6 (revision 1)
Features: WiFi, BT, Dual Core, Coding Scheme None
Crystal is 40MHz
MAC: 30:ae:a4:xx:xx:xx
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 460800
Changed.
Traceback (most recent call last):
  File "/home/user/.local/bin/esptool.py", line 5143, in <module>
    _main()
  File "/home/user/.local/bin/esptool.py", line 5136, in _main
    main()
  File "/home/user/.local/bin/esptool.py", line 4571, in main
    esp.change_baud(args.baud)
  File "/home/user/.local/bin/esptool.py", line 154, in inner
    return func(*args, **kwargs)
  File "/home/user/.local/bin/esptool.py", line 954, in change_baud
    self._set_port_baudrate(baud)
  File "/home/user/.local/bin/esptool.py", line 353, in _set_port_baudrate
    self._port.baudrate = baud
  File "/usr/lib/python3/dist-packages/serial/serialutil.py", line 295, in baudrate
    self._reconfigure_port()
  File "/usr/lib/python3/dist-packages/serial/serialposix.py", line 435, in _reconfigure_port
    termios.tcsetattr(
termios.error: (5, 'Input/output error')



Tags: [電子工作]

●関連するコンテンツ(この記事を読んだ人は、次の記事も読んでいます)

Raspberry Pi Zero Wを海外通販の Pimoroni等での購入方法、購入できる通販ショップ一覧まとめ
Raspberry Pi Zero Wを海外通販の Pimoroni等での購入方法、購入できる通販ショップ一覧まとめ

  ラズパイゼロW ワイヤレスモデルを海外通販でサクッと簡単に個人輸入で入手。技適通過でも国内販売は常に品切れ

大人気の CPUボード、Raspberry Pi 3 Model Bで作ってみよう
大人気の CPUボード、Raspberry Pi 3 Model Bで作ってみよう

  Raspberry Piの開発環境の構築やタッチパネル付き液晶ディスプレイや各種センサーの使い方まとめ

STM32 STM32F103C8T6マイコンボードを ST-Link V2(中華製の互換ドングル)を使って開発
STM32 STM32F103C8T6マイコンボードを ST-Link V2(中華製の互換ドングル)を使って開発

  STM32F103C8 ARM Cortex-M3 72MHz CPU、ST-LINK Utilityでファームのアップデート

Espressif ESP32 Arduino互換でスケッチが使える WROOM32開発基板
Espressif ESP32 Arduino互換でスケッチが使える WROOM32開発基板

  Espressif ESP32 32ビット Arduino互換マイコンボードをお手軽に開発する方法

Espressif ESP8266 Arduino互換でスケッチが使える ESP-12Eモジュール基板
Espressif ESP8266 Arduino互換でスケッチが使える ESP-12Eモジュール基板

  Espressif ESP8266 ESP-12-E NodeMCU V1 ESP12 CP2102

BangGood通販はドローン以外にも面白い商品がまだまだ有った(電子工作編)
BangGood通販はドローン以外にも面白い商品がまだまだ有った(電子工作編)

  レーザー彫刻機、カラー液晶の DIYオシロ、Arduinoや Raspberry Pi用の小型カラー液晶




[HOME] | [BACK]
リンクフリー(連絡不要、ただしトップページ以外は Web構成の変更で移動する場合があります)
Copyright (c) 2021 FREE WING,Y.Sakamoto
Powered by 猫屋敷工房 & HTML Generator

http://www.neko.ne.jp/~freewing/hardware/espressif_esp32_pyhon_micropython_with_wsl/