esp8266 |
您所在的位置:网站首页 › 发布订阅是什么意思 › esp8266 |
前言:esp8266推出已久,esp8266-01/01s是常见的两款,本文通过抓包原始数据使用tcp透传来做简单的功能测试。
01和01s区别不大,一样使用即可,下图实为01s 官网地址如下,安装后启动,官网有详细使用指导,看相应系统版本即可 https://www.emqx.io/cn/products/broker 然后浏览器输入 localhost:18083 对模块操作后刷新浏览器即可查看当前连接客户端 为方便分析学习,安装一个网络抓包工具wireshark(可以直接复制里面的mqtt数据)百度搜索下载安装即可。。,打开软件,如下设置
然后电脑本地使用mqtt调试助手连接你的云测试服务器: ID填一个字节就好,方便看数据,然后连接,此时抓包软件将刷新数据: 开启上面的订阅的话,连接到mqtt端口即可看到connected会加1 ,如果退出透传的话,过一会儿会自动断开tcp连接。 3.建立mqtt连接如图: 对连接和发送状态是否成功通过各种应答判断,这里对原始数据不进行解释 。。。,发送完成后刷新EMQ Dashboard可以看到客户端id正确,说明已经连接 4.发布主题 还是先抓包得到16进制码,然后使用串口发送 注:这里抓包只是抓取mqtt原始数据,是连接到云服务器的,串口at实验连接到本地服务器,是为了在emq的Dashboard上刷新查看连接的客户端和一些连接设置,这么做的原因是我没找到emq的armhf版本,而mosquitto的系统状态订阅查看不方便。抓本地服务器的数据的话走的链路应该不一样,可以抓的到,但我不清楚怎么筛选。。故tcp包抓的到,但不能方便的通过找data来找原始数据。。。知道的同学可以评论留言。。。 依旧如上,用对应客户端连接到云服务器,抓取订阅包,在mqtt连接时发送,确认返回值 订阅主题后其他客服端发布相应主题,只要mqtt没有断开即可收到订阅,如下: 6.心跳包 还是如上,抓取心跳包,重新开始抓包,等一会儿即可 在超时时间内发送心跳包就可以保持与服务器的连接 以上即8266用到的一些基本操作,对原始数据的理解对照mqtt协议即可,中文手册下载地址如下: https://github.com/mcxiaoke/mqtt 注:上面因为使用了两个服务器,所以看起来很混乱。。。本篇操作思路是云服务器抓包,本地调试,清楚目的,怎么调都可以----------
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |