Zum Inhalt

ESP-8266

MicroPython-Firmware flashen

Vorausetzungen

MicroPython flashen

  1. Herausfinden an welches Character-Device der ESP angeschlossen wurde
    • dmesg, höchstwahrscheinlich /dev/ttyUSB0
  2. ESP Flash löschen:
    • esptool.py --port /dev/ttyUSB0 erase_flash
  3. Firmware flashen:
    • esptool.py --port /dev/ttyUSB0 --baud 460800 write_flash --flash_size=detect -fm=dio 0 esp8266-firmware.bin
  4. 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.