前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >开源一个自己写过的MQTT 客户端调试工具

开源一个自己写过的MQTT 客户端调试工具

原创
作者头像
诸子东
修改2020-03-19 14:43:01
4.3K2
修改2020-03-19 14:43:01
举报
文章被收录于专栏:物联网相关物联网相关

对于有需要使用MQTT功能或产品,调试工具就是必不可用的。

最常见的工具应该就是MQTT.fx吧。毕竟各大云平吧也是以此为参考。

MQTT.fx的工具的好又强在此也不作介绍了。

有时候我们开发或者MQTT,并不会用太多的功能,或者能支持十六进制发送和接收。也曾在网上找过几款MQTT工具,也都没能让自己满意,于是自己就写了一个MQTT客户端工具。现开源出来。主要是最近才学会使用git。以前主要是开发裸机程序,内核等,很少用到git。

https://github.com/xidongliang/mqtt_client/

先看一下这个工具界面,由于工具是使用VS自带的MFC写的,界面风格略丑一些。是使用VS2013版本开发的。

所以调试就在一个页面里。服务器默认填写了自己的测试服务器,搭建了MQTT服务功能。搭建的测试MQTT服务器因为不需要密码验证,就随便填写了。设备ID每次运行工具都会是一个随机数。这样自己就不会使用到相同的ID登记了。

订阅和发布直接就在一个页面里,省的来回切换了。

更主要的是,可以支持HEX格式的数据发送和接收。

有时候自己调试MQTT,可能需要测试订阅的数据包,但是又不想一直看着这个工具,就想到自己写一个功能,可以自动保存到当半目录下。方便自己回看或者数据整理。

什么时间收到什么主题的多少个字节的数据。就一一记录下来了。

当然,如果有发送测试要求的,比如一直发送,多少间隔发送这种测试需求的,也可以直接修改代码,重新编译。

自己有什么需求,就可以自己实现了。MQTT.fx有个脚本功能,这个功能还是比较强大的,也不和MQTT.fx作比较了。

这个工具还支持TLS通信。不过比较简单。

就是在工具的当前目录下,创建一个cer目录,在这个目录下放证书文件即可。

目前该版本是判断了三个文件要存在。如果你只需要两个文件,可能 需要改一下代码。

此外, 该工具附加了一个数据压缩和解压的功能。

因为有一些场合中,为了提高效率,可能会需要将数据压缩之后再发送。

对方收到压缩到的数据再进行解压。

该工具使用的mqtt是libemqtt的库。

如果你也使用过libemqtt,不知道现在的库版本优化过了没有。此前libemqtt里定义的设备ID,用户名和密码,字节数太少。遇到用户名和密码,设备ID稍微长一些,就登录异常了。当然,此工具已经改了这个。

https://github.com/xidongliang/mqtt_client/

笔者主要是在linux 开发比较多,特别是arm linux的嵌入式开发。。最近也慢慢接触github,后续也会陆续将以前写过的一些程序进行开源出来,用于学习和交流。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
测试服务
测试服务 WeTest 包括标准兼容测试、专家兼容测试、手游安全测试、远程调试等多款产品,服务于海量腾讯精品游戏,涵盖兼容测试、压力测试、性能测试、安全测试、远程调试等多个方向,立体化安全防护体系,保卫您的信息安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档