简体   繁体   中英

Connect ESP8266-01 to WiFi Network with Arduino UNO R3

Hello I am very new to Arduino Developing. Generally I am developing iOS Apps. I have Arduino Uno R3 and ESP8266-01 Module. I want to connect my arduino board with my wifi network through ESP8266-01. I have schematic is like this:

Arduino -> ESP8266

power 3.3V -> vcc , CH_PD

ground -> ground

pin2 -> rx

pin3 -> tx

Now I have installed ESP8266 Library to Arduino Board from http://arduino.esp8266.com/stable/package_esp8266com_index.json

My arduino program is like this:

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

}

When I compile my code I am getting error:

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.

Please help me to solve this problem or give me any other correct path to connect my arduino board with my wifi network. any help would be appreciated. sorry for my bad english and thanks in advance. :)

Important: Dont't connect your ESP like this! The RX of your arduino will destroy the ESP with its 5V high signal! Use a voltage dividor to reduce the TX voltage from your arduino!

Here is an example: 在此处输入图片说明

To include the ESP libary download the ESP8266wifi.h and ESP8266wifi.cpp from here . Now copy the two files to the directory of your *.ino file. Change your include to:

#include "ESP8266WiFi.h"

Now it should compile.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM