本固件将HTTP、TCP、UDP、MQTT这四种物联网协议集成在esp8266模块上,并提供了配置接口API,可以任意选择不同的协议和远程服务器通信,使esp8266模块充当远程服务器与MCU数据交换的桥梁,省去MCU使用AT指令去配置esp8266的步骤。
MCU通过串口和esp8266模块通信,MCU只需把协议名称、远程服务器的IP地址,端口、发送的信息封装成一个数据包,通过串口发送给esp8266模块,esp8266模块将数据包解析完成后,将自动上报数据。当esp8266模块收到远程服务器的信息时,便将数据反馈给MCU。
这样就可以实现MCU向远程服务器上报数据,以及远程服务器下发数据给MCU的过程!
工具:FLASH_DOWNLOAD_TOOLS_V3.6.4
固件:WiFiClient.ino.nodemcu.bin
FLASH_DOWNLOAD_TOOLS_V3.6.4
下载链接:https://www.espressif.com/sites/default/files/tools/flash_download_tool_v3.8.8.zip
主界面:
每一项的配置说明:
ESP8266型号图:
(1) 打开FLASH_DOWNLOAD_TOOLS_V3.6.4
(2)选择型号为ESP8266,develop版
(3)依次选中配置项 。Note: 波特率可以调到一点 ,无所谓
烧写位置:0x00000000
(4) 开始烧写
esp8266 EN与VCC接3.3V且保证供电充足,最好独立供电,但要与usbttl共地
GPIO0要接GND才可以进入烧写模式
选择好文件路径与烧写位置以后,配置好各项参数,先清除flash即点击ERASE按钮,此时会显示“正在等待上电重启”,此时将ESP01模组的VCC拔掉再插上即可进入擦除状态。
擦除成功以后,点击START按钮进入烧写模式,重复上一步中的—-此时会显示“正在等待上电重启”,此时将ESP01模组的VCC拔掉再插上即可进入烧写状态。
等进入条完成,拔掉GPIO0的GND线,令其悬空即可进入工作模式。
(5)下载结束 , 复位一下 8266模块
配置项Flash size 选择8Mbit,其余步骤同上:
模块上电后: 首先开始配网操作;配网完成后,接着连接服务器;服务器连接后,可以进行数据传输。
自动掉线重连功能:1. wifi网络断开,开始重连; 2. 服务器掉线,开始重连
500ms闪烁 -- 模块通过eeprom中读到的WiFi信息,连接网络
100ms闪烁 -- 模块正在等待微信配网
1000ms闪烁 -- 模块已经完成配网,正在等待连接服务器
2000ms闪烁 -- 模块已经连接到远程服务器,连接没有问题
Notes:
1. wifi必须为2.4GHz的频道,如果是5GHz,配置会没反应。
2. 测试时,wifi为路由器的网络。如果是手机或电脑开的移动热点,有时可能出现没有反应的问题。
模组配网时,首先从eeprom中读到的WiFi信息,如果这个信息不能正确连接到网络,10s后模块会自动进入微信配网模式,LED灯快闪!
找到公众号:安信可科技 | 开始配置 | 输入WIFI密码,点击连接 |
---|---|---|
等待几秒后,即可。
订阅主题:
{"type":"mqtt","url":"www.caisiyu.top","port":"1883","m_type":"0","topic":"/hum","id":"esp","name":"caisiyu","pwd":"123"}
发布主题:
{"type":"mqtt","url":"www.caisiyu.top","port":"1883","m_type":"1","topic":"/hum","msg":"25","id":"esp","name":"caisiyu","pwd":"123"}
键名 | 键值 | 说明 |
---|---|---|
type | mqtt | 协议名称 |
url | www.caisiyu.top | 服务器地址 |
port | 1883 | 端口 |
m_type | 0 | 0:表示订阅主题、1:表示发布主题 |
topic | /hum | 主题名称 |
msg | 25 | 数据包内容 |
id | esp | 客户端名称 |
name | caisiyu | 用户名 |
pwd | 123 | 密码 |
指令发送完成后,如果参数正确,模组返回
Ok
如果参数不正确,模组返回
error-parameter
当收到消息后,会收到
receive
<>中包含着消息体
/hum-25 : /hum是收到的主题名,25为消息
{"type":"post","url":"www.caisiyu.top:1880","page":"postplain","msg":"{"msg":"hello"}"}
键名 | 键值 | 说明 |
---|---|---|
type | post | 协议名称 |
url | www.caisiyu.top:1880 | 服务器地址 |
page | postplain | 资源路径 |
msg | {"msg":"hello"} | 数据包内容 |
Ok
当收到消息后,会收到
receive< {"caiiyu":"post"} >
<>中包含着消息体
"caiiyu":"post" ,为收到的数据
{"type":"get","url":"www.caisiyu.top:1880","page":"postplain"}
键名 | 键值 | 说明 |
---|---|---|
type | get | 协议名称 |
url | www.caisiyu.top:1880 | 服务器地址 |
page | postplain | 资源路径 |
Ok
当收到消息后,会收到
receive< {"caiiyu":"get"} >
<>中包含着消息体
"caiiyu":"get" ,为收到的数据
{"type":"tcp","ip":"192.168.31.145","port":"12345","msg":" {"msg":"hello"}"}
键名 | 键值 | 说明 |
---|---|---|
type | tcp | 协议名称 |
ip | 192.168.31.145 | 服务器IP地址 |
port | 12345 | 服务器IP地址端口 |
msg | {"msg":"hello"} | 数据包内容 |
指令发送完成后,正常连接服务器后,模组返回
Ok
如果参数不正确,模组返回
error-parameter
当收到消息后,会收到
receive<http://www.cmsoft.cn QQ:10865600>
<>中包含着消息体
{"type":"udp","ip":"255.255.255.255","l_port":"12346","r_port":"12345","msg":"caisiyu"}
键名 | 键值 | 说明 |
---|---|---|
type | udp | 协议名称 |
ip | 255.255.255.255 | ip地址 |
l_port | 12346 | 设置本地端口 |
r_port | 12345 | 设置远程端口 |
msg | {"msg":"hello"} | 数据包内容 |
指令发送完成后,模组返回
Ok
{"query":""}
键名 | 键值 | 说明 |
---|---|---|
query | "" | 空 |
#define NO_Connect_Wifi 0 没有连接wifi -status<0>
#define Connected_Wifi 1 连接wifi -status<1>
#define NO_Connect_Server 2 未连接服务器 -status<2>
#define Connected_Server 3 连接到服务器 -status<3>
如果模组已经连接服务器,指令发送完成后,模组返回
status<3>
{"key":"qisc8rr0dz"}
键名 | 键值 | 说明 |
---|---|---|
key | qisc8rr0dz | 密钥 |
如果密钥正确,指令发送完成后,模组返回
Ok
error-secret
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。