背景 经过几天的学习与实操,对于MQTT(主要针对 v3.1.1版本)的学习告一段落,为了方便日后的查阅 本文链接:<MQTT 协议学习: 总结 与 各种定义的速查表> 章节整理 MQTT 协议学习:000-有关概念入门 : 学习新东西最重要的步骤,我觉得就是明确有关的概念. MQTT 协议学习:001-搭建MQTT通信环境,并抓包测试 : 明确概念以后,实操一遍,对于学习可以有一个初步的了解. MQTT 协议学习:002- 通信报文的构成 : 从本章开始,开始慢慢引入 构成 通信协议 的有关…
背景 上一讲 MQTT 协议学习:通信报文的构成介绍了在MQTT通信中,各报文的通信流程:从本讲开始,我们开始介绍实际中使用的报文,以及它们的组成. CONNECT - 连接请求 报文 客户端到服务端的网络连接建立后,客户端发送给服务端的第一个报文必须是CONNECT, 连接服务端报文. 在一个网络连接上,客户端只能发送一次CONNECT报文.服务端必须将客户端发送的第二个CONNECT报文当作协议违规处理并断开客户端的连接. 服务端可以检查CONNECT报文的内容是不是满足任何进一步的限制,可…
前言 通过前面了解MQTT有关概念.分析了有关的报文,我们对于这个协议也有了更深的认识.但纸上谈来终觉浅,绝知此事要躬行. 本文参考:<STM32+W5500+MQTT+Android实现远程数据采集及控制>.<物联网核心之MQTT移植 >.<基于联盛德w600的mqtt客户端程序示例> host平台 :Ubuntu 16.04 Taget :STM32 + W5500. MQTT-client : paho.mqtt.embedded-c W5500 - 芯片介绍 全…
背景 之前工作中参与有关协议调试的时候,发现对于协议帧的解析是比较重要的. 参考:<MQTT协议 -- 消息报文格式>.<基于STM32实现MQTT>.<MQTT协议从服务端到客户端详解> 英文资料:<MQTT Control Packets> MQTT协议数据包结构 此图是 PUBLISH 报文的组成 在MQTT协议中,一个MQTT数据包由:固定头(Fixed header).可变头(Variable header).消息体(payload)三部分构成.…
背景 目的:了解MQTT 通信的有关概念与流程:方便推算某些数据与文档描述是否一致. 为了能够在保证学习质量的前提下,降低配置环境的门槛,我们将服务器搭建在windwos中,实行内网间的MQTT协议访问. 搭建Linux平台下的 MQTT 环境可以参考:<arm linux 移植 MQTT> .或者根据mosquitto的readme文档,这一讲主要是为了快速入门. HOST: Windows10-x64 MQTT: mosquitto v1.6.8-x64(mosquitto 官网下载比较慢…
PS:网上关于ds1307的资料最多还是基于51等单片机的,和stm32上还是略有差别,代码是参考了http://www.openedv.com/posts/list/20167.htm 但是他的代码有一定错误,在我的设备上读不了数据,更别谈写数据了. 说明:此程序是控制IO口模拟i2c控制ds1307 关于ds1302的资料这里就不多说了,主要分析下代码.让各位入门的新手参考一下,附上代码的下载链接:http://download.csdn.net/detail/u012062785/8966…
一.MQTT介绍 MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的“轻量级”通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布.MQTT最大优点在于,可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务.做为一种低开销.低带宽占用的即时通讯协议,使其在物联网.小型设备.移动应用等方面有较广泛的应用. 二.MQTT协议特点  MQTT协议构建于TC…
若初次接触MQTT协议,可先理解以下概念: [MQTT协议特点]——相比于RESTful架构的物联网系统,MQTT协议借助消息推送功能,可以更好地实现远程控制. [MQTT协议角色]——在RESTful架构的物联网系统,包含两个角色客户端和服务器端,而在MQTT协议中包括[MQTT协议消息]——MQTT中的消息可理解为发布者和订阅者交换的内容(负载),这些消息包含具体的内容,可以被订阅者使用. [MQTT协议主题]——MQTT中的主题可理解为相同类型或相似类型的消息集合. -----------…
前言 MQTT(Message Queuing Telemetry Transport),是一个物联网传输协议,它被设计用于轻量级的发布/订阅式消息传输,旨在为低带宽和不稳定的网络环境中的物联网设备提供可靠的网络服务.MQTT是专门针对物联网开发的轻量级传输协议.MQTT协议针对低带宽网络,低计算能力的设备,做了特殊的优化,使得其能适应各种物联网应用场景.本文旨在研究其在消息发布/订阅/接收场景下的应用. MQTT协议中的几个重要概念 服务端 是发送消息的客户端和请求订阅的客户端之间的中介,又称…
背景 QoS 等级 与 通信的流程有关,直接影响了整个通信.而且篇幅比较长,所以我觉得应该单独拎出来讲一下. 概念 QoS 代表了 服务质量等级. 设置上,由2 位 的二进制控制,且值不允许为 3(0x11). QoS值 Bit 2 Bit 1 描述 0 0 0 最多分发一次 1 0 1 至少分发一次 2 1 0 只分发一次 - 1 1 保留位 要注意的是,QoS 是 Sender 和 Receiver 之间达成的协议,不是 Publisher 和 Subscriber 之间达成的协议. 也就是…