首先这里使用的是这一款
这里说明一下如何使用arduino的编译器
文件-首选项
在这里输入这样的网址:http://arduino.esp8266.com/stable/package_esp8266com_index.json
确定后在你选择开发板的地方进去开发板管理器
搜索esp8266后安装
我这里选的是这一块板子
这里是引脚对应的序号
接下来是代码
/*
* This sketch demonstrates how to set up a simple HTTP-like server.
* The server will set a GPIO pin depending on the request
* http://server_ip/gpio/0 will set the GPIO2 low,
* http://server_ip/gpio/1 will set the GPIO2 high
* server_ip is the IP address of the ESP8266 module, will be
* printed to Serial when the module is connected.
*/
#include <ESP8266WiFi.h>
const char* ssid = "XX315_ACM_ICPC";//wifi名称
const char* password = "acm54321";//wifi密码
WiFiServer server(80);//开启80端口
void setup() {
Serial.begin(115200);//开启串口监视器
delay(10);
// prepare GPIO2
pinMode(2, OUTPUT);//设置2号(D4)输出
digitalWrite(2, 0);//默认low
// Connect to WiFi network
Serial.println();
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);
WiFi.begin(ssid, password);//使用名称和密码链接wifi
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.println(WiFi.localIP());//输出板子的ip
}
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);
}
// 接收到信号
String req = client.readStringUntil('\r');//把接收到的信息存储
Serial.println(req);//打印
client.flush();//清空流的缓存,防止阻塞接收下一个信号
// 开始处理收到的信号
int val;
if (req.indexOf("/gpio/0") != -1)//后缀是0
val = 0;
else if (req.indexOf("/gpio/1") != -1)//后缀是1
val = 1;
else {//其他情况
// Serial.println("invalid request");
// client.stop();
// return;
val=1;
}
// Set GPIO2 according to the request
digitalWrite(2, val);//控制亮暗
client.flush();//情况流
// 准备返回报文段
String s = "HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\n<!DOCTYPE HTML>\r\n<html>\r\nGPIO is now ";
s += (val)?"high":"low";
s += "</html>\n";
// Send the response to the client
client.print(s);//发送返回报文段
delay(1);
Serial.println("Client disonnected");
}
这样我们就可以传输0和1了,对于程序员来说能够传输0和1也就等于能够传输一切数据了