简单搭建属于自己的物联网系统(一):部署 mosquitto 服务

物联网 · 2023-11-04 · 202 人浏览

简介

MQTT 是一种基于发布/订阅模式的 轻量级物联网消息传输协议 ,可以用极少的代码和带宽为联网设备提供实时可靠的消息服务,它广泛应用于物联网、移动互联网、智能硬件、车联网、电力能源等行业。

mosquitto 实现了 MQTT v3.1 协议的开源消息代理软件,提供轻量级的、支持发布/订阅的消息摄像头模式,对设备对设备之间的短消息通信简单易用。

部署 mosquitto 服务

我使用的是华为云服务器,系统为 CentOS 7.9,理论上 7.x 版本的安装方式都大同小异。

1.安装 mosquitto

如果没有 EPEL 软件库则需要添加 EPEL 软件库

yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

yum 安装

yum install mosquitto

2.配置 mosquitto

接下来编辑配置文件。

vim /etc/mosquitto/mosquitto.conf

以下是一些常见的配置选项:

选项说明
port指定监听端口,默认为 1883
pidfile指定进程 ID 文件的路径,默认为 /var/run/mosquitto/mosquitto.pid
persistence true启用持久化功能,确保消息在服务重启后不会丢失
persistence_location指定持久化文件的路径,默认为 /var/lib/mosquitto/mosquitto.db
allow_anonymous true允许匿名登录,为方便测试暂时先开启,由于我自己也没搞清楚验证机制,还有 bug 未解决,后续会更新文章
log_dest指定日志输出目标,默认为 syslog

piQCi01.png

3.启动 mosquitto 服务

systemctl 命令

systemctl start mosquitto           # 启动 mosquitto 服务
systemctl stop mosquitto            # 停止 mosquitto 服务
systemctl restart mosquitto         # 重启 mosquitto 服务
systemctl status mosquitto.service  # 查看 mosquitto 服务状态

将 mosquitto 服务设置开机自启动。

systemctl enable mosquitto.service

接下来查看 mosquitto 启动状态。
piQCshT.png

没有问题,查看日志文件。

cat /etc/mosquitto/mosquitto.log

piQChH1.png

总结

至此,mosquitto 服务就算搭建完成了。接下来便是测试 MQTT 通信,我们下一篇文章将介绍用 Python 实现 MQTT 通信。

版权声明

本文系作者原创文章,未经允许不得转载,否则保留追究法律责任的权利。https://www.scott-sloan.cn/archives/216/

物联网
Theme Jasmine by Kent Liao