查看: 315|回复: 1

[评测分享] 【树莓派5测评】 12.树莓派安装MQTT并支持远程访问

[复制链接]
  • TA的每日心情
    慵懒
    昨天 16:03
  • 签到天数: 83 天

    连续签到: 2 天

    [LV.6]常住居民II

    发表于 2024-3-24 22:48:12 | 显示全部楼层 |阅读模式
    分享到:
    本帖最后由 stm1024 于 2024-3-24 22:53 编辑

    MQTT作为物联网常见的一种协议,现在也得到了越来越多的应用了,关于该协议的基本原理我就不做过多的介绍了,这次主要测试树莓派下支持MQTT协议的mosquitto软件包,并尝试在本地和远程设备上订阅和发布消息。
    1. 软件安装
    首先是在树莓派上安装mosquitto的一套软件,包括了服务器(Broker)和客户端,以及订阅和发布消息等程序。命令如下:
    1. sudo apt-get install mosquitto mosquitto-clients
    复制代码
    安装完成以后,通过如下命令检查Broker是否正常运行:
    1. systemctl status mosquitto.service
    复制代码
    显示running表明运行正常
    111.jpg


    2. 本地消息的订阅与发布
    程序mosquitto_pub用于发布消息(publish),而mosquitto_sub用于订阅消息(subscribe),启动一个终端,订阅关于“bozo”话题的命令如下:
    1. mosquitto_sub -h localhost -t "bozo"
    复制代码
    程序将进入阻塞状态,等待该话题的到来。
    然后新开一个终端,再发布关于“bozo”的话题:
    1. mosquitto_pub -h localhost -t "bozo" -m "foo"
    复制代码
    555.jpg
    可以看到消息发布于订阅成功了。

    3. 远程客户端的连接
    在Windows上安装了MQTTX,界面如下:
    666.jpg

    如果尝试连接树莓派5地址的Broker,会发现连接失败,使用命令:
    1. mosquitto -v
    复制代码
    可以看到如下提示:
    222.jpg


    简单来说就是,Broker默认情况下只允许本地(localhost)的订阅与发布,不支持局域网内其他的设备,我们需要修改一下配置文件,打开/etc/mosquitto/mosquitto.conf,添加两行:
    1. sudo nano /etc/mosquitto/mosquitto.conf
    复制代码
    777.jpg
    保存然后reboot,并确认Broker是启动的。
    然后在Windows环境下的MQTTX中连接,配置如下:
    778.jpg

    注意重点是协议类型和地址,以及端口号,名称和ID只要唯一就行,并无特别的要求,点击连接,就可以成功连接上了:
    779.jpg

    我们可以再在树莓派5上发送一个关于“bozo”话题的消息,并在MQTTX中添加对bozo话题的订阅:
    1. mosquitto_pub -h localhost -t "bozo" -m "i give you nothing"
    复制代码
    这个时候可以看到,树莓派本地的订阅终端,以及Windows环境下的MQTTX软件,都收到了该话题的消息。
    999.jpg

    OK,今天的测试就到这里。

    PS:后面出差,估计没多少机会更新了,不过还是有时间就更一下,坚持学习和分享技术。

    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    昨天 00:01
  • 签到天数: 1775 天

    连续签到: 35 天

    [LV.Master]伴坛终老

    发表于 2024-3-24 23:05:06 | 显示全部楼层
    跟着大佬学习树莓派
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条

    手机版|小黑屋|与非网

    GMT+8, 2024-4-28 07:00 , Processed in 0.125399 second(s), 18 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.