2 Star 4 Fork 4

caisiyu / esp8266_iot_bin

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

介绍

​ 本固件将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

主界面:

image-20210908195209722

每一项的配置说明:

image-20210908195137515

ESP8266型号图:

image-20210908200348620

image-20210908200357161


1. ESP8266-12E、12F、12S型号

(1) 打开FLASH_DOWNLOAD_TOOLS_V3.6.4

image-20210908194442067

(2)选择型号为ESP8266,develop版

image-20210908194511707

(3)依次选中配置项 。Note: 波特率可以调到一点 ,无所谓

​ 烧写位置:0x00000000

image-20210908195032560

(4) 开始烧写

  1. esp8266 EN与VCC接3.3V且保证供电充足,最好独立供电,但要与usbttl共地

  2. GPIO0要接GND才可以进入烧写模式

  3. 选择好文件路径与烧写位置以后,配置好各项参数,先清除flash即点击ERASE按钮,此时会显示“正在等待上电重启”,此时将ESP01模组的VCC拔掉再插上即可进入擦除状态。

  4. 擦除成功以后,点击START按钮进入烧写模式,重复上一步中的—-此时会显示“正在等待上电重启”,此时将ESP01模组的VCC拔掉再插上即可进入烧写状态。

  5. 等进入条完成,拔掉GPIO0的GND线,令其悬空即可进入工作模式。

(5)下载结束 , 复位一下 8266模块


2. ESP-01、ESP-01S型号

配置项Flash size 选择8Mbit,其余步骤同上:

image-20210908200147522

固件使用

模块上电后: 首先开始配网操作;配网完成后,接着连接服务器;服务器连接后,可以进行数据传输。

自动掉线重连功能:1. wifi网络断开,开始重连; 2. 服务器掉线,开始重连

LED指示灯功能

500ms闪烁 -- 模块通过eeprom中读到的WiFi信息,连接网络

100ms闪烁 -- 模块正在等待微信配网

1000ms闪烁 -- 模块已经完成配网,正在等待连接服务器

2000ms闪烁 -- 模块已经连接到远程服务器,连接没有问题

微信配网

Notes:

1. wifi必须为2.4GHz的频道,如果是5GHz,配置会没反应。
2. 测试时,wifi为路由器的网络。如果是手机或电脑开的移动热点,有时可能出现没有反应的问题。

模组配网时,首先从eeprom中读到的WiFi信息,如果这个信息不能正确连接到网络,10s后模块会自动进入微信配网模式,LED灯快闪!

找到公众号:安信可科技 开始配置 输入WIFI密码,点击连接
image-20210909164354299 image-20210909164450383 image-20210909164532165

等待几秒后,即可。

MQTT协议配置指令

订阅主题:

{"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 密码
  1. 指令发送完成后,如果参数正确,模组返回

    Ok

image-20210909161136958
  1. 如果参数不正确,模组返回

    error-parameter

    image-20210909161240816
    1. 当收到消息后,会收到

      receive

      <>中包含着消息体

      /hum-25 : /hum是收到的主题名25为消息

      image-20210909161351379

HTTP协议配置指令

POST方式

{"type":"post","url":"www.caisiyu.top:1880","page":"postplain","msg":"{"msg":"hello"}"}

键名 键值 说明
type post 协议名称
url www.caisiyu.top:1880 服务器地址
page postplain 资源路径
msg {"msg":"hello"} 数据包内容
  1. 指令发出后,模组返回Ok

Ok

image-20210909162536165
  1. 当收到消息后,会收到

    receive< {"caiiyu":"post"} >

    <>中包含着消息体

    "caiiyu":"post" ,为收到的数据

GET方式

{"type":"get","url":"www.caisiyu.top:1880","page":"postplain"}

键名 键值 说明
type get 协议名称
url www.caisiyu.top:1880 服务器地址
page postplain 资源路径
  1. 指令发出后,模组返回Ok

Ok

image-20210909162817833
  1. 当收到消息后,会收到

    receive< {"caiiyu":"get"} >

    <>中包含着消息体

    "caiiyu":"get" ,为收到的数据

TCP协议配置指令

{"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"} 数据包内容
  1. 指令发送完成后,正常连接服务器后,模组返回

    Ok

image-20210909161136958
  1. 如果参数不正确,模组返回

    error-parameter

    image-20210909163048304
    1. 当收到消息后,会收到

      receive<http://www.cmsoft.cn QQ:10865600>

      <>中包含着消息体

      image-20210909163107489

UDP协议配置指令

{"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"} 数据包内容
  1. 指令发送完成后,模组返回

    Ok

image-20210909161136958

查询设备状态

{"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>

  1. 如果模组已经连接服务器,指令发送完成后,模组返回

    status<3>

image-20210909163416065

设置密钥

{"key":"qisc8rr0dz"}

键名 键值 说明
key qisc8rr0dz 密钥
  1. 如果密钥正确,指令发送完成后,模组返回

    Ok

image-20210909163909228
  1. 如果秘钥不正确,模组会返回:

error-secret

image-20210909165552876

空文件

简介

使esp8266包含tcp、mqtt、等物联网协议 展开 收起
C++ 等 2 种语言
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
C++
1
https://gitee.com/caisiyu/esp8266_iot_bin.git
git@gitee.com:caisiyu/esp8266_iot_bin.git
caisiyu
esp8266_iot_bin
esp8266_iot_bin
master

搜索帮助