[评测分享]
【树莓派5测评】 12.树莓派安装MQTT并支持远程访问
#板卡评测
 
2088 人阅读
|
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的每日心情  | 奋斗 昨天 09:47 | 
|---|
 
  签到天数: 2254 天 连续签到: 11 天 [LV.Master]伴坛终老 
司徒 
 
 
	- 积分
 - 35209
 
 
 
 
 | 
沙发
 
 
流水源 
 
发表于 2024-3-24 23:05:06
|
只看该作者
 
 
 
 
 
 
跟着大佬学习树莓派  |  
     
 
  
  
  
 
 
 | 
| 
 | 
| 
 | 
| 
 | 
 |