stm1024 发表于 2024-11-23 22:32:23

【米尔-MYD-LR3568-GK开发板--试用评测】15——MQTT收发测试

本帖最后由 stm1024 于 2024-11-24 00:02 编辑

MQTT(Message Queuing Telemetry Transport)是一种轻量级的发布/订阅模式的消息传输协议,被设计用于低带宽和不稳定的网络环境中。在Linux环境下,有许多开源的MQTT库可以用来帮助开发者实现客户端或者服务器端的应用程序。
在之前的树莓派评测时,也做过该协议的演示和测试,见链接://m.qjumbo.com/forum/thread-230328-1-1.html

1. 先测试一下安装和消息订阅发布
过程都是一样的,给出截图。



以上测试验证在LR3568上,和其他的Linux环境都是一样能够正常订阅和发布MQTT消息的,这就验证了程序正常安装,以及配置的正确性和功能的完好性。
2. 基于库的MQTT程序开发
如果只是为了演示一下MQTT的消息订阅发布,也太浅尝辄止了,这个协议通常不是人工手动发送的,而是通过程序完成,这种情况下就需要编写程序了。其实mosquitto中包含了类库,需要做的就是对其进行编译:中间会碰到问题,搞了两次分别报错如下:
需要安装库:#安装opensslconf.h
sudo apt-get install libssl-dev
#安装libcjson libcjson-dev
sudo apt-get install libcjson1 libcjson-dev分别安装这两个包:

然后就可以make,以及make install了,如下所示是安装成功后的截图:
在mosquitto-2.0.20\examples有一个publish和suscribe的文件夹,里面各包含1个basic-1.c的源码,把文件名称修改为basic1.c,方便编译,编译的makefile是:
include ../../config.mk
basic1 : basic1.o
      ${CROSS_COMPILE}${CC} $^ -o $@ ../../lib/libmosquitto.so.${SOVERSION}

最后可执行程序运行:
发布者订阅者以及使用Windows客户端的订阅者:
我们只需要稍微研究和修改一下源码就可以编写我们自己的程序了。



页: [1]
查看完整版本: 【米尔-MYD-LR3568-GK开发板--试用评测】15——MQTT收发测试

Baidu
map