MQTT中文站
  • 首页
  • MQTT 学习
    • MQTT 入门
    • MQTT 进阶
    • MQTT 编程
    • MQTT 实例
    • MQTT 要点
    • MQTT5 要点
    • MQTT 工具
    • MQTT 客户端库
    • MQTT 服务器
    • Zigbee2MQTT
    • Sparkplug
    • Home Assistant
    • Node-RED
      • Node-RED 安装部署
      • Node-RED 用户指南
      • Node-RED 创建节点
      • Node-RED 示例教程
      • Node-RED 开发流程
      • Node-RED 接口参考
      • Node-RED 配置模板
      • Node-RED 常见问题
  • MQTT 规范
    • MQTT 5 规范
    • MQTT 3.1.1 规范
    • MQTT 3.1 规范
    • MQTT-SN v1.2规范
    • Sparkplug® v3.0.0规范
  • 产品中心
  • 解决方案
    • 环境监测
    • 工业制造
    • 智慧水利
    • 水利管网
    • 积水监测
    • 综合管廊
    • 档案库房
    • 交通物流
    • 智慧城市
    • 智慧农业
    • 智慧养殖
    • 能源电力
    • 石油石化
    • 智能家居
    • 物联网
    • 汽车与出行
  • 使用文档
  • MQTT 云平台
  • 登录
  • 注册

如何在CentOS7上搭建MQTT服务器(使用mosquitto)并用Python进行测试

2 年前 • MQTT 教程

Mosquitto: 轻量级的MQTT代理服务器

随着物联网(IoT)和机器与机器(M2M)通信的普及,需要一个轻量级、高效、易于实现的消息协议来满足这些需求。这就是MQTT(消息队列遥测传输)的诞生背景。而Mosquitto则是该协议的一个开源实现。

1. 什么是Mosquitto?

Mosquitto是一个开源的MQTT代理服务器,它允许开发者快速、简单地搭建和运行MQTT服务器。它旨在为各种设备和应用提供轻量级的发布/订阅消息模式,特别是在网络带宽有限、可靠性要求高、或者运行环境资源受限的情境下。

2. 主要特点

  • 轻量级:对于资源受限的设备和网络,Mosquitto提供了一个紧凑、低带宽的解决方案。
  • 开源:Mosquitto是完全开源的,允许开发者自由地查看源代码、修改并根据需求进行部署。
  • 跨平台:支持多种操作系统,如Linux、Windows和MacOS。
  • 安全性:支持TLS/SSL加密,确保数据的安全性和隐私性。

3. 如何使用Mosquitto?

使用Mosquitto非常简单。首先,你需要安装Mosquitto代理服务器。此篇教程将引导你在CentOS7上搭建MQTT服务器,并使用Python进行简单的测试。

1. 环境准备:

确保你的系统是CentOS7,并具有sudo权限。

2. 安装必备软件:

yum install gcc-c++ cmake openssl-devel -y

3. 下载并安装mosquitto:

wget http://mosquitto.org/files/source/mosquitto-1.6.8.tar.gz
tar -zxvf mosquitto-1.6.8.tar.gz
cd mosquitto-1.6.8
make
sudo make install

如果出现链接问题,可以通过以下命令修复:

sudo ln -s /usr/local/lib/libmosquitto.so.1 /usr/lib/libmosquitto.so.1
sudo ldconfig

4. 配置mosquitto:

  • 创建配置文件:
mv /etc/mosquitto/mosquitto.conf.example /etc/mosquitto/mosquitto.conf
  • 创建用户组和用户:
sudo groupadd mosquitto
sudo useradd -g mosquitto mosquitto -s /sbin/nologin

5. 启动mosquitto:

mosquitto -c /etc/mosquitto/mosquitto.conf -d

6. 使用mosquitto进行简单的测试:

打开订阅者终端:

mosquitto_sub -t topic

打开发布者终端:

mosquitto_pub -t topic -m "Hello MQTT"

7. 使用Python进行测试:

