ESP01 i MicroPython

Widok modułu ESP-01
ESP-01

Okazuje się, że mini ESP8266, czyli moduł ESP-01 świetnie nadaje się do programowania językiem MicroPython. Przetestowałem najnowszy (kiedy to piszę) MicroPython w wersji 1.19.1 i ESP-01 z pamięcią flash 1MB Poniżej pokazuję jak sprawdzić czip, wyczyścić flash, wgrać nowy i zaprogramować moduł.

Pinout

BUILTIN LED (niebieska) – GPIO2 -> led = Pin(2, Pin.OUT)
Oczywiście led.off() włącza diodę led.on() wyłącza – jakże by inaczej :)

Połączenie
Sprawdzamy ile pamięci ma nasz czip
 ls /dev/cu.*
esptool.py --port /dev/cu.usbserial-A50285BI --baud 115200 flash_id 
> ls /dev/cu.*
/dev/cu.Bluetooth-Incoming-Port /dev/cu.usbserial-A50285BI
/dev/cu.debug-console           /dev/cu.wlan-debug
> esptool.py --port /dev/cu.usbserial-A50285BI --baud 115200 flash_id
esptool.py v4.1
Serial port /dev/cu.usbserial-A50285BI
Connecting....
Detecting chip type... Unsupported detection protocol, switching and trying again...
Connecting...
Detecting chip type... ESP8266
Chip is ESP8266EX
Features: WiFi
Crystal is 26MHz
MAC: ac:0b:fb:d3:01:68
Uploading stub...
Running stub...
Stub running...
Manufacturer: ba
Device: 6014
Detected flash size: 1MB
Hard resetting via RTS pin...
Czyścimy flash
esptool.py --port /dev/cu.usbserial-A50285BI erase_flash
> esptool.py --port /dev/cu.usbserial-A50285BI erase_flash
esptool.py v4.1
Serial port /dev/cu.usbserial-A50285BI
Connecting...
Detecting chip type... Unsupported detection protocol, switching and trying again...
Connecting...
Detecting chip type... ESP8266
Chip is ESP8266EX
Features: WiFi
Crystal is 26MHz
MAC: ac:0b:fb:d3:ed:a2
Stub is already running. No upload is necessary.
Erasing flash (this may take a while)...
Chip erase completed successfully in 0.0s
Hard resetting via RTS pin...

Resetujemy płytkę (odłączamy na chwilę USB)

Pobieramy firmware 1M ze strony MicroPython:

https://micropython.org/download/esp8266-1m/

Wgrywamy firmware

zmieniamy ścieżkę do foldera w którym mamy plik flash

cd /Users/minimj/Documents/Arduino/VSC_MicroPython/_ADDS/flash

wgrywamy flash

esptool.py --port /dev/cu.usbserial-A50285BI --baud 460800 write_flash --flash_size=detect 0 esp8266-1m-20220618-v1.19.1.bin
> cd /Users/minimj/Documents/Arduino/VSC_MicroPython/_ADDS/flash
> esptool.py --port /dev/cu.usbserial-A50285BI --baud 460800 write_flash --flash_size=detect 0 esp8266-1m-20220618-v1.19.1.bin
esptool.py v4.1
Serial port /dev/cu.usbserial-A50285BI
Connecting....
Detecting chip type... Unsupported detection protocol, switching and trying again...
Connecting...
Detecting chip type... ESP8266
Chip is ESP8266EX
Features: WiFi
Crystal is 26MHz
MAC: ac:0b:fb:d3:ed:a2
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 460800
Changed.
Configuring flash size...
Auto-detected Flash size: 1MB
Flash will be erased from 0x00000000 to 0x00090fff...
Flash params set to 0x0020
Compressed 591476 bytes to 392427...
Wrote 591476 bytes (392427 compressed) at 0x00000000 in 45.0 seconds (effective 105.2 kbit/s)...
Hash of data verified.

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

Teraz odłączamy kabelek z nóżki GPIO0 i resetujemy płytkę (odłączamy na chwilę USB). Otwieramy Thonny, wybieramy port i możemy programować naszego ESP01 w języku MicroPython!

Okno edytora Thonny
Dodatki
PCB prostego programatora ESP-01
Zasilanie ESP-01

LINKI

Dodaj komentarz