ESP8266远程控制开关示例超全面详细(2021-10-18)

本文详细介绍ESP8266模块的硬件测试、AT指令、NodeMCU固件烧录、lua编程及手机应用控制LED灯的过程,包括软件环境搭建、固件选择、串口调试和网络映射等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ESP8266远程控制开关示例超全面详细

1 背景描述
ESP8266模块是比较标准方便的wifi开发模块,把他当做为单片机,有输入输出引脚和操作指令、内存,就是一个计算机了。引脚收发接口可做串口通讯,WIFI接口依照无线wifi协议通信,都是TCP/IP协议发展的。网上的帖子资料太杂乱。(软件包我发出的下载帖子中,不知道能审核过吗?)
(1)简单测试硬件: 用AT指令即可,仅用于调试ESP8266模块是否正常。ESP8266模块烧写AT固件即可,固件认为是操作系统。
(2)编写应用程序控制: 需烧写可编程的NodeMCU固件,在对应云系统申请即可;基于lua语法编写应用程序,通过ESPlorer工具下载应用程序,手机可控制LED灯的亮灭。当然还有基于Arduino编程的方法。本文基于ESPlorer工具讲解,lua是脚本语言。
2搭建环境
1.1硬件ESP8266-01S
实物可在拼多多购买,有相应资料但很杂乱。记得去网上查找下电路图,板子上写着ESP Prog v1.0 IOTMCU,看下引脚连接。主要看电源引脚、复位和使能开关、收发接口,GPIO口,模块上有GPIO0和GPIO2在使用,找下对应的标号,后面要编程,网上资料较多。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.2软件准备
1.2.1烧录工具
建议使用ESPFlashDownloadTool_v3.6.4.exe这种老固件工具,带有erase功能,但烧写速度不如ESPFlashDownloadTool_v3.4.4.exe;ESPFlashDownloadTool_v3.4.4.exe也可以。不建议使用ESP8266Flasher.exe。去网上下载很多的。
在这里插入图片描述

1.2.1 固件
(1)AT固件用于测试硬件模块,网上搜索可以下载
在这里插入图片描述

(3)NodeMCU固件
申请网址:
https://nodemcu-build.com/index.php

填写信息:邮箱、email许可、release版本(比较稳定)。

在这里插入图片描述

模块列表:
在这里插入图片描述

提交即可,过后编译完后在邮箱收到下载包:
在这里插入图片描述

邮箱下载包链接:
在这里插入图片描述

选用integer类型的包,占用内存小:
在这里插入图片描述

1.2.2 应用程序编程工具
Java的JDK安装,ESPlorer依赖java虚拟机启动:
ESPlorer从github上找版本,2.0版本基本功能无bug,运行bat免安装即可。
在这里插入图片描述

1.3烧录固件
使用ESPFlashDownloadTool_v3.6.4.exe下载
步骤一:
连接串口实物到电脑USB之前,要安装CH340驱动,网上很多可以下载。
在这里插入图片描述

步骤二:
在电脑上找到端口号,win7系统默认不显示,百度下可以解决。
计算机->鼠标右键->管理

在这里插入图片描述

在这里插入图片描述

端口号为COM4;
步骤三:
打开ESPFlashDownloadTool_v3.6.4.exe,设置后可下载。

在这里插入图片描述
在这里插入图片描述

勾选固件;上载固件路径;设置烧录FLASH起始地址0x0000;设置SPI速率;设置SPI模式,DIO和DOUT貌似都可以;FLASH大小8M,ESP98266-01S选择8M,其他可能大一些;DoNotChgBin,根据实际选择COM口号,波特率115200;可复位ESP8266-01S再点击START,等着烧写完即可,关闭此软件避免占用COM4串口。

1.4串口做AT指令测试
很简单的操作,不过遇到两大坑点,要注意:1、选择配套的串口工具;2、勾选发送新行。网上有很多资料,不用多讲。
在这里插入图片描述

