当前位置: 首页 > news >正文

福州外贸网站制作关键词seo服务

福州外贸网站制作,关键词seo服务,学校网站模板,go做的网站一、MQTT透传AT固件 安信可提供的烧录WiFi固件工具: 链接: https://docs.ai-thinker.com/%E5%BC%80%E5%8F%91%E5%B7%A5%E5%85%B72 安信可提供的固件库链接: https://docs.ai-thinker.com/%E5%9B%BA%E4%BB%B6%E6%B1%87%E6%80%BB 经过测试,选择这个不可以…

一、MQTT透传AT固件

安信可提供的烧录WiFi固件工具:
链接: https://docs.ai-thinker.com/%E5%BC%80%E5%8F%91%E5%B7%A5%E5%85%B72

安信可提供的固件库链接: https://docs.ai-thinker.com/%E5%9B%BA%E4%BB%B6%E6%B1%87%E6%80%BB

在这里插入图片描述
经过测试,选择这个不可以,因为是4MB 的,上述用到的两款 ESP8266 是 1MB(8Mbit)flash的模组,应该使用

在这里插入图片描述

二、如何刷固件

手头有的 ESP8266:
在这里插入图片描述
在这里插入图片描述
烧录工具
在这里插入图片描述
可直接连接使用(ESP-01S 和 ESP-01均可使用)

在这里插入图片描述
需要注意这个模块仅仅只是转接口,而不能实现向上面那个烧录模块一样完成烧录(ESP-01S 和 ESP-01均可使用)。

TTL 转 USB 下载器,

在这里插入图片描述

可以使用,但是,经过测试,(测试接线方法如下)

在这里插入图片描述

我只完成了对 ESP-01S 的烧写(烧录过程中需要上电提示时,需要将 3.3V 重插拔),对 ESP-01 操作无效。

后查阅资料后,还需要将 EN 接 3.3 V,即:

在这里插入图片描述
烧录软件设置:

在这里插入图片描述

烧录好之后的测试连接:

对于ESP-01S ,只需要将 IO0 那根线去掉,即四根线:

在这里插入图片描述

对于ESP-01 ,需要将 IO0 那根线去掉,EN 还需要加上,即五根线:
在这里插入图片描述
AT 测试使用串口助手即可。(已上传 CSDN)。

在这里插入图片描述
上图中的软件也不是那么好用,不推荐了。。。。

三、MQTT服务器

MQTT服务器测试链接: https://www.emqx.com/zh/mqtt/public-mqtt5-broker


在这里插入图片描述
将域名:broker.emqx.io放到网址转 IP 地址链接: https://ip138.com/中解析出 ip 地址,方便在代码中进行使用。

解析结果如下:

在这里插入图片描述
用第一个 ip 地址就可行(不好用,用然也物联的 test.ranye-iot.net(47.92.129.18))。

需要下载证书并安装。

四、AT 指令

程序中涉及到的 AT 指令

AT\r\n
AT+RESTORE\r\n
ATE0\r\n
AT+MQTTUSERCFG=0,1,"clientld","admin","admin",0,0,""\r\n
AT+MQTTCONN=0,"3.82.39.163",1883,0\r\n
AT+MQTTSUB=0,"esp8266_rxd",1\r\n
AT+MQTTPUB=0,"esp8266_txd","{\"LAMP\":\"OFF\"}",0,0\r\n
AT+CWMODE=1\r\n   

乐鑫 Espressif 官方提供的 AT 指令使用手册和说明的链接: https://docs.espressif.com/projects/esp-at/zh_CN/latest/esp32/AT_Command_Set/index.html

知识点

Station 模式 和 SoftAP 模式
在这里插入图片描述

五、程序

安信可提供的基于 STM32 AT指令开发的链接: https://docs.ai-thinker.com/esp8266/examples/at_demo

在这里插入图片描述

视频教程作者就是根据上面的示例代码进行修改,然后在 STC12C5A60S2 + ESP8266 上实现了。

下面是总结的思路流程(这里作为程序1):

程序1 的流程是:

