[评测分享]
【树莓派5测评】 12.树莓派安装MQTT并支持远程访问
#板卡评测
2101 人阅读
|
1 人回复
|
2024-03-24
TA的每日心情 | 慵懒 2025-8-6 21:07 |
|---|
签到天数: 313 天 连续签到: 1 天 [LV.8]以坛为家I
状元
- 积分
- 5300
|
本帖最后由 stm1024 于 2024-3-24 22:53 编辑
MQTT作为物联网常见的一种协议,现在也得到了越来越多的应用了,关于该协议的基本原理我就不做过多的介绍了,这次主要测试树莓派下支持MQTT协议的mosquitto软件包,并尝试在本地和远程设备上订阅和发布消息。
1. 软件安装
首先是在树莓派上安装mosquitto的一套软件,包括了服务器(Broker)和客户端,以及订阅和发布消息等程序。命令如下:
- sudo apt-get install mosquitto mosquitto-clients
复制代码 安装完成以后,通过如下命令检查Broker是否正常运行:
- systemctl status mosquitto.service
复制代码 显示running表明运行正常
2. 本地消息的订阅与发布
程序mosquitto_pub用于发布消息(publish),而mosquitto_sub用于订阅消息(subscribe),启动一个终端,订阅关于“bozo”话题的命令如下:
- mosquitto_sub -h localhost -t "bozo"
复制代码 程序将进入阻塞状态,等待该话题的到来。
然后新开一个终端,再发布关于“bozo”的话题:
- mosquitto_pub -h localhost -t "bozo" -m "foo"
复制代码 可以看到消息发布于订阅成功了。
3. 远程客户端的连接
在Windows上安装了MQTTX,界面如下:
如果尝试连接树莓派5地址的Broker,会发现连接失败,使用命令:
可以看到如下提示:
简单来说就是,Broker默认情况下只允许本地(localhost)的订阅与发布,不支持局域网内其他的设备,我们需要修改一下配置文件,打开/etc/mosquitto/mosquitto.conf,添加两行:
- sudo nano /etc/mosquitto/mosquitto.conf
复制代码 保存然后reboot,并确认Broker是启动的。
然后在Windows环境下的MQTTX中连接,配置如下:
注意重点是协议类型和地址,以及端口号,名称和ID只要唯一就行,并无特别的要求,点击连接,就可以成功连接上了:
我们可以再在树莓派5上发送一个关于“bozo”话题的消息,并在MQTTX中添加对bozo话题的订阅:
- mosquitto_pub -h localhost -t "bozo" -m "i give you nothing"
复制代码 这个时候可以看到,树莓派本地的订阅终端,以及Windows环境下的MQTTX软件,都收到了该话题的消息。
OK,今天的测试就到这里。
PS:后面出差,估计没多少机会更新了,不过还是有时间就更一下,坚持学习和分享技术。
|
|
|
|
|
|
|
|
|
TA的每日心情 | 奋斗 昨天 10:05 |
|---|
签到天数: 2256 天 连续签到: 13 天 [LV.Master]伴坛终老
司徒
- 积分
- 35241
|
沙发
流水源
发表于 2024-3-24 23:05:06
|
只看该作者
跟着大佬学习树莓派 |
|
|
|
|
|
|
|
|