1.5苹果手机开关灯
1.5.1编写应用程序
(1)打开ESPlorer-0.2.0,双击ESPlorer.bat即可。先串口连上ESP8266模块。

(2)编写程序,命名为init.lua。上载到ESP8266。图中的几个save按钮功能差不多,随便选一个可以用的。

Init.lua:
print(“Soft AP started”)
wifi.setmode(wifi.SOFTAP)
collectgarbage()

print(“Heep:(bytes)”…node.heap())
print(“MAC:”…wifi.ap.getmac()…"\r\nIP:"…wifi.ap.getip())

led2 = 4
gpio.mode(led2, gpio.OUTPUT)
srv=net.createServer(net.TCP,28800)
srv:listen(8080,function(conn)
conn:on(“receive”, function(client,data)
if(data == “on”)then
gpio.write(led2, gpio.HIGH);
print(“led2 on”)
elseif(data == “off”)then
gpio.write(led2, gpio.LOW);
print(“led2 off”)
else
print(“do nothing”)
end
collectgarbage();
end)
end)

上述为lua语法代码,可查看语法简单解释:
led2 = 4 // GPIO2的引脚数值为4
gpio.mode(led2, gpio.OUTPUT) // 设置模式为输出
srv=net.createServer(net.TCP,28800) // 开启TCP,28800为超时时长
客户端(手机或电脑连接ESP8266的wifi主机,主机监听的端口为8080)连接发送控制:
if(data == “on”)then
gpio.write(led2, gpio.HIGH); // on和off是相对的
print(“led2 on”)
elseif(data == “off”)then
gpio.write(led2, gpio.LOW);
print(“led2 off”)
else
print(“do nothing”)
end
1.5.2TCP测试开关灯
先查询主机的IP,默认为192.168.4.1,使用ESPlorer可查询。
print(“MAC:”…wifi.ap.getmac()…"\r\nIP:"…wifi.ap.getip());

在这里插入图片描述

苹果手机下载TCP工具,没有免费的物联网APP可使用;示例为苹果手机, APP商店搜UDP/TCP/Rest Network Test Utility。
安卓可用国产物联网APP较多,用TCP工具也可以。
在这里插入图片描述
在这里插入图片描述

自己拿GND和IO2之间接了电阻和红色二极管,貌似ESP8266的蓝灯和红色二极管逻辑是反的,不过没关系,自己拿着电压表去测试线IO2的电压即可应用到实际。

在这里插入图片描述
在这里插入图片描述

1.6把ESP8266的wifi路由器映射到公网控制
在网上搜索相关的映射办法,属于网络的知识了,不过要有数通基础,不然通了也不知道原理。

