Fügen Sie Arduino UNO WiFi hinzu

Verbinden Sie Ihren Mincrocontroller mit dem Internet, indem Sie das ESP8266 WiFi-Modul hinzufügen!

Das ESP8266-Wifi-Modul ist ein komplettes WiFi-Netzwerk, in dem Sie aufgrund seiner einfachen Konnektivität über serielle Kommunikation oder UART-Schnittstelle problemlos als Serving-Wi-Fi-Adapter und drahtlose Internet-Zugangsschnittstelle mit jedem Mikrocontroller-basierten Design verbinden können.

Wenn Sie dieses Modul zu Ihrer Arduino UNO hinzufügen, können Sie weitere und spannende Projekte durchführen

Schritt 1: Schaltung erstellen

Verbinden Sie die auf der beigefügten Pin-Tabelle beschriebenen Pins

Folge diesen Schritten.

  • Verbinden Sie das rote Kabel mit der Fahrgestellnummer (3, 3 V) mit der + 3, 3 V-Spannung des Mikrocontrollers.
  • Verbinden Sie das schwarze Kabel mit der Erde.
  • Verbinden Sie das grüne Kabel mit dem TX des Wifi-Moduls und des Mikrocontrollers
  • Verbinden Sie das gelbe Weiß mit dem Empfang des WLAN-Moduls und des Mikrocontrollers

Über die Schaltung

Der ESP8266 wird ausschließlich mit 3, 3 V betrieben. Mehr als das zerstört das Modul.

WICHTIG Verwenden Sie keine Spannungen über 3, 3 V!

Verbinden Sie die VIN mit 3, 3 V zum Einschalten und den ENABLE-Pin, um das Modul zu aktivieren.

TX ist mit RX verbunden, was bedeutet, dass alles, was wir in ESP8266 senden möchten, von Arduino UNO empfangen wird. Und umgekehrt für RX to TX. Nach dem Aufbau dieser Schaltung sind wir nun bereit, WIFI mit Arduino UNO zu starten.

Schritt 2: Sprechen Sie mit dem Modul

Die Kommunikation mit ESP8266 erfolgt über einen Aufmerksamkeitsbefehl oder AT-Befehle.

Überprüfen Sie die beigefügte AT-Befehlstabelle, um die Codes zu überprüfen.

Einstellen Ihres Boards

1. Laden Sie das hier angehängte Skizzenbeispiel auf Ihr Arduino UNO hoch.

2. Laden Sie Telnet Client für Android herunter

3. Stellen Sie eine Verbindung zu Ihrem ESP8266 Wifi her

4. Sobald die Verbindung hergestellt ist, erhalten Sie die IP-Adresse

5. Öffnen Sie den Telnet-Client auf dem Android-Telefon.

6. Erstellen Sie eine Verbindung, indem Sie auf Verbinden, IP hinzufügen und Port 80 klicken.

Sobald die Verbindung hergestellt ist, senden Sie eine Anfrage, indem Sie Folgendes eingeben:

 esp8266: 

Oder schalten Sie die eingebaute LED mit dem Befehl ein

 LEDON 

Oder schalten Sie die eingebaute LED mit dem Befehl aus

 LEDOFF 

Oder einfach sagen

 HALLO 

Anhänge

  • esp8266Sample.ino Herunterladen

Schritt 3: Über den Code

Alle unsere Anfragen werden in der Funktion loop () gelesen und analysiert

if (wifiSerial.available ()> 0) {

String message = readWifiSerialMessage (); if (find (message, "esp8266:")) {String result = sendToWifi (message.substring (8, message.length ()), responseTime, DEBUG); if (find (Ergebnis, "OK")) sendData ("\ n" + Ergebnis); sonst sendData ("\ nErrRead"); // Auf Befehl ERROR CODE für fehlgeschlagene Ausführung der Anweisung} else if (find (message, "HELLO")) {// empfängt HELLO von wifi sendData ("\\ nHI!"); // Arduino sagt HI} else if (find (Nachricht, "LEDON")) {digitalWrite (13, HIGH); } else if (find (Nachricht, "LEDOFF")) {digitalWrite (13, LOW); } else {sendData ("\ nErrRead"); // Befehl ERROR CODE für UNABLE TO READ}}

Wenn Sie mit Arduino UNO kommunizieren oder etwas tun möchten, fügen Sie einfach Ihre Bedingung hinzu

if (find (message, "")) {
// hier etwas zu tun

}}

Ich habe eine Funktion zur Kommunikation mit ESP8266 hinzugefügt.

/ *
* Name: sendData
* Beschreibung: Funktion zum Senden eines Strings an den TCP-Client mithilfe von cipsend * Parameter: * Rückgabe: void * / void sendData (String str) {String len = ""; len + = str.length (); sendToWifi ("AT + CIPSEND = 0" + len, responseTime, DEBUG); Verzögerung (100); sendToWifi (str, responseTime, DEBUG); Verzögerung (100); sendToWifi ("AT + CIPCLOSE = 5", responseTime, DEBUG); }}

