ESP-8266¶
MicroPython-Firmware flashen¶
Vorausetzungen¶
- Installierte Pakete:
python3 python3-pip
- Installierte Python-Pakete:
esptool
- MicroPython-Firmware: http://www.micropython.org/download#esp8266
MicroPython flashen¶
- Herausfinden an welches Character-Device der ESP angeschlossen wurde
dmesg
, höchstwahrscheinlich/dev/ttyUSB0
- ESP Flash löschen:
esptool.py --port /dev/ttyUSB0 erase_flash
- Firmware flashen:
esptool.py --port /dev/ttyUSB0 --baud 460800 write_flash --flash_size=detect -fm=dio 0 esp8266-firmware.bin
- Fertig. Wenn das ESP noch lebt existiert nun eine
µPython
-Umgebung im Flash.
Info
Der ausführende User muss entweder Mitglied in der Gruppe dialout
(Debian), uucp
(Arch) oder root
sein.
MicroPython verwenden¶
Über die serielle Konsole¶
Die µPython-Umgebung ist über den UART erreichbar. Dafür können Tools wie minicom
oder screen
verwendet werden:
- Baud-Rate:
115200
- Parity:
8N1
- HW-FC:
Yes
- SW-FC:
No
>>> print("Das ist microPython")
Das ist microPython
>>> import sys
>>> print (sys.version_info)
(3, 4, 0)
Arbeit mit µPython¶
Die µPython-IDE uPyCraft
ist ein Usability-Albtraum. Ein besserer meiner Meinung nach besserer Workflow ist folgender:
.py
-File lokal bearbeiten (vi
, etc...)- Kopieren der Datei über das Tool
rshell
:
$ rshell -p /dev/ttyUSB0 -b 115200
Using buffer-size of 32
Connecting to /dev/ttyUSB0 (buffer-size 32)...
Trying to connect to REPL connected
Testing if ubinascii.unhexlify exists ... Y
Retrieving root directories ... /boot.py/ /webrepl_cfg.py/ /main.py/
Setting time ... Apr 07, 2019 14:41:47
Evaluating board_name ... pyboard
Retrieving time epoch ... Jan 01, 2000
Welcome to rshell. Use Control-D (or the exit command) to exit rshell.
/home/nwinnwa/Desktop/MicroPython> cp dht.py /main.py/
/home/nwinnwa/Desktop/MicroPython>
- Neustart des ESPs: CTRL+D über die serielle Konsole (
minicom
, etc)
Tip
rshell
benötigt natürlich Zugriff auf die serielle Schnitstelle. minicom
(Oder ähnliches) vorher schließen.