WLAN是英文WirelessLAN的缩写,就是无线局域网的意思。无线以太网技术是一种基于无线传输的局域网技术,与有线网络技术相比,具有灵活、建网迅速、个人化等特点。将这一技术应用于电信网的接入网领域,能够方便、灵活地为用户提供网络接入,适合于用户流动性较大、有数据业务需求的公共场所、高端的企业及家庭用户、需要临时建网的场合以及难以采用有线接入方式的环境等 作为全球公认的局域网权威,IEEE802工作组建立的标准在过去二十年内在局域网领域独领风骚。这些协议包括了802.3Ethernet协议、802.5TokenRing协议、802.3z100BASE-T快速以太网协议。在1997年,经过了7年的工作以后,IEEE发布了802.11协议,这也是在无线局域网领域内的第一个国际上被认可的协议。  在1999年9月,他们又提出了802.11b"HighRate"协议,用来对802.11协议进行补充,802.11b在802.11的1Mbps和2Mbps速率下又增加了5.5Mbps和11Mbps两个新的网络吞吐速率。利用802.11b,移动用户能够获得同Ethernet一样的性能、网络吞吐率、可用性。这个基于标准的技术使得管理员可以根据环境选择合适的局域网技术来构造自己的网络,满足他们的商业用户和其他用户的需求。802.11协议主要工作在ISO协议的最低两层上,并在物理层上进行了一些改动,加入了高速数字传输的特性和连接的稳定性。
玩转ESP8266 SDK编程实例】, 第1集(公开):套件介绍 观看地址:http://v.youku.com/v_show/id_XMTUzNzM3ODg3Mg==.html 操作演示:http://pan.baidu.com/s/1dEGjwVv(视频演示全家福) 第2集(加密):组装WIFI模块,在面包板上搭建实验电路,下载厂家固件并调试 观看地址:http://v.youku.com/v_show/id_XMTUzNzM3NzY1Mg==.html (密码:021295) 操作演示:http://v.youku.com/v_show/id_XMTUzNjkzMDc5Mg==.html 第3集(加密):搭建开发环境,编写第一个程序:串口打印字符 观看地址:http://v.youku.com/v_show/id_XMTUzNzM3NzQ2NA==.html (密码:036370) 第4集(加密):LED闪烁(控制WIFI模块的GPIO口) 观看地址:http://v.youku.com/v_show/id_XMTUzODQ4Mzc4NA==.html (密码:048426) 操作演示:http://v.youku.com/v_show/id_XMTUzNjg2NjQzNg==.html 第5集(加密):按键控制LED(读取GPIO口的状态) 观看地址:http://v.youku.com/v_show/id_XMTUzODQ4Mzc1Mg==.html (密码:054524) 操作演示:http://v.youku.com/v_show/id_XMTUzNjg1MDU0MA==.html 第6集(加密):WIFI连接(把WIFI模块作为服务器,设置为AP模式) 观看地址:http://v.youku.com/v_show/id_XMTU0NjIyMjUxNg==.html (密码:064663) 第7集(加密):UDP通信(把WIFI模块作为服务器,UDP_Service) 观看地址:http://v.youku.com/v_show/id_XMTU0NjIyMjE2NA==.html (密码:071725) 第8集(加密):TCP通信(把WIFI模块作为服务器,TCP_Service,并用电脑控制LED) 观看地址:http://v.youku.com/v_show/id_XMTU0NjIyMTQwNA==.html (密码:082890) 第9集(加密):WIFI连接(把WIFI模块作为客户端,设置为STATION模式) 观看地址:http://v.youku.com/v_show/id_XMTU0NjIyMTM2OA==.html (密码:097974)10(加密):UDP通信(把WIFI模块作为客户端,UDP_Client) 观看地址:http://v.youku.com/v_show/id_XMTU0NjIyMTM2NA==.html (密码:103054) 第11集(加密):TCP通信(把WIFI模块作为客户端,TCP_Client,并用手机控制LED) 观看地址:http://v.youku.com/v_show/id_XMTU0NjM3MDUwOA==.html (密码:112997) 操作演示:http://v.youku.com/v_show/id_XMTUzNjg1MDQ4OA==.html 第12集(加密):渐变灯(PWM) 观看地址:http://v.youku.com/v_show/id_XMTU1MTg5Mjg2NA==.html (密码:122826) 操作演示:http://v.youku.com/v_show/id_XMTUzNjg1MDQ2NA==.html 第13集(加密):七彩灯(PWM控制,并用手机控制LED) 观看地址:http://v.youku.com/v_show/id_XMTU1MTg5MjgwNA==.html (密码:133741) 操作演示:http://v.youku.com/v_show/id_XMTUzNjg1MDEwOA==.html 第14集(加密):光控灯(ADC) 观看地址:http://v.youku.com/v_show/id_XMTU1NDE0NTg5Mg==.html (密码:145693) 操作演示:http://v.youku.com/v_show/id_XMTUzNjg1MDAyMA==.html 第15集(加密):串口通讯(UART中断) 观看地址:http://v.youku.com/v_show/id_XMTU1NDE0NTg4MA==.html (密码:156528
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值