ESP8266 erste Gehversuche

Da ich ja schon lange eine kostengünstige Netzwerkanbindung für die Arduinos suche, bin ich auf die ESP8266 gestoßen. Wenn man nach Wifi und Arduino sucht, stößt man entweder auf das originale Wifi Shield, das CC3000 Board/Shield und die ESP8266 Module. Das Wifi Shield ist sicher am einfachsten einzurichten und die CC3000 Boards sind laut den Anleitungen von Adafruit auch nicht so kompliziert aber mir waren die Module immer noch zu Teuer. Ich möchte mehrere Arduinos als Sensoren im Haus verteilen und über MQTT anbinden.

Beim ESP8266 gibt es aber mehrere Punkte die es etwas komplizierter machen und an die will ich mich langsam herantasten.

  • Spannungsversorgung verträgt Maximal 3,6Volt. Die Spannungsversorgung muss gegebenen falls über einen Spannungsregler Angepasst werden. Bei Anschluss an 5V ist das Modul zerstört.
  • Zieht bis zu 240mA  Strom beim Starten und bei weiten Entfernungen des AccessPoints.
    Laut Hersteller müssen bis zu 300 mA kurzzeitig möglich sein.
  • Der zweireihige Port kann nicht ohne Umwege auf ein Steckbrett zum Testen (Luxusprobleme)
  • Die unterschiedlichen Firmware stände
  • Der erste Verbindungsaufbau mit Baudrate und Co. ist oft verwirrend Dokumentiert.
  • Verschiedene Typen und Versionen

Spannungsversorgung und Anschluss an FTDI

Als erstes wollte ich den ESP8266 einfach über den FTDI USB-Seriell Adapter an meinem Rechner Anschließen. Zwar hat mein FTDI einen Schalter für 3,3V und 5V aber dieser ist nur für die Signalpegel (RX /TX) und nicht für den VCC-PIN. Dieser hat immer 5V deswegen ist er wohl auch mit 5V beschriftet und nicht mit VCC. Also musste ich die 5V auf 3,3V absenken. Dazu habe ich eine einstellbaren StepDown Converter verwendet. Dieser muss zwischen 3,3 und 3,6V Ausgeben. Dies habe ich mit der kleinen Schrauben eingestellt. Die schraube ist sehr leichtgängig und kann sich leicht verstellen, deswegen sollte man die Spannung bei Versuchsaufbauten über mehrere Tage / Wochen immer mal wieder prüfen oder man fixiert die Schraube mit Kleber.

StepDown

Den FTDI und dem ESP8266 jeweils mit den PINS RX und TX vertauscht verbinden. 5V und GND des FTDI an die Eingangspins Vin + und Vin –  des Spannungsconverters. Dann noch die Ausgänge Vout + und Vout – an den ESP8266. Zusätzlich von Vout + an den CH_PD des ESP8266. Wenn man jetzt den FTDI mit USB an der PC anschließt sollte am ESP8266 die rote LED angehen. Die Blaue LED blinkt ganz kurz.

Sollte die Blaue LED nicht blinken, kann es sein das CH_PD nicht an Vout+ (also 3,3V) anliegt oder zu viel Strom gezogen wird und das FTDI Modul sowie der Spannungskonverter überfordert sind.

Aufbau ESP8266-FTDI

Verbindung mit einem Terminalprogramm

Ich dachte dann ist alles Leicht. Terminal auf dem COM-Port öffnen, ein Befehl eingeben und gucken was er Antwortet. Da ich für SSH und Telnet Putty benutze, habe ich es einfach gestartet und auf COM4 (laut Gerätemanager) eingestellt. NICHTS! Also rumgestellt. Je nach Firmware ist die Standardeinstellung 9600 … 57600 oder 115200 Baud. Zwischendurch hatte ich mal ein paar Zeichen aber NICHTS!

Dann habe ich den Serial Monitor von Arduino gestartet. COM6 und 9600 Bauds eingestellt und NICHTS! Kurz in der Dokumentation nachgeschaut und das Zeilenende auf NL und CR gestellt. Nochmal kurz ENTER gedrückt und schon war eine Meldung da. Dann AT eingegeben und ein nettes OK als Antwort bekommen. Kurz noch AT+RST zum Resetten gefolgt von einem AT+GMR um die Version auszulesen. Dies sind die BASIS-Befehle.

Terminal
image-488

Weitere Informationen findet man übrigens auf der Herstellerwebseite.

Mit Wifi-Netzwerk Verbinden

Um sich mit einem Wireless LAN zu Verbinden sind auch nicht viele Befehle Notwendig.

Als erstes schaut man sich einmal mit AT+CWMODE? den Wifi Modus an. 1 ist Station Mode, also der ESP8266 ist ein Client im Netzwerk. 2 ist Access Point Mode und 3 ist Station und AccesPoint Modus zusammen. Bei mir war der Auslieferungszustand 2. Interessant ist das der ESP sofort von Windows als WLAN Netzwerk gefunden wird.
Windows-WIFI-AP
Da ich aber keinen Access Point haben wollte sondern nur ein Client habe ich mit AT+CWMODE=1 dies korrigiert. Danach sollte man einmal mit AT+RST neustarten. Mit AT+CWLAP kann man sich jetzt eine Liste mit den Wifi Netzwerken ausgeben. Mein Netzwerk wurde mit (3,”bluepc”,-59,”##:##:##:##:##:##”,11) ausgegeben. 3 steht für WPA2+PSK und danach folgt die ausgestrahlte SSID. -59 ist die Signalstärke und danach wiederum folgt die MAC-Adresse des Accespoints.

Also schnell mit AT+CWJAP=”bluepc”,”Password” verbinden und auf ein OK warten. Nun ist der ESP mit dem WLAN verbunden. Mit AT+CWQAP kann man die Verbindung wieder trennen.

Terminal-Wifi-Verbindung
image-489

Was ich nicht verstehe ist das die Abfrage des Verbindungsstatus. AT+CIPSTATUS gibt mir den Status 5 zurück gibt. Dieser ist nicht einmal dokumentiert. Laut AccessPoint hat er aber sogar schon eine IP-Adresse bekommen und diese kann man auch anpingen. Mit AT+CIFSR kann man diese IP-Adresse auch am ESP abfragen. Wenn man nun AT+CIPSTATUS nochmal den Status abfragt wird dieser korrekt mit 2 (connected) angegeben. Sehr merkwürdig.

Terminal-Wifi-IP
image-490

 

2 Comments

  1. Pf@nne

    Hi Jörg,

    >Ich möchte mehrere Arduinos als Sensoren im Haus verteilen und über MQTT anbinden.
    Genau das ist auch mein Ansatz! Bist du hier schon weiter gekommen?
    Hast du Lust mal über deine Ansätze zu philosophieren?

    Ich möchte meine Sensoren / Aktoren über den ESP / ATMEGA über MQTT an meine vorhandene FHEM Haussteuerung ankoppeln. Das erscheint mir recht praktikabel und günstig.

    Ich muss dazu sagen, dass ich mir die kleinen gerade erst bestellt habe und noch keine Erfahrung gesammelt habe……

    Gruß
    Pf@nne

  2. Pingback: ESP8266 zweiter Versuch – Blue-PC

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

85 − = 82