🚀 优质资源分享 🚀
学习路线指引(点击解锁) | 知识定位 | 人群定位 |
---|---|---|
🧡 Python实战微信订餐小程序 🧡 | 进阶级 | 本课程是python flask+微信小程序的完美结合,从项目搭建到腾讯云部署上线,打造一个全栈订餐系统。 |
💛Python量化交易实战💛 | 入门级 | 手把手带你打造一个易扩展、更安全、效率更高的量化交易系统 |
项目全部代码地址:https://github.com/Tom-shushu/work-study.git (mqtt-emqt 项目)
先看我们最后实现的一个效果
1.手机端向主题 topic111 发送消息,并接收。(手机测试工具名称:MQTT调试器)
2.控制台打印
MQTT基本简介
MQTT 是用于物联网 (IoT) 的 OASIS 标准消息传递协议。它被设计为一种极其轻量级的发布/订阅消息传输,非常适合连接具有小代码足迹和最小网络带宽的远程设备。
MQTT协议简介
MQTT 是客户端服务器发布/订阅消息传输协议。它重量轻、开放、简单,并且易于实施。这些特性使其非常适合在许多情况下使用,包括受限制的环境,例如机器对机器 (M2M) 和物联网 (IoT) 环境中的通信,其中需要小代码足迹和/或网络带宽非常宝贵。
该协议通过 TCP/IP 或其他提供有序、无损、双向连接的网络协议运行。其特点包括:
· 使用发布/订阅消息模式,提供一对多的消息分发和应用程序的解耦。
· 与有效负载内容无关的消息传输。
· 消息传递的三种服务质量:
o “最多一次”,根据操作环境的最大努力传递消息。可能会发生消息丢失。例如,此级别可用于环境传感器数据,其中单个读数是否丢失并不重要,因为下一个读数将很快发布。
o “至少一次”,保证消息到达但可能出现重复。
o “Exactly once”,保证消息只到达一次。例如,此级别可用于重复或丢失消息可能导致应用不正确费用的计费系统。
· 最小化传输开销和协议交换以减少网络流量。
· 发生异常断开时通知相关方的机制。
EMQX简介
通过开放标准物联网协议 MQTT、CoAP 和 LwM2M 连接任何设备。使用 EMQX Enterprise 集群轻松扩展到数千万并发 MQTT 连接。
并且EMQX还是开源的,又支持集群,所以还是一个比较不错的选择
EMQX集群搭建
前期准备:
1.两台服务器:我的两个服务器一台是腾讯云、一台是阿里云的(不要问为什么,薅羊毛得来的)咱们暂且叫他们 mqtt_service_aliyun和
mqtt_service_txyun 吧。
2.一个域名: mqtt.zhouhong.icu
安装开始
1.分别在两台服务器上执行以下操作进行安装(如果是单机:只需要进行下面1、2操作就安装完成了)
## 1.下载
wget https://www.emqx.com/zh/downloads/broker/4.4.4/emqx-4.4.4-otp24.1.5-3-el8-amd64.rpm
## 2.安装
sudo yum install emqx-4.4.4-otp24.1.5-3-el8-amd64.rpm
## 3.修改配置文件
vim /etc/emqx/emqx.conf
## 4.修改以下内容
## 注意node.name是当前这台服务器名称
node.name = mqtt\_service\_txyun@x