2016-04-06 22 views
0

Merhaba Arduino Geliştirme için çok yeni. Genelde iOS Uygulamaları geliştiriyorum. Arduino Uno R3 ve ESP8266-01 Modülüm var. Arduino kartımı wifi ağım ile ESP8266-01 üzerinden bağlamak istiyorum. Ben şematik böyledir vardır:ESP8266-01'i Arduino ile Ağa Bağlayın UNO R3

Şimdi http://arduino.esp8266.com/stable/package_esp8266com_index.json

Benim Arduino programından Arduino Kuruluna ESP8266 Kütüphanesi yüklemiş

Arduino -> ESP8266

power 3.3V -> vcc , CH_PD

ground -> ground

pin2 -> rx

pin3 -> tx

şu şekildedir: Ben kod derleme yaparken

#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(""); 

} 

Ben hatayı alma:

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.

Lütfen bu sorunu çözmemde bana yardımcı olun r Benim arduino kartımı wifi ağımla bağlamak için başka bir yol ver. herhangi bir yardım takdir edilecektir. Benim kötü ingilizce için özür dilerim ve şimdiden teşekkürler. :)

cevap

1

Önemli: ESP'nizi böyle bağlamayın! Arduino'nuzun RX'i 5V yüksek sinyali ile ESP'yi yok edecektir! Arduino'unuzdan TX gerilimini azaltmak için bir voltaj bölücü kullanın! enter image description here

here den ESP8266wifi.h ve ESP8266wifi.cpp indirmek Libary ESP dahil etmek için: Burada

bir örnektir. Şimdi iki dosyayı * .ino dosyanızın dizinine kopyalayın. İçeriklerini aşağıdaki gibi değiştirin:

#include "ESP8266WiFi.h" 

Şimdi derlemelisiniz.

+0

RX arduino'yu ESP8266 ile bağlamamıyorum. Ve lütfen bana esp8266-01 ile arduino uno r3 ile iyi bir şema önerirsiniz. –