0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何在Raspberry Pi树莓派上安装Mosquitto部署MQTT服务器呢?

jf_Ufm3lVrj 来源:凌顺实验室 2024-03-12 11:29 次阅读

MQTT 介绍

MQTT代表消息队列遥测传输,是一种网络消息协议,通常用于物联网设备之间的消息传输。

为了让我们的Raspberry Pi支持MQTT协议,我们将使用一个名为Mosquitto的服务器软件。

Mosquitto 是一个消息代理,它实现了多个版本的 MQTT 协议,包括最新的 5.0 版本。

MQTT协议的工作原理是让客户机充当发布者和订阅者。发布者将消息发送给充当中介的代理。

订阅者连接到MQTT代理并阅读特定主题下广播的消息。

您可以使用MQTT让多个传感器将它们的数据发送到您的Raspberry Pi的MQTT代理,然后客户端设备可以接收数据。

如果你想了解更多关于MQTT协议的信息,以及为什么它非常适合树莓Pi等物联网设备,请务必查看MQTT官方网站。

树莓派上安装 Mosquitto

1,首先 ,需要最新的系统,输入以下命令:

sudo apt update
sudo apt upgrade

2,运行Mosquitto和Mosquitto客户端的安装命令,这样方便在树莓派上 进行连接测试:

sudo apt install mosquitto mosquitto-clients

在安装过程中,包的管理器会自动配置 Mosquitto 服务器在开机时启动。

安装完成,此时,您将在您的设备上启动并运行 Mosquitto MQTT 代理。

3,您可以使用以下命令验证它是否已安装并正在运行。

sudo systemctl status mosquitto

此命令将返回“mosquitto”服务的状态。

如果服务已正常启动,您应该会看到文本active (running)。

测试MQTT

我们的下一步将是测试该服务是否正常工作,并且现在在我们的 Raspberry Pi 上充当 MQTT 代理。

为此,我们将使用本指南前面安装的 Mosquitto 客户端。

对于本节,您将需要打开两个终端会话到您的 Raspberry Pi(本地或通过 SSH)。

1.我们的首要任务是启动订阅者。

订阅者将监听我们在 Raspberry Pi 上运行的 MQTT 代理。

我们可以使用我们之前为订阅者安装的 Mosquitto 客户端来执行此操作。

在下面的示例中,我们连接到一个localhost连接并等待来自代理的关于“mqtt/pimylifeup”主题的消息。

mosquitto_sub -h localhost -t "mqtt/pimylifeup"

使用“-h”参数,您可以指定要连接的主机名。在我们的例子中,我们使用安装在 Raspberry Pi 上的本地 MQTT 代理。

接下来,我们使用“-t”参数告诉 Mosquitto 订阅者我们应该从 MQTT 代理收听什么主题。

对于我们的示例,我们正在收听一个名为“mqtt/pimylifeup”的主题。

2.现在我们已经加载了一个客户端并正在监听消息,

让我们尝试向它发布一个消息。

我们需要使用之前安装在 Raspberry Pi 上的 MQTT 发布者客户端向主题发布消息。

运行以下命令将消息“Hello World”发布到我们localhost服务器的“mqtt/pimylifeup”主题下。

mosquitto_pub -h localhost -t "mqtt/pimylifeup" -m "hello lingshunlab.com"

其中两个参数与前面的命令相同,“-h”指定要连接的服务器,“-t”指定要发布到的主题。

我们在这里使用的另一个参数是“-m”参数。此参数允许您指定要发送到 Raspberry Pi MQTT 代理的消息。

3.回到您启动 Mosquitto 发布器的终端会话,

您现在应该会看到 您的消息出现。

因此,如果您按照我们的示例进行操作,您应该会在命令行中看到以下文本。

hello lingshunlab.com

2bd953bc-e01f-11ee-a297-92fbcf53809c.png

测试,mqtt服务器成功。

如果您将mqtt与UFW 等防火墙一起使用,请确保打开端口1883。

设置远程访问(无身份验证)

要启用远程访问以便我们可以与其他物联网设备进行通信,我们需要编辑/创建一个配置文件。

1)Mosquitto Broker 启用远程访问(无身份验证)

运行以下命令打开mosquitto.conf文件文件。

sudo nano /etc/mosquitto/mosquitto.conf

2 )使用箭头键移动到文件末尾并粘贴以下两行:

listener 1883
allow_anonymous true

最后如下图:

2bff1336-e01f-11ee-a297-92fbcf53809c.png

保存,推出。

3)重启mosquitto

为了使配置生效,需要重启mosquitto

sudo systemctl restart mosquitto

或者,直接重启树莓派

sudo reboot

这样就远程主机就可以通过ip地址远程访问mqtt服务器了。




