====== ESP8266 am Uno ====== ===== Hardware-Komponenten ===== ==== ESP-01 ==== 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 [[https://github.com/watterott/Level-Shifter/blob/master/hardware/Level-Shifter-4_v10.pdf|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 [[http://www.dx.com/de/p/open-smart-esp8266-wi-fi-transceiver-module-usb-to-esp-01-adatper-452227|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. ==== Arduino Uno R3 ==== Es gibt sehr viele Varianten des Uno R3. Ich habe eine [[http://www.dx.com/de/p/micro-usb-socket-atmega328p-development-board-for-arduino-uno-r3-blue-black-370842|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. ===== Software ===== ==== Bibliotheken ==== Für die Verbindung zwischen Arduino Uno und ESP8266 wird die Bibliothek ''SoftwareSerial'' notwendig, die über das Bibliotheksmanagement eingebunden wird. ==== IOT mit Blynk ==== https://www.blynk.cc/ Ü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. ===== Quellen ===== https://create.arduino.cc/projecthub/circuito-io-team/simple-arduino-uno-esp-8266-integration-dba10b\\ https://fkainka.de/wlan-modul-verbindung-aufbauen/\\ http://docs.iteadstudio.com/ITEADLIB_Arduino_WeeESP8266/index.html