Das kleinste Board mit dem ESP8266 ist der ESP-01. Standardmäßig ist diese Baugruppe mit einer AT-Firmware ausgestattet, so dass ein externes Gerät über die Rx und Tx-Leitung miteinander kommunizieren können. Der ESP wird mit 3,3V betrieben, das ist auch bei der Verbindung der Datenleitungen zu beachten, es ist eine Pegelanpassung in der Rx-Leitung notwendig. Im einfachsten Fall ist das ein Spannungsteiler mit zwei Widerständen (1k, 2k) oder etwas komplexer mit einem Level-Shifter. Der Arduino Uno besitzt nur eine Hardware-UART, für die Datenübertragung wird eine zweite serielle Schnittstelle über Software nachgebildet (Library SoftwareSerial). Diese kann aber nur mit 9600 Baud arbeiten. Deshalb muss der ESP8266 mit einem USB-UART-Adapter von der standardmäßigen Baudrate 115200 auf 9600 gestellt werden. Dies erfolgt mit einem Terminalprogramm wie z.B. hterm und dem Kommando:
AT+UART_DEF=9600,8,1,0,0
.
Nach dem Umstellen (auch im Terminalprogramm) und einem Neustart kann man die Kommunikatio testen z.B. mit AT+GMR
kann die Firmware-Version angezeigt werden.
Es gibt sehr viele Varianten des Uno R3. Ich habe eine Variante gefunden, wo auch der 3,3V-Regler mit einem 500mA-Spannungsregler ausgeführt ist, so dass damit das ESP-01 ohne extra Spannungsregler am 3,3V-Pin betrieben werden kann. Die Software-Schnittstelle wird an den Digital-Anschlüssen 2 (Rx) und 3 (Tx) initialisiert. Bitte den obigen Hinweis auf die unterschiedlichen Pegel und die notwendigen Anpassungen beachten.
Für die Verbindung zwischen Arduino Uno und ESP8266 wird die Bibliothek SoftwareSerial
notwendig, die über das Bibliotheksmanagement eingebunden wird.
Über die Blynk-Bibliotheken ist es sehr einfach, Daten z.B. über eine Smartphone-App darzustellen. Der Beginn ist kostenlos. Für umfangreichere Anwendungen müssen dann Display-Elemente erworben werden.
Mit den Beispielen gelingt schnell die Einarbeitung.