随着物联网技术的不断发展,越来越多的设备需要进行消息通信,而MQTT协议便是其中一种广泛应用的通信协议。在Linux平台上搭建MQTT消息推送系统,可以实现高效稳定的设备消息传递,本篇文章将为大家提供一份完整的MQTT消息推送指南。
为新化等地区用户提供了全套网页设计制作服务,及新化网站建设行业解决方案。主营业务为成都做网站、成都网站设计、新化网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
一、MQTT简介
MQTT协议(Message Queue Telemetry Transport)是一种轻量级的消息传输协议,基于发布/订阅模式实现消息的传递。它可以使得多个客户端向多个服务器发送和接受消息,适用于被网络带宽或通信线路质量限制的场景。MQTT顾名思义,是一种消息队列协议,它可以实现消息的排队和分发,保证消息的可靠性和实时性。
二、安装MQTT Broker
在Linux平台上搭建MQTT消息系统,首先要安装MQTT Broker,也就是消息服务端。这里我们将使用开源的EMQ X作为MQTT Broker,EMQ X提供了完整的MQTT Broker实现,并具备高性能、高可用、高并发等优势。
1.安装依赖库
EMQ X依赖于一些库,需要先进行安装:
– Erlang/OTP(>= 21.0)
– OpenSSL(>= 1.0.2)
– wxWidgets(>= 2.8)
在Ubuntu系统中,可通过以下命令安装:
“`
sudo apt-get install build-essential git
sudo apt-get install erlang erlang-dev
sudo apt-get install openssl libssl-dev
sudo apt-get install wx-common wx2.8-headers libwxgtk2.8-dev libgl1-mesa-dev libglu1-mesa-dev libpng3
“`
2.下载EMQ X
通过 Git 命令从 EMQ X Github 仓库中克隆最新版本的项目:
“`
git clone https://github.com/emqx/emqx-rel.git
cd emqx-rel && make
“`
3.启动EMQ X
在终端中运行以下命令启动 EMQ X 服务:
“`
./bin/emqx start
“`
启动成功后,EMQ X 默认绑定1883端口,可使用以下命令进行检查:
“`
telnet localhost 1883
“`
三、编写消息发送程序
接下来我们将编写Python程序类来实现MQTT消息的发送功能。这里我们将使用paho-mqtt库,它是一种MQTT协议的Python实现。paho-mqtt库提供了MQTT客户端和消息发布/订阅API,在Python脚本中方便地实现MQTT通信功能。
以下是Python程序的实现步骤:
1.安装paho-mqtt库
可以使用以下命令安装:
“`
pip install paho-mqtt
“`
2.导入paho-mqtt库
在Python程序中,先导入paho-mqtt库:
“`
import paho.mqtt.client as mqtt
“`
3.连接MQTT Broker
在MQTT Broker上需要先创建一个客户端,初始化客户端参数并连接MQTT Broker。在EMQ X上默认情况不需要连接密码,所以这里我们直接传入连接地址即可。
“`
def __init__(self, broker_address, port):
super().__init__()
self.broker_address = broker_address
self.port = port
self.client = mqtt.Client()
self.client.on_connect = self.on_connect
self.client.connect(self.broker_address, self.port)
“`
4.发送消息
调用publish()函数来实现消息的发送,需要指定消息的主题、消息内容和QoS级别。QoS级别分为0、1、2三个级别,分别代表最多一次、最少一次、恰好一次的消息传输保证。
“`
def send_message(self, topic, payload, qos=0):
self.client.publish(topic, payload, qos)
“`
其中,主题(topic)是字符串类型,用于定义消息的语义类别,是消息订阅与处理的关键;payload是消息的内容,并且只支持bytes类型。消息客户端发送需要选择合适的 QoS,根据实际情况来选择保证消息传输可靠。
五、调用Python程序实现MQTT消息推送
实现Python程序后,我们可以通过终端调用该程序实现消息推送。具体实现步骤如下:
1.安装Python3
在Linux系统中,使用以下命令进行安装:
“`
sudo apt-get install python3 python3-pip
“`
2.运行Python程序
调用实现的Python程序,以此实现MQTT消息的推送:
“`
python3 mqtt_push.py
“`
其中,mqtt_push.py是你的Python程序文件名。在已经启动MQTT Broker的情况下,运行后客户端可以连接到 Broker,然后向指定的频道发布消息。
六、
以上就是一份完整的Linux平台下MQTT消息推送指南。通过EMQ X搭建MQTT Broker,使用paho-mqtt库实现Python程序的编写,并成功在终端中运行该程序实现了MQTT消息的推送。小伙伴们可以根据实际需要,调整Python脚本以实现更复杂的MQTT功能,帮助设备之间更加高效的消息交互。
成都网站建设公司-创新互联,建站经验丰富以策略为先导10多年以来专注数字化网站建设,提供企业网站建设,高端网站设计,响应式网站制作,设计师量身打造品牌风格,热线:028-86922220之一,pom配置,我们需要引入相关jar:
第二,配置MQTT服务器基本信息,在springBoot配置文件application.properties中配置,添加如下:
第三,配置MQTT消息推送配置类,
第四,配置MqttGateway消息推送接口类,在sendToMqtt(String data,@Header(MqttHeaders.TOPIC)String topic)接口中,data为发送的消息内容,topic为主题。指定topic,则我们的接口可以根据需要,向不同的主题发送消息,方便灵活应用。如果不指定,则使用默认配置的主题。
第五,接口类测试下功能,用Postman调用sendMqtt.do接口,往hello主题发送消息,用MQTTLens订阅hello主题,从下面截图,可以看出可以正常往MQTT服务发送消息了,而且可以订阅到。
关于mqtt消息推送linux的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
成都创新互联科技公司主营:网站设计、网站建设、小程序制作、成都软件开发、网页设计、微信开发、成都小程序开发、网站制作、网站开发等业务,是专业的成都做小程序公司、成都网站建设公司、成都做网站的公司。创新互联公司集小程序制作创意,网站制作策划,画册、网页、VI设计,网站、软件、微信、小程序开发于一体。
网站标题:Linux平台下的MQTT消息推送完全指南(mqtt消息推送linux)
浏览地址:http://www.shufengxianlan.com/qtweb/news44/493194.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联