/ * * Name: find * Beschreibung: Funktion zum Abgleichen von zwei Zeichenfolgen * Parameter: * Rückgabe: true, wenn Übereinstimmung andernfalls false * / boolean find (Zeichenfolge, Zeichenfolge, Wert) {if (string.indexOf (Wert)> = 0) return true; falsch zurückgeben; }}

/ * * Name: readSerialMessage * Beschreibung: Funktion zum Lesen von Daten aus Arduino Serial. * Params: * Rückgabe: Die Antwort vom Arduino (falls eine Antwort vorliegt) * / String readSerialMessage () {char value [100]; int index_count = 0; while (Serial.available ()> 0) {value [index_count] = Serial.read (); index_count ++; value [index_count] = '\ 0'; // Null beende den String} String str (Wert); str.trim (); return str; }}

/ * * Name: readWifiSerialMessage * Beschreibung: Funktion zum Lesen von Daten aus ESP8266 Serial. * Params: * Rückgabe: Die Antwort von esp8266 (falls eine Antwort vorliegt) * / String readWifiSerialMessage () {char value [100]; int index_count = 0; while (wifiSerial.available ()> 0) {value [index_count] = wifiSerial.read (); index_count ++; value [index_count] = '\ 0'; // Null beende den String} String str (Wert); str.trim (); return str; }}

/ * * Name: sendToWifi * Beschreibung: Funktion zum Senden von Daten an ESP8266. * Params: Befehl - die zu sendenden Daten / Befehle; Timeout - die Zeit, um auf eine Antwort zu warten; debug - In serielles Fenster drucken? (true = yes, false = no) * Rückgabe: Die Antwort von esp8266 (falls eine Antwort vorliegt ) * / String sendToWifi (String-Befehl, const int timeout, boolesches Debug) {String response = ""; wifiSerial.println (Befehl); // sende das gelesene Zeichen an esp8266 long int time = millis (); while ((Zeit + Zeitüberschreitung)> millis ()) {while (wifiSerial.available ()) {// Der esp hat Daten, also zeigt seine Ausgabe im seriellen Fenster an char c = wifiSerial.read (); // Lies das nächste Zeichen. Antwort + = c; }} if (debug) {Serial.println (Antwort); } return response; }}

/ * * Name: sendToUNO * Beschreibung: Funktion zum Senden von Daten an UNO. * Params: Befehl - die zu sendenden Daten / Befehle; Timeout - die Zeit, um auf eine Antwort zu warten; debug - In serielles Fenster drucken? (true = yes, false = no) * Rückgabe: Die Antwort von der UNO (falls eine Antwort vorliegt) * / String sendToUno (String-Befehl, const int timeout, boolesches Debug) {String response = ""; Serial.println (Befehl); // sende das gelesene Zeichen an esp8266 long int time = millis (); while ((Zeit + Zeitüberschreitung)> millis ()) {while (Serial.available ()) {// Der esp hat Daten, also zeigt seine Ausgabe im seriellen Fenster an. char c = Serial.read (); // Lies das nächste Zeichen. Antwort + = c; }} if (debug) {Serial.println (Antwort); } return response; }}

Das ist es! Nachdem Sie nun gelernt haben, wie Sie mit ESP8266 kommunizieren, können Sie jetzt weitere Internet of Things-Projekte erkunden. Maximieren Sie die Leistung dieses WiFI-Moduls und werden Sie ein Hersteller!.
Fühlen Sie sich frei, Änderungen an meinem Github-Repo hinzuzufügen

Ähnlicher Artikel