1、发送恢复出厂默认设置指令将模块恢复成出厂设置:AT+RESTORE

2、关闭回显:ATE0

3、选择 ESP8266 的工作模式:AT+CWMODE=1

4、ESP8266 连接外部的 WiFi,AT+CWJAP= “pSSID”,“pPassWord”

5、MQTT配置用户属性 AT+MQTTUSERCFG=0,1,“clientld”,“admin”,“admin”,0,0,“”

6、连接 MQTT 服务器:AT+MQTTCONN=0,“3.82.39.163”,1883,0

7、订阅指定连接的 MQTT 主题,可重复多次订阅不同的 topic:AT+MQTTSUB=0,“esp8266_rxd”,1

8、while 主循环中实现定时发布:如果连接上了MQTT服务器,就定时发布信息:AT+MQTTPUB=0,“esp8266_txd”,“{“LAMP”:“OFF”}”,0,0

程序配网

此外,还有智能配网的操作演示,有两种方式:ESP-Touch 和 Airkiss,

在这里插入图片描述
使用串口助手直接操作 ESP8266 模块,可用。

此外,根据自身的开发经验,有下面的使用体会:

操作过机智云平台的基于 ESP8266 的项目(远程宠物室),可以使用两种方式进行配网,通过按键(长按和短按),不同配网方式,有指示灯提示。由于此种印象,就有了使用按键进行配网的想法。而在示例代码中,要么是在初始化部分将网给配好,要么是使用多个 while(1) 循环的方式(配置联网成功后才接着执行最后的 while(1) 函数体),并没有结合按键的配网方式。因此,如果要想使用按键来进行配网,则不太清楚如何操作了。

因此,暂缓按键结合配网的实现方式,而是仍然通过串口命令的方式来进行(也就是在示例程序的基础上进行修改)。

程序2 的流程是:

1、模块复位:AT+RST

2、关闭回显:ATE0

3、选择ESP8266的工作模式:AT+CWMODE=1

4、查询WIFI连接状态:AT+CWJAP?
如果返回结果是 +CWJAP: 或者 WIFI GOT IP,说明连接成功。
否则,尝试连接在程序中设置好的 WiFi ,如果连接成功就退出。否则,就尝试配网的方式。

5、配网部分程序如下:

	while(esp8266_GetWifi_Stat("AT+CWJAP?\r\n", "+CWJAP:", "WIFI GOT IP")== 0){printf("Connecting to WiFi...\r\n");//说明没有连接上网络,先尝试连接在程序中设置好的WiFiif(esp8266_JoinAP(User_ESP8266_SSID, User_ESP8266_PWD)){printf("1-Join AP OK.\r\n");}else{esp8266_SetSmartMode();if(esp8266_Net_Mode_Choose(STA)){printf("2-SET STA OK.\r\n");if(esp8266_Send_AT_Cmd("AT+CWAUTOCONN=1\r\n", "OK")){printf("3-AT+CWAUTOCONN=1 OK.\r\n");if(esp8266_Send_AT_Cmd("AT+CWSTARTSMART=3\r\n", "OK")){printf("4-AT+CWSTARTSMART=3 OK.\r\n");if(esp8266_WiteConnect("smartconfig connected wifi")){if(esp8266_Send_AT_Cmd("AT+CWSTOPSMART\r\n", "OK")){printf("5-AT+CWSTOPSMART OK.\r\n");}else{printf("6-AT+CWSTOPSMART Fail.\r\n");goto start;}}}}}}
}printf("WiFi Connection Successful.\r\n");
bit esp8266_WiteConnect(char *ack1)
{bit ack = 0;unsigned int config_Delay = 5;do{if(recv_flag){recv_flag = 0;if(strstr((const char*)recv_buf,ack1)){ack = 1;printf("Wite Connect Success.\r\n");recv_buf[recv_cnt] = '\0';printf("%s\r\n", recv_buf);memset(recv_buf, 0, recv_cnt);recv_cnt = 0;break;}else{recv_buf[recv_cnt] = '\0';printf("%s\r\n", recv_buf);memset(recv_buf, 0, recv_cnt);recv_cnt = 0;}}Delay_Xms(1000);}while(config_Delay--);return ack;
}
/**************************查询 WiFi 连接状态***************************/
bit esp8266_GetWifi_Stat(char *cmd, char *ack1, char *ack2)
{bit ack = 0;unsigned int config_Delay = 3;uart2_SendString(cmd);printf("Detecting WiFi status...\r\n");do{if(recv_flag){recv_flag = 0;if(strstr((const char*)recv_buf,ack1)|| strstr((const char*)recv_buf,ack2)){ack = 1;recv_buf[recv_cnt] = '\0';printf("%s\r\n", recv_buf);memset(recv_buf, 0, recv_cnt);recv_cnt = 0;break;}else{printf("WIFI DISCONNECT.\r\n");memset(recv_buf, 0, recv_cnt);recv_cnt = 0;}}Delay_Xms(1000);}while(config_Delay--);return ack;
}

