Hold the door! mosquitto——使用ESP8266以及网络调试助手测试通信

9.14 开新坑

参考:
MQTT通信协议(mosquitto)发布订阅例子C语言实现 https://kunaly.blog.csdn.net/article/details/107466430?spm=1001.2014.3001.5506
MQTT通信协议(mosquitto)在Linux上的环境构建与测试
https://blog.csdn.net/qq_33406883/article/details/107429946

1、安装mosquitto

sudo apt-get install mosquitto
sudo snap install mosquitto

2、查看运行状态

sudo systemctl status mosquitto

3、基础操作

查看运行进程号:

ps -aux | grep mosquitto

执行命令杀死进程:

kill -9 进程号

启动:

mosquitto -v

-v 详细模式——启用所有日志记录类型。
关于启动参数:可以通过 --help 查看

4、测试

打开第一个终端作为服务的发布方

mosquitto -v
mosquitto_pub -t hello -m world

发布内容:mosquitto_pub -t hello -m world
-t 指定订阅的主题,主题为:hello
-m 指定发布的消息的内容
打开第第二个终端作为服务的订阅方

mosquitto_sub -v -t hello

订阅主题:mosquitto_sub -v -t hello
-t 指定订阅的主题,主题为:hello
-v 详细模式 打印调试信息

源码操作

通过mosquitto的官方源码,编程实现MQTT协议的发布订阅。

需要用到的文件。对应路径如下:

mosquitto-1.6.10/lib/libmosquitto.so.1
mosquitto-1.6.10/lib/cpp/libmosquittopp.so.1
mosquitto-1.6.10/lib/mosquitto.h
mosquitto-1.6.10/lib/mosquittopp.h

使用Socket助手连接mosquitto

参考:浅浅的 使用网络调试助手和Mosquitto 分析MQTT协议数据包内容_田小呱的博客-CSDN博客

TCP助手下载地址:http://free.cmsoft.cn/download/cmsoft/assistant/netassist5.0.3.zip

1、连接mosquitto:

10 26 00 04 4D 51 54 54 04 C2 00 3C 00 09 31 32 33 34 35 36 37 38 39 00 05 61 64 6D 69 6E 00 08 70 61 73 73 77 6F 72 64

不要换行

2、心跳包

20 02 00 00

3、订阅

订阅的名称为test

82 09 00 01 00 04 74 65 73 74 00

4、发布

发布的名称为test 内容为hello_esp8266

31 13 00 04 74 65 73 74 68 65 6C 6C 6F 5F 65 73 70 38 32 36 36

使用ESP8266连接mosquito

参考:

使用AT指令配置ESP8266开启透传模式_志远电子工作室的博客-CSDN博客

1、使用AT指令进行测试

AT

2、将8266设置AP模式

AT+CWMODE=3

3、连接WIFI

AT+CWJAP="712","000666888"

4、进入透传模式

AT+CIPMODE=1

5、连接tcp

AT+CIPSTART="TCP","192.168.0.119",1883

6、开启透传

AT+CIPSEND

6、connect指令连接mosquito

这里第一次连接一定要使用16禁止,并且不能使用回车,否则需要重新连接tcp

10 26 00 04 4D 51 54 54 04 C2 00 3C 00 09 31 32 33 34 35 36 37 38 39 00 05 61 64 6D 69 6E 00 08 70 61 73 73 77 6F 72 64

7、保持在线心跳包

20 02 00 00

8、订阅test消息

82 09 00 01 00 04 74 65 73 74 00

9、发布test报文

31 13 00 04 74 65 73 74 68 65 6C 6C 6F 5F 65 73 70 38 32 36 36
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值