MQTT通信知识总结(1)

英语OK的童鞋请往这边走:Using MQTT, Python and Mosquitto - Practical IOT (steves-internet-guide.com)

まず、MQTT通信紹介

MQTT:Message Queuing Telemetry Transport 消息队列遥测传输协议,是一种基于发布/订阅模式的“轻量级”M2M(设备到设备)通信协议。

补充介绍:

发布/订阅模式:软件架构中,消息的发送方并不朝向特定接收方进行发送消息,而是将消息广播(发布),通过接收方的预定(订阅)主题来筛选发送/收取消息。

轻量级:使用低带宽来实现设备间的消息通信。

为了理解MQTT通信,可类比抖音观众用户和抖音博主用之间的关注操作。

若某观众lsp关注了某博主大美,则大美一旦有发布新视频,则观众lsp就会第一时间获得视频信息。但是前提条件是大美和lsp都在抖音平台上有账户。

所以,为了实现发布/订阅模式,MQTT环境中有个必须的转接件——Broker服务器。Broker相当于上述抖音平台,记录各用户的订阅信息和收藏已发布的消息。具体过程后续介绍。

其最大优点是通过极简代码和有限带宽,为远程设备进行实时可靠的消息服务。作为一种低成本的即时通讯协议,为物联网行业、小型设备通信、移动应用等方面的常用通信协议。

现主要版本有:

  • MQTT v3.1.0 – 我用的
  • MQTT v3.1.1 – 常用
  • MQTT v5
  • MQTT-SN

现主要使用库:

  • paho(C,Java,Go,Python...)
  • others......

次は、MQTTプロセス説明

MQTT通信流程主要分为三部分。

1.构建用户端与Broker服务器

对于MQTT通信协议,由于并不是C/S(客户端/服务端)模式,而是P/S(发布/订阅)模式,故所有用户均为同一阶级,即可以发送消息,也可以接受消息。

 

2.用户订阅主题信息

MQTT中,每个用户都可以并且需要订阅自己需要的主题。最终Broker服务器会以订阅关系来发送相关数据。

 

 

3.用户发布消息

每个MQTT用户端均可以发布消息,Broker接收消息后,会根据订阅情况来广播数据。

 关于用户端详细代码流程,后续发布...

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值