MQTT 环境快速搭建(linux)

8 篇文章 0 订阅
2 篇文章 1 订阅
本文档详细介绍了如何在Linux环境下安装Apache ActiveMQ MQTT服务器和Eclipse Paho MQTT C客户端,包括启动服务、修改配置、解决编译错误及交叉编译过程。此外,还提供了发布和订阅消息的示例,以及针对不同目标平台的编译选项。
摘要由CSDN通过智能技术生成

1. 安装MQTT服务器
    上网搜索apache activemq,找到它的官网。然后下载Linux版本。写文档时版本为ActiveMQ 5.16.3 Release
    解压后进入目录,运行:./bin/activemq console
    即可启动服务
2. 安装MQTT 客户端
    在https://github.com/eclipse/paho.mqtt.c下载安装包并解压,进入目录。
    make
    报错,然后sudo apt install libssl-dev
    make成功
    make install
注意,这里直接make,不是去build文件夹下make。

运行MQTT自带示例。
发布程序示例:
    在mqtt工程的src/samples目录下,打开MQTTClient_publish.c。
    通过修改#define ADDRESS设置服务器地址,只改IP,端口不要改。
    修改#define PAYLOAD 设置消息内容。
    修改#define TOPIC修改发布主题。
订阅程序示例:
    在mqtt工程的src/samples目录下,打开MQTTClient_subscribe.c
    通过修改#define ADDRESS设置服务器地址。
    修改#define TOPIC修改订阅主题。主题与发布者一致时,可收到发布的消息。
然后重新make,在build/output/samples会有生成文件,执行MQTTClient_publish和MQTTClient_subscribe就可以看到通信。
 


交叉编译:
在Makefile中有一行CC ?= gcc,需要注释掉
有个工具链有自带的环境变量配置文件,需要source一下(比如$source /opt/poky/1.2.3/environment-setup-aarch64-poky-linux),然后在同一个终端里执行make,这样可以不用指定CC路径。如果没有找到配置文件,则执行
make CC=/opt/arm-2009q1-203/bin/arm-none-linux-gnueabi-gcc CXX=/opt/arm-2009q1-203/bin/arm-none-linux-gnueabi-g++

/opt/arm-2009q1-203/bin/arm-none-linux-gnueabi-g++和/opt/arm-2009q1-203/bin/arm-none-linux-gnueabi-gcc需要根据具体交叉编译工具链的路径和名称来修改。
CXX或者CC需要看Makefile中用到哪个,没有用到的可以不指定。

指定安装路径可以使用以下两种方法。
export DESTDIR=/INSTALL/DIR
make install

make DESTDIR=/install/directory install

将编译成功的库文件复制到目标板上。

如果有问题欢迎一起讨论。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值