赞
踩
MQTT是机器对机器(M2M)/物联网(IoT)连接协议,作为设备与云端通信交互的桥梁,广泛应用于物联网、移动互联网、智能硬件、车联网、电力能源等领域的设备控制。
MQTT(Message Queuing Telemetry Transport),翻译为消息队列传输探测,是一个物联网传输协议,用于轻量级的发布/订阅式消息传输,旨在为低带宽和不稳定的网络环境中的物联网设备提供可靠的网络服务。
发布者发布topic消息到代理,代理将该消息推送到所有订阅该topic的订阅者。发布者和订阅者之间无需建立直接连接,而是通过 MQTT Broker 来负责消息的路由和分发。
客户端是指任何运行MQTT库的应用或设备。发布消息的客户端就是发布者,订阅topic消息的客户端就是订阅者。
代理(broker)是负责处理客户端请求的关键组件,包括建立连接、断开连接、订阅和取消订阅等操作,负责消息的转发。一个高效强大的 Broker 能够轻松应对海量连接和百万级消息吞吐量。
在爱星物联平台,客户端有爱星物联开发平台、爱星物联APP、安信可通讯模组,代理(broker)是云平台MQTT服务程序。
如带有安信可通讯模组的彩灯作为客户端连接到了代理(broker),并将设备开的状态发布到主题report,MQTT Broker 接收到该消息后会负责将其转发给订阅了report主题的订阅者客户端。
MQTT 协议根据主题来转发消息体。主题通过 / 来区分层级,类似于 URL 路径。
爱星物联的主题路径组成为{ProductKey}/{DeviceId}/区分行为的字段
如:
{ProductKey}/{DeviceId}/control
{ProductKey}/{DeviceId}/control/ack
与主题一起发布/订阅的是服务质量(QoS),MQTT 提供了三种服务质量(QoS),在不同网络环境下保证消息的可靠性。
QoS 0:消息最多传送一次。如果当前客户端不可用,它将丢失这条消息。
QoS 1:消息至少传送一次。
QoS 2:消息只传送一次。
爱星物联的消息结构由协议头(Header)和负载(Payload)组成。
爱星物联MQTT消息结构参考以下:
爱星物联开源社区的开发平台提供了MQTT web端对象封装的js文件,需要查看完整代码的童鞋可以借鉴。
地址:https://github.com/ubases/ubases_iot_open_web/blob/main/src/utils/control.js
爱星物联web端项目采用的是vue2的框架,这里安装mqtt的2.18.8版本,命令如下:
npm install mqtt@2.18.8
import mqtt from 'mqtt'
完整代码可查看爱星物联开源云项目:
https://github.com/ubases/ubases_iot_open_web/blob/main/src/utils/control.js
欢迎各位技术大神参与开源云项目体验,爱星物联IoT云平台致力于提供更加成熟、安全、全球化可用的物联网服务,降低投入成本,快速开发 IoT 产品,构建安全稳定且可定制化的 IoT 解决方案。以上就是本期分享的内容,目的在于让大家快速适应新品方案的开发,更多资料可从我们官网上获取。
官方官网:https://www.ai-thinker.com
开发资料:https://docs.ai-thinker.com/
官方论坛:http://bbs.ai-thinker.com
技术支持:support@aithinker.com
爱星物联IoT平台体验网址:https://open.iot-aithings.com
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。