MQTT-SN协议乱翻之小结篇】的更多相关文章

前言 这里简单做一些小结和对比,针对前面的协议翻译部分,一阶段的学习完结. MQTT-SN VS MQTT MQTT-SN基于MQTT原有语义,但做了很多的调整.比如: 一个CONNECT消息被拆分为3个消息 主题名称需要使用主题标识符替代 * 网关地址可以广播.查询得知 MQTT-SN 与 MQTT对比,使用一张图介绍 比较类型 MQTT MQTT-SN 传输类型 可靠点对点流模式 不可靠的数据报 通信方式 TCP/IP Non-IP 或 UDP 网络传输 Ethernet, WiFi, 3G…
前言 紧接上文,这是第三篇,主要是对MQTT-SN 1.2协议进行总体性功能描述. 嗯,这一部分可以结合着MQTT协议对比着来看. 网关的广播和发现 网关只能在成功连接到MQTT Server之后,才能够周期性的在无线个人区域网WPNs内对所有客户端广播ADVERTISE消息,便于客户端被动知道网关的存在. 在同一网络下,多个拥有不同Id的网关可有同时运行中,但会由客户端根据信号强弱决定连接具体网关,无论何时只能连接一个网关. 客户端可维护一份可用网关列表(包含网关地址),在接收到包含有新的网关…
前言 紧接着上篇初步介绍,本文为第二篇,主要梳理MQTT-SN 1.2协议中定义的消息格式. 通用消息格式 消息头 其它可变部分 2/4字节表示 N字节组成 消息头部 长度 消息类型 1或3个字节 1个字节 长度要么是1个字节,要么3个字节表示,并且自身也会包含在其内.一个字节可表示256长度,一般情况下,完全够用了. 只需要判断第一个字节是否为 0x01,若是那么长度为3个字节表示,剩下的两个字节会表示真正的消息长度,最大长度为65535 否则长度就是一个字节表示,256个长度,大部分消息长度…
前言 这一段时间在翻看MQTT-SN的协议,对针对不依赖于TCP传输的MQTT协议十分感兴趣,总是再想着这货到底是怎么定义的.一系列文章皆有MQTT-SN 1.2协议所拼装组成,原文档地址: MQTT-SN_spec_v1.2.pdf MQTT-SN文档分为7个部分,我直接按照从前到后的顺序,直接组装成四个小篇.嗯,若放在一篇文章中,文字太长,造成排版难度. 非直译,完全按照自己理解整理而成,请知晓. 版本变迁历史 2007-11-29 1.0版本 2008-6-5 1.1版本,增加休眠设备支持…
前言 本篇是MQTT-SN 1.2协议最后一篇翻译了,主要涉及实现要点,很简短. 需要支持QoS 值为 -1 QoS虽默认设置有0,1,2三个值,但还有一种情况其值为-1.来自客户端的PUBLISH消息中若QoS为-1的情况下,此刻客户端不会关心和网关有没有建立连接,也不在乎时间点,有消息就需要发出去.透明的网关需要维护此类消息并与远程的MQTT Server建立一个专用TCP连接.聚合网关或hybird混杂网关可使用已有的MQTT Server连接转发此类消息. 定时器和计时器实践建议 定时器…
原创文章,引用请保证原文完整性,尊重作者劳动,原文地址http://www.cnblogs.com/qq1269122125/p/3945294.html. 上章节讲解了利用自主开发的组件SIP组件libGBT28181SipComponent.so实现Linux 32平台的UAS和UAC,因为该组件采用很多新的技术,所以采用该组件效率无疑是很高的.但是对于想学习SIP协议,或者想了解eXosip2开发流程的程序员,是不能从根本上了解学习的.因为所有的功能都封装在libGBT28181SipCo…
TCP协议详解(理论篇) 2012-08-20      0个评论       作者:陈立龙 收藏    我要投稿 TCP协议详解(理论篇)   1.    与UDP不同的是,TCP提供了一种面向连接的.可靠的字节流服务.面向连接比较好理解,就是连接双方在通信前需要预先建立一条连接,这犹如实际生活中的打电话.助于可靠性,TCP协议中涉及了诸多规则来保障通信链路的可靠性,总结起来,主要有以下几点:       (1)应用数据分割成TCP认为最适合发送的数据块.这部分是通过“MSS”(最大数据包长度…
Thingsboard的MQTT设备协议 thingsboard官网: https://thingsboard.io/ thingsboard GitHub: https://github.com/thingsboard/thingsboard thingsboard提供的体验地址: http://demo.thingsboard.io/ BY Thingsboard team 以下内容是在原文基础上演绎的译文.除非另行注明,页面上所有内容采用知识共享-署名(CC BY 2.5 AU)协议共享.…
一.IOT设备的特性 硬件能力差(存储能力基本只有几MB,CPU频率低连使用HTTP请求都很奢侈) 系统千差万别(Brillo,mbedOS,RIOT等) 如使用电池供电,电量消耗敏感 如果是小设备,设备基数大需要维持大量在线链接 网络情况不稳定,移动网络网络资费贵,需要尽量减少开销和稳定 在以上这样苛刻的场景下很多技术上常用在智能设备方案都望而却步,总结一下我们主要面对下面三个问题: socket.io,websocket? 不同的系统可能无法使用HTTP,设备资源可能使用HTTP都奢侈 .…
本文基本公开了如何移植MQTT物联网协议到STM32平台上,并结合GPRS模块(SIM800C/SIM900A/SIM868等)实现publish和订阅topic从onenet,阿里云,百度云等.如果不想移植,可以在如下淘宝链接中直接购买源代码,全部源码+资料300,全部源码+资料包售后500元. 物联网开发板裸板只要168,套餐可自己搭配. 淘宝链接:https://item.taobao.com/item.htm?spm=a2126o.11854294.0.0.120c4831Ic87Zt&…