Erste Schritte mit dem ESP8266

Letztes Jahr habe ich mit FS1000A-Sendern und passenden Empfängern versucht, einige Funksensoren dazu du bringen, dass sie über 433 MHz die Messwerte an den Raspberry Pi schicken. Auch die Versuche mit dem RF12b wollten nicht so richtig erfolgreich sein. Das Problem dabei war an sich nicht die Programmierung, eher ein Übertragungs-/Timingproblem.

Dann bin ich irgendwann auf die ESP8266-Reihe aufmerksam geworden. Die Module kombinieren viele Vorteile:

  • Bereits implementiertes TCP/IP Protokoll (über WLAN)
  • Vorteile eines Mikrokontrollers
    • Energiesparend
    • einfacher Zugriff auf IO-Pins
    • Programmierbar mit der Arduino-IDE
  • sehr kostengünstig

Die Module bieten eine serielle Schnittstelle zur Programmierung und für Konsolenausgabe an, man benötigt lediglich einen USB/seriell-Adapter wie diesen hier. Zum Testen habe ich mir drei Varianten des Moduls liefern lassen: ESP8266-01ESP8266-12 und ESP8266-201. Die erste ist am weitesten verbreitet, also habe ich damit angefangen und wie folgt verkabelt:

ESP8266 Upload_Steckplatine

Der FTDI-Adapter sieht hier ein wenig anders aus, die Pins werden aber gleich verbunden. Mann sollte übrigens genau drauf achten, dass man 3.3V Versorgungsspannung verwendet, die Module sind nicht tolerant zu 5V und werden’s vermutlich nicht überleben.

Zum Programmieren möchte ich die Arduino IDE verwenden, um im Bereich Mikrokontrollerprogrammierung bei der gleichen Entwicklungsumgebung und Sprache zu bleiben. Inzwischen gibt es auch eine bereits angepasste Variante, die man parallel zur bereits verwendeten IDE runterladen und ausführen kann, darin sind die ESP8266-Boards, Libraries und Beispiele bereits enthalten und man kann direkt loslegen.

Der erste Sketch sollte möglichst ein einfacher sein, sowas wie eine LED blinken zu lassen, etc., ich habe mit einer Messung und dem Hochladen zu data.sparkfun.com angefangen. 😉 Das hier ist mein Sketch, der von einem DHT22 die Temperatur und Luftfeuchtigkeit misst, den Heat-Index berechnet, die Versorgungsspannung ermittelt und die Ergebnisse zu Sparkfun hochlädt. Parallel kann man im Browser nachsehen, welche Daten ankommen.

Die serielle Ausgabe habe ich auskommentiert, da ich sie nicht verwende. Ansonsten basiert der Sketch größtenteils auf einem Beispiel.

Und siehe da, es funktioniert und bei Sparkfun werden Daten geloggt.

Dieser Beitrag wurde unter Arduino, Mikrokontroller veröffentlicht. Setze ein Lesezeichen auf den Permalink.

Schreibe einen Kommentar

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

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