6、MQTT配置用户属性 AT+MQTTUSERCFG=0,1,“clientld”,“admin”,“admin”,0,0,“”

7、连接 MQTT 服务器:AT+MQTTCONN=0,“3.82.39.163”,1883,0

8、订阅指定连接的 MQTT 主题,可重复多次订阅不同的 topic:AT+MQTTSUB=0,“esp8266_rxd”,1

9、while 主循环中实现定时发布:如果连接上了MQTT服务器,就定时发布信息:AT+MQTTPUB=0,“esp8266_txd”,“{“LAMP”:“OFF”}”,0,0

程序中有个地方:

if(esp8266_Send_AT_Cmd("AT+RESTORE\r\n", "OK"))
{printf("RESTORE OK\r\n");
}

RESTORE是恢复出厂设置,应该改成复位(RST)

if(esp8266_Send_AT_Cmd("AT+RST\r\n", "OK"))
{printf("RST OK\r\n");
}

在 MQTT 客户端软件中的操作如下:
在这里插入图片描述
MQTT服务器如上图所示。程序中的 client_id 是 clientID,所以不能再用这个了,我就另外起了个名字:MQTT_FX_Client 。
在这里插入图片描述

在程序中,订阅了 esp8266_rxd,

在这里插入图片描述
因此,点击 Publish 后,串口能够接收到:

在这里插入图片描述
与此同时,程序还会向 esp8266_txd 每隔一段时间发送数据,

在这里插入图片描述

http://www.ds6.com.cn/news/26440.html

相关文章:

  • 黄骅市教育局seo博客
  • 北京网站建设招聘买卖友情链接
  • 构建网站的安全品牌词优化
  • 视频直播需要哪些设备上海推广seo
  • 邯郸网站开发定制网上推广培训
  • 宁波网站优化方案谷歌关键词搜索
  • 福州公司网站设计seo基础课程
  • 做服装网站需要什么seo外链工具软件
  • 三站合一网站建设方案百度搜索排行seo
  • 国外做的比较的ppt网站网站seo优化方案项目策划书
  • 域名做网站自己的电脑推广网站有效的方法
  • logo商标设计网站如何做品牌营销
  • 网站维护seo排名软件价格
  • 新手做淘宝客网站教程天眼查询个人信息
  • 武汉网站维护临沂做网站推广的公司
  • 太原不错的互联网公司深圳网站seo推广
  • 泰安做网站公司哪家好查询收录
  • 门户网站建设和运行招标文件整合营销理论主要是指
  • 微信网站的好处营口seo
  • 船员专用网站开发建议一份完整app运营推广方案
  • 宁波网站建设主页台州seo优化
  • 电子商务网站建设教材深圳网站制作哪家好
  • 建设公司网站标题信息流广告哪个平台好
  • 网站建设性能分析站长素材网
  • 宁波网站建设计刺激广告
  • 微信链接网站怎么做的制作自己的网页
  • 工业做网站百度网盘电脑版官网
  • 专业网站建设特点分析百度搜索量排名
  • 上海大型网站建设公司百度的关键词优化
  • 滨海做网站公司引流推广怎么做