ESP8266 debuggen

Über diesen netten Chip habe ich bereits einen Artikel geschrieben. Lief problemlos, weil die Bauteile „zusammengepasst“ haben. Ich habe mir 2 Platinen gebastelt die Raumtemperatur und Feuchtigkeit messen. Den „Weg“ zu dieser Wetterstation habe ich auf Github abgelegt – vielleicht hilft es ja jemandem weiter

2015-10-30 20.08.48
Von oben
2015-10-30 20.09.01
Und von unten

Schwer motiviert habe ich mir noch ein paar Arduino Nanos und ESP8266 bestellt und damit hat erstmal nichts geklappt! Das ist im ersten Moment ärgerlich, hat aber auch den Vorteil, daß man sich näher mit der Materie auseinander setzen muß.

Den Chip auf Breadboards benutzen

Durch den geringen Abstand der Pins kann man den ESP8266 schlecht mit Breadboards verwenden. Deshalb mußt Du vor jeglicher Art von Bastelei einen Adapter löten um Dein Leben leichter zu machen.

Benötigt werden ein Stück Lochraster Platine, eine Buchsenleiste und eine Steckerleiste mit jeweils 8 Pins. Die Steckerleiste besteht aus einem Kunststoffteil und Pins. Ich habe den Kunststoffteil ganz nach oben gedrück und dann falsch herum eingelötet. Die Buchsen ganz normal einlöten und dann auf der Unterseite verbinden. Mangels Draht und Bock habe ich die Brücken mit dem Lötkolben gemacht. Das dauert keine 10 Minuten und der Komfortgewinn ist enorm!

adapter

Probleme mit der Spannungsversorgung

Die ESP’s laufen mit 3,3V. Der Arduino hat einen 3,3V Pin der je nach verbautem Spannungsregler nicht genügend Strom liefert (wie meine neuen Arduinos). Das Problem wird sichtbar wenn die LED’s am ESP8266 dunkler werden oder die Spannung zusammenbricht. Mit einem externen Spannungsregler wie dem. AMS1117 läßt sich das Problem beheben.

Übertragungsraten

Mein erster Satz ESP8266  hat mit einer Symbolrate 9600 Baud gearbeitet. Die nächste Charge mit 115200, Baud die schafft mein neuer Satz Nanos, aber nicht die Alten.

Laut diesem Post läßt sich die Baudrate mit einer aktuellen Firmware setzen. Muß ich unbedingt ausprobieren!

Firmware ist vom Hersteller angepasst

Der gesamte Bereich Firmware ist ungemein spannend. Der ESP8266 wurde von der Firma ESPRESSIF erfunden oder produziert oder kopiert. Mein 2. Satz Chips war von der Firma AI-Thinker, die eine eigene, leicht inkompatible Firmware auf die Geräte gespielt hat und die ich nicht will weil die Sketches nicht damit laufen!

Um angenehmer mit den Chips  rumzumachen habe ich mir einen USB TTL Konverter gekauft (kostet zwischen 3€ und 8€). An Software wird nur die unsägliche Arduino IDE benötigt. Konfiguration ist unter Linux nicht nötig. Einfach die Arduino IDE starten und den Serial Monitor öffnen. Hier solange mit der Baudrate spielen, bis man auf das Kommando AT ein OK zurückbekommt. Hier mal ein Auszug aus einem solchen seriellen Gespräch – meine Kommandos sind fett, die Antworten kursiv:

AT
OK
AT+GMR 
AT version:0.30.0.0(Jul 3 2015 19:35:49)
SDK version:1.2.0
Ai-Thinker Technology Co.,Ltd.
Build:1.2.0.A Aug 7 2015 17:21:44
OK

Dies ist die Antwort der inkompatiblen Firmware. Eine schöne Übersicht über Kommandos habe ich bei Iteadstudio gefunden.

Eine nette Anleitung um die Firmware loszuwerden gibt es im Wiki von mikrocontroller.net.

Zusammengefasst (und darum geht’s in dem Beitrag) braucht man das Esptool zum Flashen und eine aktuelle Firmware. Der Chip muß dazu auch besonders beschaltet werden. Ronny Simon von Simtronyx hat das auf seinem Blog sehr nett beschrieben. Wenn die Schaltung steht alle Serial Monitors schließen und kurz Masse an Reset legen. In das Verzeichnisse der Firmware wechseln und mit esptool flashen

ms@w530: /tmp/esp_iot_sdk_v0.9.5/bin$ sudo esptool.py -p /dev/ttyUSB2 write_flash 0x00000 boot_v1.2.bin 0x01000 at/user1.512.new.bin 0x3e000 blank.bin 0x7e000 blank.bin
Connecting...
Erasing flash...
Wrote 2048 bytes at 0x00000000 in 0.2 seconds (81.7 kbit/s)...
Erasing flash...
Wrote 211968 bytes at 0x00001000 in 20.5 seconds (82.7 kbit/s)...
Erasing flash...
Wrote 4096 bytes at 0x0003e000 in 0.4 seconds (85.6 kbit/s)...
Erasing flash...
Wrote 4096 bytes at 0x0007e000 in 0.4 seconds (85.6 kbit/s)...
 
Leaving...

Zumindest bei mir hat danach alles wirklich super funktioniert 🙂

Alternative Firmware

Ein paar ziemlich coole Leute bieten eine eine Firmware an, die das Ausführen von LUA Script ermöglicht. Eine Anleitung gibts hier. Eine einfache Möglichkeit um an angepasste Firmware zu gelangen ist dieser Build Service. 

 

Dies waren soweit meine Probleme mit dem netten Chip. Falls neue auftreten werde ich diesen Beitrag entsprechend erweitern.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.