审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 传感器
    +关注

    关注

    2526

    文章

    48104

    浏览量

    740100
  • SSH
    SSH
    +关注

    关注

    0

    文章

    177

    浏览量

    16077
  • Raspberry Pi
    +关注

    关注

    1

    文章

    552

    浏览量

    22054
  • 树莓派
    +关注

    关注

    113

    文章

    1639

    浏览量

    104746
  • MQTT
    +关注

    关注

    5

    文章

    538

    浏览量

    21976

原文标题:Raspberry Pi 树莓派上安装 Mosquitto部署MQTT服务器

文章出处:【微信号:凌顺实验室,微信公众号:凌顺实验室】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    何在Raspberry Pi安装TensorFlow

     在本教程中,我们将学习如何在 Raspberry Pi安装 TensorFlow,并将展示一些在预训练神经网络上进行简单图像分类的示例。
    发表于 09-01 16:35 1740次阅读
    如<b class='flag-5'>何在</b><b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b>上<b class='flag-5'>安装</b>TensorFlow

    【飞腾派4G版免费试用】如何在飞腾开发板上安装EMQX MQTT服务器

    系统中搭建一个单节点的MQTT服务器。 1. 安装EMQX 本文演示的环境为: 硬件:飞腾派开发板,ARMV8架构 操作系统:Ubuntu 20.04 EMQX 安装与运行 下载
    发表于 12-26 11:16

    何在树莓派上安装系统

    何在树莓派上安装系统
    发表于 11-17 16:17

    Raspberry Pi 3试用体验】搭建minidlna服务器(结项二)

    `传送门:【Raspberry Pi 3试用体验】搭建Samba服务器(结项一)https://bbs.elecfans.com/jishu_900387_1_1.html【Raspberry
    发表于 06-21 12:20

    【Banana Pi M1+试用体验】在香蕉派上面体验MQTT. 上

    ## 代理服务器`mosquitto`启动代理服务器mosquitto -vv: 打印出调试信息, 啰嗦模式## 订阅者`mosquitto
    发表于 07-28 17:34

    如何外网直接访问树莓派上搭建的服务器

    我在我的树莓派上用flask搭建了一个服务器,放上了自己的网页,开放在80端口。但是我树莓派连接的是寝室的WiFi,并没有公网IP。我有阿里云的服务
    发表于 07-04 17:55

    【最全】树莓派(Raspberry Pi)平台资源合集

    `资源目录:树莓派(Raspberry Pi)平台资源大全树莓派的硬件及配置使用Unix系统社区与交流资料、项目参考与视频教程树莓派(
    发表于 08-29 17:37

    何在树莓派上安装鸿蒙系统?

    何在树莓派上安装鸿蒙系统?
    发表于 09-29 11:07

    什么是树莓派(Raspberry Pi

    什么是树莓派(Raspberry Pi)?树莓派可以做什么?树莓派支持的系统有哪些
    发表于 07-30 06:21

    安装Raspberry Pi Clock Hat的教程分享

    Raspberry Pi 用于基于服务器的应用程序(如 NAS 服务器、家庭自动化服务器等)的人来说非常有用。这顶帽子支持从
    发表于 07-05 06:01

    通过Mosquitto发布到代理到服务器后如何断开MQTT

    我正在处理 MQTT 代码 (tuanpmt),我想在数据通过 Mosquitto 发布到代理到服务器后断开 MQTTMQTT:发送,类
    发表于 06-12 07:44

    怎么搭建MQTT服务器

          服务器端建议采用Mosquitto 1.14 Broker ( mqtt v3.1),它是一个开源的MQTT 代理      Eclipse
    发表于 06-11 15:39 479次阅读
    怎么搭建<b class='flag-5'>MQTT</b><b class='flag-5'>服务器</b>

    何在树莓派上安装MQTT

    如果要通过mqtt从另一个系统通过网络/互联网连接,则需要键入主机的IP地址(Broker System,在我们的情况下为Raspberry Pi),然后就可以连接。在图3中,显示了来自局域网
    的头像 发表于 11-04 17:16 9840次阅读
    如<b class='flag-5'>何在</b><b class='flag-5'>树莓</b><b class='flag-5'>派上</b><b class='flag-5'>安装</b><b class='flag-5'>MQTT</b>

    Raspberry Pi安装Android的方法

    可以在树莓派上轻松安装 Linux 和 Windows 操作系统,但由于缺乏 Android 的官方支持,在树莓派上
    的头像 发表于 09-05 15:10 1.5w次阅读
    在<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b>上<b class='flag-5'>安装</b>Android的方法

    何在树莓派4上安装 openwrt?

    何在 Raspberry Pi 4上安装 openwrt
    的头像 发表于 06-07 10:25 937次阅读