2016-04-06 107 views
0

Hallo, ich bin sehr neu zu Arduino Developing. Generell entwickle ich iOS Apps. Ich habe Arduino Uno R3 und ESP8266-01 Modul. Ich möchte mein Arduino-Board über ESP8266-01 mit meinem WiFi-Netzwerk verbinden. Ich habe Schema ist wie folgt:Verbinden Sie ESP8266-01 mit WiFi-Netzwerk mit Arduino UNO R3

Arduino -> ESP8266

power 3.3V -> vcc , CH_PD

ground -> ground

pin2 -> rx

pin3 -> tx

Jetzt habe ich Esp8266 Bibliothek Arduino-Board installiert von http://arduino.esp8266.com/stable/package_esp8266com_index.json

My Arduino Programm ist wie folgt:

#include <ESP8266WiFi.h> 

const char* ssid = "your-ssid"; 
const char* password = "your-password"; 

int ledPin = 2; // GPIO2 
WiFiServer server(80); 

void setup() { 
Serial.begin(115200); 
delay(10); 

pinMode(ledPin, OUTPUT); 
digitalWrite(ledPin, LOW); 

// Connect to WiFi network 
Serial.println(); 
Serial.println(); 
Serial.print("Connecting to "); 
Serial.println(ssid); 

WiFi.begin(ssid, password); 

while (WiFi.status() != WL_CONNECTED) { 
delay(500); 
Serial.print("."); 
} 
Serial.println(""); 
Serial.println("WiFi connected"); 

// Start the server 
server.begin(); 
Serial.println("Server started"); 

// Print the IP address 
Serial.print("Use this URL to connect: "); 
Serial.print("http://"); 
Serial.print(WiFi.localIP()); 
Serial.println("/"); 

} 

void loop() { 
// Check if a client has connected 
WiFiClient client = server.available(); 
if (!client) { 
return; 
} 

// Wait until the client sends some data 
Serial.println("new client"); 
while(!client.available()){ 
delay(1); 
} 

// Read the first line of the request 
String request = client.readStringUntil('\r'); 
Serial.println(request); 
client.flush(); 

// Match the request 

int value = LOW; 
if (request.indexOf("/LED=ON") != -1) { 
digitalWrite(ledPin, HIGH); 
value = HIGH; 
} 
if (request.indexOf("/LED=OFF") != -1) { 
digitalWrite(ledPin, LOW); 
value = LOW; 
} 

// Set ledPin according to the request 
//digitalWrite(ledPin, value); 

// Return the response 
client.println("HTTP/1.1 200 OK"); 
client.println("Content-Type: text/html"); 
client.println(""); // do not forget this one 
client.println("<!DOCTYPE HTML>"); 
client.println("<html>"); 

client.print("Led pin is now: "); 

if(value == HIGH) { 
client.print("On"); 
} else { 
client.print("Off"); 
} 
client.println("<br><br>"); 
client.println("Click <a href=\"/LED=ON\">here</a> turn the LED on pin 2 ON<br>"); 
client.println("Click <a href=\"/LED=OFF\">here</a> turn the LED on pin 2 OFF<br>"); 
client.println("</html>"); 

delay(1); 
Serial.println("Client disonnected"); 
Serial.println(""); 

} 

Wenn ich meinen Code zu kompilieren Ich bin Fehler erhalten:

In file included from /Users/Mohak/Documents/Arduino/libraries/ESP8266WiFi/src/ESP8266WiFi.h:39:0, from /Users/Mohak/Desktop/sohan Demos/Arduino Sketches/wifiweb_Server/wifiweb_Server.ino:1: /Users/Mohak/Documents/Arduino/libraries/ESP8266WiFi/src/WiFiClient.h:24:18: fatal error: memory: No such file or directory #include ^compilation terminated. exit status 1 Error compiling.

Bitte helfen Sie mir, dieses Problem zu lösen o r gib mir irgendeinen anderen korrekten Weg, um mein Arduino-Board mit meinem WiFi-Netzwerk zu verbinden. jede Hilfe würde geschätzt werden. Entschuldigung für mein schlechtes Englisch und danke im Voraus. :)

Antwort

1

Wichtig: Schließen Sie Ihr ESP nicht so an! Der RX Ihres Arduino wird das ESP mit seinem 5V High-Signal zerstören! Verwenden Sie einen Spannungsdividierer, um die TX-Spannung von Ihrem Arduino zu reduzieren! Hier

ein Beispiel: enter image description here

Um das ESP gehören Libary herunterladen ESP8266wifi.h und ESP8266wifi.cpp von here. Kopieren Sie nun die beiden Dateien in das Verzeichnis Ihrer * .ino-Datei. Ändern Sie Ihr Include zu:

#include "ESP8266WiFi.h" 

Jetzt sollte es kompilieren.

+0

Ich habe RX von arduino nicht mit ESP8266 verbunden. Und bitte schlagen Sie mir gute Schaltpläne mit esp8266-01 zu arduino uno r3 vor. –