Wie kann das Flashen eines ESP8266 von einem Mac laufen?
Wie hier beschrieben brauchen wir pyserial und esptool. Die werden wie folgt installiert:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# pyserial # Verzeichnis erstellen und rein wechseln mkdir pyserial cd pyserial/ # Aktuelles Archive holen von https://pypi.python.org/pypi/pyserial wget https://pypi.python.org/packages/source/p/pyserial/pyserial-2.7.tar.gz # auspacken sudo tar -xzf pyserial-2.7.tar.gz # in das Verzeichnis wechseln cd pyserial-2.7 # Installieren sudo python setup.py install # in das Verzeichnis wechseln cd pyserial-2.7 # Testen, mal alle Ports ausgeben python -m serial.tools.list_ports # Ergebnis: die Seriellen-Ports des Systems # ... # /dev/cu.usbserial # 3 ports found # Es gibt auch ein kleines Konsolen Terminal Programm, Miniterm, das kann wie folgt aufgerufen werden: python -m serial.tools.miniterm /dev/cu.usbserial -b 115200 # Ausgabe der AT Befehle: |
1 2 3 4 5 6 7 8 9 |
# esptool # Verzeichnis erstellen und rein wechseln mkdir esptool cd esptool # Esptool landen git clone https://github.com/themadinventor/esptool.git cd esptool # Testen, ausgeben der Programm Parameter python esptool.py -h |
Flashen einer neuen Firmware
Erster Versuch soll mal die MicroPython Firmware von hier sein.
So nun kann die Firmware geflasht werden. Dazu das Archive downloaden und in das Verzeichnis des esptool kopieren.
Vor dem Flashen muss der ESP noch in den Flash Modus geschaltet werden. Dazu den GPIO 0 auf Masse mit einem Pullup von 1KOhm gegen Plus schalten.
Dann das flashen starten:
1 2 3 4 5 6 |
python esptool.py -p /dev/cu.usbserial write_flash 0x00 firmware-combined.bin Connecting... Erasing flash... Wrote 318464 bytes at 0x00000000 in 31.0 seconds (82.2 kbit/s)... Leaving... |
Ok, das Flashen hat geklappt. Nun den Pin GPIO 0 wieder mit einem 10 KOhm an Plus 3,3 Volt legen und starten.
Nun mit einem Terminal Programm verbinden:
1 |
python -m serial.tools.miniterm /dev/cu.usbserial -b 115200 |
und schon haben wir MicroPython auf dem ESP. Ein erster Check mit
1 2 |
print("Hallo Welt, ich bin MicroPython vom ESP8266") Hallo Welt, ich bin MicroPython vom ESP8266 |
Oder ein Soft-Reset mit den Tasten Ctrl+D ausführen:
1 2 3 4 5 |
PYB: soft reset >>> Micro Python v1.4.2-99-g6738c1d on 2015-05-12; ESP module with ESP8266 Type "help()" for more information. >>> |
Welche Firmware ist noch gut? Oder welches Python Script ist nützlich?