ESP8266 Node mcu WIFI无线控制入门方法
第一步: 使用Arduino uno 完成简单控制
1.安装Node mcu开发板编译器,步骤如下:
- 打开arduino IDE ---> 文件--->首选项
2.打开首选项,选择 附加开发板管理器网址, 添加第三方开发板管理器网址:
添加如下网址,并点击确定.
http://arduino.esp8266/stable/package_esp8266com_index.json
3. Arduino IDE中,点击工具-->开发板-->开发板管理器
4.打开开发板管理器,搜索"esp8266",点击安装
5.将ESP8266插入电脑USB接口.
6. Arduino中选择工具-->开发板--->NodeMCU1.0
7. 选择ESP8266连接的串口端口,可以查看自己设备管理器中具体连接的串口端口号
8.编写测试代码
/*
本实验让学生了解node mcu 这块板子拥有跟arduino 一模一样的操作方式
先用程序测试点亮LED灯
数字 13=D7 ;16=D0; 15=D8;14=D5;12=D6;4=D2;3=D9;2=D4;1=D10;0=D3;
*/
void setup() {
pinMode(LED_BUILTIN,OUTPUT); //LED_BUILTIN 板子自带测试LED灯, 可以换成其他引脚
}
void loop() {
digitalWrite(LED_BUILTIN,LOW);
delay(1000);
digitalWrite(LED_BUILTIN,HIGH);
delay(1000);
}
9.上传代码,简单测试ESP8266.
10. 这只是 简单测试ESP8266 MCU第一步.
第二步: 将ESP8266 MCU 连入WiFi 路由器, 远程控制引脚连接的LED灯.
(控制方式: 在WiFi同一网络内,使用电脑或者手机终端的浏览器,来控制ESP8266 MCU 引脚连接的LED灯)
1.Arduino IDE中编写如下代码:
/*
* 本实验将教你如何将板子设定成HTTP服务器
* 本服务器会依照接收到的信息去改变*引脚
* http://server_ip/gpio/0 会将脚位变成 低电压
* http://server_ip/gpio/1 会将脚位变成 高电压
* 本服务器的ip会在序列号中显示
*/
#include<ESP8266WiFi.h>
const char* ssid = "******"; //这里输入你家的WiFi名称
const char* password = "******"; //这里输入你家的WiFi密码
WiFiServer server(80); //开启此板子的port80
//#define GPIO2 2
void setup() {
Serial.begin(115200); //开启电脑的串口号,速度设为115200
delay(10);
pinMode(2,OUTPUT); //将引脚2设为输出,就是板子上面D4的脚位
digitalWrite(2,0); //先将这引脚设为低电压
//接下来板子开始要连线到你家的路由器了
Serial.println(); //打印空格
Serial.println(); //打印空格
Serial.println("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");
server.begin(); //服务器启动
Serial.println("Server started");
Serial.println(WiFi.localIP()); //列出此服务器被分配到的网络IP
}
void loop() {
//确定是否连线中,不是的话就跳出去
WiFiClient client = server.available();
if(!client){
return;
}
//等待传到这个服务器的信息,一直等一直等
Serial.println("new client");
while(!client.available()){
delay(1);
}
// 收到传过来的信息之后,将收到的信息存入req
String req = client.readStringUntil('\r');
Serial.println(req); // 打印收到的信息
client.flush();
//开始比对收到的信息来决定作什么事
int val;
if (req.indexOf("/gpio/0") != -1) //如果收到/gpio/0
val = 0;
else if (req.indexOf("/gpio/1") != -1) //如果收到/gpio/1
val = 1;
else{
Serial.println("invalid request");
client.stop();
return;
}
digitalWrite(2,val); //依照收到的信息改变灯的亮暗
client.flush();
// Prepare the response
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");
}
2. 注意以上代码中需要更改WiFi路由器名称与密码
3.Arduino IDE 中点击上传代码.
4.Arduino IDE中,启动串口调试器 , 按esp8266板载重置按钮,
此时将在串口调试器显示,esp8266 作为服务器的ip地址.
5.测试代码,打开手机上浏览器. 网址栏输入 192.168.**.** /gpio/1 ,esp8266 D4引脚输出高电平, led点亮.
192.168.**.** /gpio/0 , esp8266 D4引脚输出低电平, led关闭.
更多推荐
ESP8266 Node mcu WIFI无线控制入门_01无线远程控制LED
发布评论