首先,确保安装了paho-mqtt库:

pip install paho-mqtt
  • 订阅者:
import paho.mqtt.client as mqtt

def on_connect(client, userdata, flags, rc):
    print("Connected with result code: " + str(rc))

def on_message(client, userdata, msg):
    print(msg.topic + " " + str(msg.payload))

client = mqtt.Client()
client.on_connect = on_connect
client.on_message = on_message
client.connect('localhost', 1883, 600)
client.subscribe('test', qos=0)
client.loop_forever()
  • 发布者:
import paho.mqtt.client as mqtt

def on_connect(client, userdata, flags, rc):
    print("Connected with result code: " + str(rc))

client = mqtt.Client()
client.on_connect = on_connect
client.connect('localhost', 1883, 600)
client.publish('test', payload='Hello from Python', qos=0)

先运行订阅者脚本,然后运行发布者脚本。此时订阅者应该能够接收到来自发布者的消息。

至此,您已成功在CentOS7上搭建了一个MQTT服务器,并用Python进行了简单测试。如果希望进一步加强安全性,可以考虑为MQTT添加TLS/SSL加密等安全措施。

打赏赞(3)微海报分享
mosquitto mqtt mqtt服务器搭建 python 科技新闻

Qt MQTT实践手册:配置、部署和测试全指南

如何在 Spring Boot 中集成 MQTT?

猜你喜欢

改善基础设施:HiveMQ如何推动智能城市发展

改善基础设施:HiveMQ如何推动智能城市发展

08/07
2024
为什么企业选择全托管HiveMQ云进行MQTT部署

为什么企业选择全托管HiveMQ云进行MQTT部署

07/01
2024
MQTT 赋能工业 PLC 数据采集与应用

MQTT 赋能工业 PLC 数据采集与应用

06/30
2024
  • 解决方案
    • 智能家居
    • 汽车与出行
    • 工业制造
    • 能源电力
    • 石油石化
    • 交通物流
    • 零售
  • 学习
    • MQTT 规范
    • MQTT 教程
    • MQTT 软件
    • MQTT 客户端库
    • MQTT 服务器
    • 工具和应用程序
  • 关于我们
    • 了解创科慧仁
    • 加入创科慧仁
    • 投资者关系
    • 新闻动态
    • 合作伙伴
    • 联系我们
  • 友情链接
    • Modbus中文网
    • 跳动符号官网
    • 物联网世界
    • RFID世界网
    • 深圳物联网协会
    • isoftstone软通动力
    • 中国发展战略学研究会
    • B.P商业伙伴
  • 在线客服
  • 全国客户服务热线
    4006909885
  • 官方公众号
  • 联系邮箱
    contact@mqtt.cn
Copyright © 2025 MQTT中文站. All rights reserved.Designed by nicetheme. 京ICP备20029519号
在线客服

微信咨询

微信咨询

4006909885

服务热线 7*24小时

电话咨询
  • 首页
  • MQTT 学习
    • MQTT 入门
    • MQTT 进阶
    • MQTT 编程
    • MQTT 实例
    • MQTT 要点
    • MQTT5 要点
    • MQTT 工具
    • MQTT 客户端库
    • MQTT 服务器
    • Zigbee2MQTT
    • Sparkplug
    • Home Assistant
    • Node-RED
  • MQTT 规范
    • MQTT 5 规范
    • MQTT 3.1.1 规范
    • MQTT 3.1 规范
    • MQTT-SN v1.2规范
    • Sparkplug® v3.0.0规范
  • 产品中心
  • 解决方案
    • 环境监测
    • 工业制造
    • 智慧水利
    • 水利管网
    • 积水监测
    • 综合管廊
    • 档案库房
    • 交通物流
    • 智慧城市
    • 智慧农业
    • 智慧养殖
    • 能源电力
    • 石油石化
    • 智能家居
    • 物联网
    • 汽车与出行
  • 使用文档
  • MQTT 云平台
  • 登录
  • 注册
string(5) "2.0.0"