![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
物联网
文章平均质量分 72
wayne_ren
这个作者很懒,什么都没留下…
展开
-
MQTT入门(1)- 简要介绍
MQTT(MQ Telemetry Transport)消息队列遥测传输协议是TCP / IP协议之上,基于发布Publish/订阅Subscribe模式,机器到机器(M2M)通信,二进制传输的轻量级消息协议。1999年IBM开发,2010年对外免费开放,2014年正式成为OASIS的官方标准。虽然名称里有MQ,但它不是Message Queue,它并不会保证消息的顺序。和...2018-01-03 13:45:03 · 871 阅读 · 0 评论 -
MQTT入门(9)- 连接和会话
[b](1)Connection[/b]连接指的是client和broker之间,client和client之间不能直接连接。client和broker之间建立连接,必须先发送一个 CONNECT 消息,并附带上必要的认证信息。broker接收到 CONNECT 之后,会执行认证等处理,应答一个 CONNACK 消息。连接一旦建立,broker会为client保持这个连接,直到客户端发起d...2018-01-08 11:29:15 · 1169 阅读 · 0 评论 -
MQTT入门(8)- 保留消息和最后遗嘱
[b](1)保留消息Retained Messages[/b]MQTT中,无论是发布还是订阅都不会有任何触发事件。1个Topic只有唯一的retain消息,Broker会保存每个Topic的最后一条retain消息。每个Client订阅Topic后会立即读取到retain消息,不必要等待发送。订阅Topic时可以使用通配符,就会收到匹配的每个Topic的retain消息。...2018-01-05 14:59:19 · 10655 阅读 · 3 评论 -
MQTT入门(7)- 服务质量QoS
为了确保客户端和服务器端之间消息的送达,MQTT支持三种消息发布服务质量(QoS:Quality of Service):[b](1)QoS 0(At most once)“至多一次”[/b]消息发布完全依赖底层 TCP/IP 网络。会发生消息丢失或重复。这一级别可用于如下情况,环境传感器数据,丢失一次读记录无所谓,因为不久后还会有第二次发送。[b](2)QoS 1(At le...2018-01-05 10:33:18 · 954 阅读 · 1 评论 -
MQTT入门(6)- 主题Topics
MQTT是基于topic来发布消息的,发布者在发布消息时需要指定该消息发布在哪个topic下。topic最容易的理解方式是文件夹路径。如果有成千上万的不同类型的文件要保存,为了合理放置这些文件,需要创建一系列有层次性的文件夹来管理它们。发布消息就好比把文件保存到不同的文件夹下。和文件夹类似,topic有主题级别,各级别之间是以斜杠(/)来分隔的。比如: rensanning/h...2018-01-04 16:05:01 · 3305 阅读 · 1 评论 -
MQTT入门(5)- 服务器Servers/Brokers
虽然有免费的公开Broker服务可以使用,当初步理解了MQTT协议之后,就有必要自己动手搭建一台Broker了。这样才能更深入的学习MQTT的更多内容。开源的Broker有很多,目前主流的Broker有以下3个:[list][*]Mosquitto:https://mosquitto.org/ [*]VerneMQ:https://vernemq.com/ [*]EMQTT:htt...2018-01-04 15:05:49 · 1344 阅读 · 0 评论 -
MQTT入门(4)- 客户端工具
[b](1)开发包Library[/b][url=https://www.eclipse.org/paho/]Eclipse Paho[/url] 提供了各种开发语言使用的开发SDK,比如:Python:https://github.com/eclipse/paho.mqtt.pythonJavaScript:https://github.com/eclipse/paho.mqtt...2018-01-04 11:03:40 · 1810 阅读 · 0 评论 -
MQTT入门(3)- 分析报文Packet
既然MQTT是一个通信协议,就有必要看看在通信时的packet报文信息,有助于对协议自身的理解。MQTT是一个二进制协议,所以报文中的数据都是字节码而不是文字。而且它采用 command 和 command acknowledgement 成对实现通信。[b](1)报文分析[/b][b]标准的MQTT报文结构[/b]主要分为三部分:固定报头(Fixed Hea...2018-01-04 09:13:19 · 2228 阅读 · 0 评论 -
MQTT入门(2)- 公开的服务Broker
使用MQTT,前提是需要一个服务器Server/Broker,除了自己搭建服务,刚开始时可以使用第三方提供的在线公开的免费Broker服务。使用这些免费Broker服务,可以在刚开始时快速理解MQTT协议。[img]http://dl2.iteye.com/upload/attachment/0128/3608/e523c06b-0ad1-3186-b4bc-3288f944c410.pn...2018-01-03 14:21:09 · 2412 阅读 · 0 评论 -
MQTT入门(10)- MQTT与WebSocket
基于浏览器的Web应用,一般都是通过JavaScript来和服务器进行交互,这时可以采用基于WebSocket的MQTT。大部分Broker都支持MQTT over WebSocket。这样做的好处在于可以很好的利用浏览器的WebSocket,而服务端无需在开放80/443以外的端口。MQTT本省和WebSocket没有什么关系,但是Broker可以处理WebSocket里的MQTT包。...2018-01-08 16:23:01 · 3019 阅读 · 1 评论