mqtt物联网数据传输协议
引用github的资源https://mcxiaoke.gitbooks.io/mqtt-cn/Introduction3.2 CONNACK一确认连接请求o3.3 PUBLISH-发布消息o34 PUBACK一发布确认o35 PUBREC-发布收到(QoS2,第一步)°36 PUBREL-发布释放(QoS2,第二步)°3.7P∪ BCOME一发布完成(QoS2,第三步)o3.8 SUBSCR|BE-订阅主题o39S∪BACK-订闶确认o3.10 UNSUBSCR|BE-取消订阅3.11 UNSUBACK-取消订阔确认3.12P| NGREG一心跳请求3.13 PINGRESE一心跳响应o3.14D| SCONNECT一断开连接第四章一操作行为第五章一安全第六章一使用 Websocket第七章一一致性目标附录B-强制性规范声明旧版文档已过期,建议使用 GifTbook版本最新版本:V1.0.12015.10.22文档连接中文版HTMLMQTT3.1.1中文版中文版PDFMQTT3.1.1中文版英文版HTMLMQTT Version 3.1.1英文版PDFMQTT∨ ersion3.1.1许可协议署名-非商业性位用-相同方式共享4.0国际联系方式IntroductionBloghttp://blog.mcxiaoke.comGithub:https://github.com/mcxiaoke.Email:github@mcxiaoke.com开源项目·Rx文档中文翻译:htts:/! github. com/mcxiaoke/ RXDOCS·MQTT协议中文版:htps:/ github. com/ mcxiaoke/mgttAwesome-kotlin:httpsgithub.com/mcxiaokelawesome-kotlin.Kotlin-koi:https:/github.com/mcxiaoke/kotlin-koiNeXt公共组件库:htps!/github.com/xiaoke/Android-Next· PackerNg极速打包:htts;/ github. com/mcxiaoke/ packer- ng-pluginGradle渠道打包https://github.com/mcxiaoke/gradle-packer-plugin·VentuS实现xBus:htps;/github.com/miaoke/BuS磨菇饭App:htps:! github. com/mcxiaoke/minicat·饭否客户端:https:/github.com/mcxiaoke/anfouapp-opensourceVolleyt:https://github.com/mcxiaoke/android-volley第一章-MQTT介绍第一章概逃 Introduction1.1MQTT协议的组织结构 Organization of MQTT本规范分为七个章节:第一章一介绍第二章一MQTT控制报文格式第三章一MQTT控制报文·第四章一操作行为第五章一安全第六章一使用 Websocket第七章一一致性日标附录B一强制性规范声明12术语 Terminology本规范中用到的夭键字必须MUST,不能 MUST NOT,要求 REQUIRED,将会 SHALL,不会 SHALL NOT,应该 SHOULD,不应该 SHOULD NOT,推荐 RECOMMENDED,可以MAY,可选 OPTIONAL都是按照 TE RFC2119[RFC2119]中的描迹解释。网络连接 Network ConnectionMQTT使用的底层传输协议基础设施。客户端使用它连接服务端。它提供有序的丶可靠的丶双向字节流传输。例子见42节应用消息App| ication Message MQT协议通过网络传输应用数据。应用消息通过MQT传输时’它们有关联的服务质量(QoS)和主题( Topic)客户粥C|ient使用MQπT的程序或设备。客户端总是通过网络连接到服务端。它可以发布应用消息给其它相关的客户端。●订阅以请求接受相关的应用消息。·取消订阅以移除接受应用消息的请求从服务端断开连接第一章-MQTT介绍服务端 Server个程序或设备,作为发送消息的客户端和请求订阅的客户端之间的中介σ服务端接受来自客户端的网络连接。接受客户端发布的应用消息。·处理客户端的订阅和取消订阅请求。转发应用消息给符合条件的已订阅客户端订 Subscription订阔包含一个主题过滤器( Topic Filter)和一个最大的服务质量(QoS)等级。订阅与单个会话( Session)关联。会话可以包含多于一个的订阅。会话的每个订阅都有一个不同的主题过主题名 Topic Name附加在应用消息上的一个标签’服务端巳知且与订阔匹配。服务端发送应用消息的一个副本给每一个匹配的容户端订阅。主题过滤器 Topic Filter订阅中包含的一个表达式,用于表示相关的一个或多个主题。主题过滤器可以使用通配符。会话 Session客户端和服务端之间的状态交互。一些会话持续时长与网络连接一样·另一些可以在客户端和服务端的多个连续网络连接间扩展。控制报文 MQTT Contro| Packet通过网络连接发送的信息数据包。MQTT规范定义了十四种不同类型的控制报文,其中一个( PUBLISH报文)用于传输应用消息。1.5数据表示 Data representations1.51二进制位Bits字节中的位从0到7。第7位是最高有效位’第0位是最低有效位。1.52整数数值 Integer data values整数数值是16位’使用大湍序( big-endian,高位字节在低位字节前面)。这意味着一个16位的字在网络上表示为最高有效字节(MSB),后面跟着最低有效字节(LSB)1.53UTF8编码字符串UTF8 encoded strings后面会描逑的控制报文中的文本字段编码为UTF8格式的字符串。UTF8[RFC3629]是一个高效的υ ncode字符编码格式’为了攴持基于文本的通信’它对ASC∏字符的编码做了优化第一章-MQTT介绍每一个字符串都有一个两字节的长度字段作为前缀,它给出这个字符串UTF8编码的字节数,它门在图例1.1UTF8编码字符串的结构中描述。因此可以传送的UTF-8编码的字符串大小有个限制,不能超过65535字节除非另有说明’所有的UTF-8编码字符串的长度都必须在0到65535字节这个范围内。图例1.1UTF8编码字符串的结构 Structure of ute8 encoded strings进制位7-0yte字符串长度的最高有效字节(MsB)byte 2字符串长度的最低有效字节(LSB)byte 3如果长度大于0,这里是UTF-8编码的字符数据。UTF-8编码字符串中的字符数据必须是按照 Unicode规范[ Unicode]定义的和在RFC3629[RFC3629]中重申的有效的UTF8格式。特別需要指出的是,这些数据不能包含字符码在U+D800和U+DFFF之间的数据。如果服务端或客户端收到了一个包含无效UTF-8字符的控制报文”它必须关闭网络连接[MQTT1.53-]。UTF-8编码的字符串不能包含空字符U+0000如果客户端或服务端收到了一个包含U+0000的控制报文’它必须关闭网络连接MQTT-1.53-2]数据中不应该包含下面这些 Unicode代码点的编码。如果一个接收者(服务端或客户端)收到了包含下列任意字符的控制报文,它可以关闭网络连接U+0001和U+00F之间的控制字符∪+007F和∪+009F之问的控制字符Unicode规范定义的非宇符代码点(例如U+ OFFFF)Unicode规范定义的保留字符(例如U+ OFFFF)UTF-8编码序列0XEF0xBB0XBF总是被解释为U+FEFF(零宽度非换行空白字符)’无论它出现在字符串的什么位置’报文接收者都不能跳过或者剥离它[MQTT-153-3]。非规范示例 Non normative example例如,字符串A是一个拉丁字母A后面跟着一个代码点U+2A6D4(它表示一个中日韩统表意文字扩展B中的字符)这个字符串编码如下图例12UTF8编码字符串非规范示例UTF-8 encoded string non normative example第一章-MQTT介绍Bit54byte 1字符串长度MSB(0x0O)00byte 2字符串长度LSB(0×05)byte 3A(0×41)00000bye4(0×F0)000byte 5(OXAA)00byte 6(0×9B)0byte 7(0×94)0001.6编辑约定 Editing conventions本规范用黃色高亮的文本标识一致性声明·毎个一致性声明都分配了一个这种袼式的引用:[MQTT××x-y]项目主页MQTT协议中文版第二章一MQTT控制报文格式第二章MQTT控制报文格式 MQTT ControPacket format目录第一章-个绍第二章一MQTT控制报文格式第三章一MQTT控制报文·第四章一操作行为第五章一安全第六章一使用 Websocket第七章一一致性目标附录B-强制性规范声明2.1MQTT控制报文的结构 Structure of an MQTTControl packetMQπT协议通过交換预定义的MQTT控制报文来通信。这一节描逃这些报文的格式。MQTT控制报文由三部分组成’按照图例2.1-MQ∏控制报文的结构描逃的顺序图例21-MQTT控制报文的结构Fixed header固定报头’所有控制报文都包含Variable header可变报头·部分控制报文包含Payload有效载荷·部分控制报文包含22固定报头 Fixed header每个MQTT控制报文都包含一个固定报头。图例2.2-因定报头的格式描逑了因定报头的格式图例22-固定报头的格式第二章一MQTT控制报文格式Bit65432byte 1MQTT控制报文的类型用于指定控制报文类型的标志位byte 2剩余长度221MQTT控制报文的类型 MQTT Control Packet type位置:第1个字节,二进制位7-4表示为4位无符号值,这些值的定义见表格2.1-控制报文的类型表格2.1-控制报文的类型名字值报文流动方向描述Reserved禁止保留CONNECT客户端到服务端客户端请求连接服务端CONNACK2服务端到客户端连接报文确认PUBLISH两个方向都允许发布消息PUBACK丙个方向都允许QoS1消息发布收到确认PUBREC5两个方向都允许发布收到(保证交付第一步)PUBREL两个方向都允许发布释放(保证交付第二步PUBCOMP7两个方向都允许QoS2消息发布完成(保证交互第三步)SUBSCRIBE8客户端到服务端客户端订阅请求SUBACK9服务端到户风请求摄文确认UNSUBSCRIBE10客户端到服务端客户端取消订阋请求UNSUBACK服务端到客戶端取消订阔报文确认PINGREQ12客户端到服务端跳请求PINGRESP13服务端到客户端心跳响应DISCON№ECT14客户端到服务端客户端断开连接Reserved15禁止保留222标志Fags固定报头第1个字节的剩余的4位[30]包含每个MQTT控制报文类型特定的标志,见表格22-标志位。表格2.2中任何标记为“保留”的标志位·都是保留给以后使用的·必须设置为表柊中出的值[MQT「-22.2-1。如果收到非法的标志’接收者必须关闭网络连接。有美错误处理的详细信息见4.8节MQTT2222]
- 2021-05-06下载
- 积分:1
陈继光《Matlab与自适应神经网络模糊推理系统》.pdf
陈继光《Matlab与自适应神经网络模糊推理系统》电子书录3.27将号矩阵的综合运算指令··3.28符号短阵的分解运算·····3.2.9符号矩阵的微积分求解··,,,··,。,,,·753.2.10符号矩阵线性方程组的解。····763.2.11符号矩阵代数方程组的解·:·············。。。··773.2.12符号徽分方程组的求解··793.213符号计算中状得指定精度数值解。·,·第4章数据和函数的图形处··········。·834]数据和函数图形化的一般方法4,1.1高散型数据和函数的图形表示,,····。,41.2连续函数的图形表示···,·*·····841.3数据图形表示的一般步巢:··.·.:·。··::844.2二维图形绘制·.···:·854.2.1plot指今的形式···:·;·422图形色彩、线型和数据点形参数的选择4.2.3坐标刻划和格网控制·。·。··874.24图形注释操作。。,:·····。。:··,·,··884.2.5重叠绘图■■會■命4.2.6双纵坐标绘图·。··A2.7多子图—列··4··44,2,8交互式图形指令·43二维图形绘制·:·········。‘······934.!二维图形绘图的数据准备b■■■●4.3.2三维图形网线图、曲面图基本指令格式。···。,,,。。·。。,,··944.3.3三维图形的色彩设定·43.4三维图形的透视处理964.3.5三维图形上的标志设定··4,36三维图形的镂空和裁切····:······。。·。。。。4.4函效绘图的商掩指令··。······。············。·945图形的实时动志操作■會■曾冒曾■■曾■■曾■■冒■■■4,6工程观测数据分析绘图····"*.··:·103第5章MLAB程序设计·,········。···········10551 HAELAB程序设计方法5.3.1贴TLAB程序的文件编粗方式········105录5.1.2m文件的两种格式····:·10752 HATLAB程序中的参数和变量··:,*·········。··1105.2.1 CATLAB系统参数1052.2 MATLAB系统变量·1115.3硎 ATLAB程序结构·,。···:112531版序结构·。····:··········。。·。。···1125.3.2循环结构。·,。··。,····“·。·。“······1136.33分支结构5,4程序流棹制話句······。4165.4.1ec0指令5,4,2impu-, vesirput指令····■····■····音3 pause指令1I75.4.4 keyboard指令····;1174,5brea指令5,5函数调用和参氮饭递·■■·····l195.5.1函数调用L195.5.2数传递56 MATLA数据的存取操作·1225,6,1MTLB数据的输入输出方式5,2用ope:,fre、 fsr f函数指令完成数据的读取:.···:·:·12356.3sae和load函数指令的使用12356.4矩昨数据的内存浏览器查掏第6章摸糊逻辑工具箱工作原理及其应用1z66.上模集合和模糊逻辑关系·······■·自曹着■1266.1.1模糊集合与就属度函数表示。。··1266.12隶屙度数形式296.1,3模糊逻辑概念·····6.l,4模糊摊理计算“·······‘··。·。。··。。。。。。:·1416,2模糊逻辑运算的图形界面工具及使用1426.2.1模糊推理系统編辑器及其应用···,·。·······,···143622隶属度函数编辑器及其应用········。,··。“····14562,3模糊规编辑器及其应用···476.24模拗规划浏览器及其应用。。····1496,2,5模糊推理系统输入、输出曲而图·.·····4····1496.3 MATLAB系统模逻辑运算的程序编写罩6.3I模糊逻辑推理系统的建立·····。··:···;··,····:152录6.32输入变量就属度函数选择·····,,“·,,,,,“,·152633输出变量就属度函数选择■■▲1546.3.4模糊规则定义···:········,:·······:···1546.3.5程序运行科函数指令介網········;···········1556.4自适应网络模糊推理系统ANF1概述。·1616.5自适应网络模糊推理系统编辑器的图形界面及其使用···········*1626,5.l自适应网络模推理系统编料器的图形界面65.2自适应网络模糊推理系统编辑器使用示例··:··1696.6自适应网绌模糊攉理系统的程序运算····*·17566数据文件连接和数据类型定义,····。:·1776.6.2调用函数指令由训综数据生成初始自适应网络模糊推理系统模型786.6.3运用训练数据进行系统模型优化训练s··■即咖鲁幽866.4模型预测值计算和预测数据曲线图b1826.6.5预测误差计算和预测误差线···。····,。····。···1836.6.6模型结杓误差分析计算。··········。。·······“···1846.7白适应网络模糊推理系统工程应用示例一流观测数据预测·。。··。··1856.7.1最住延迟叶间间隔和世入维数选取的预测误差最小法········18667.2模型分析::愚啬鲁鲁申鲁·咖鲁即·●·鲁·■■l8567.3应用举例··-·············.····1876.7.1结论·····188MATLAB与自适应神经网络模蝴推理系統第1章 MATLAB系统的基础准备1.1 MATLAB系统的运行环境1.1. HATLAB系统的运行环境概述照 ATLAB可以运行在 Microsoft windows、Lnix、 Macintosh3种操作系统平台,般要求16以上内存,系统所需占用的硬盘空间托系统安装时有提示要求,且需留有足够的空间作为虚拟内存。运行 MATLAB HELP DESK需要安装 Microsoft interneExplorer40以上版本;查看PF格式的说明文挡;需要安装 Adobe Reader;如需运行 MATLAB AOTE BOOK,需安装 Microsoft word7.0以上版本:在装有 FORTEAN利visua1C¨编译器时,硎TLAB还可以与 FCRTRAN和 Visual c¨混合编程。.1.2 MATLAB系统运行的硬廾环境表1-1 MAELAB系统运行的硬件环境设备MATLAB 3. XMATLAB 4.xmAtLAB 5.5最小配量386最小配置PEm1um75建议配置Pu建议配置586建议配置 Pentium133| Fent ium133上最小配置1娴最小配置4MB最小配置8MBRAFF建议配童4恥建戏配置8B建议配64B最小配置1.2MB|最小配32B最小配置6AB硬盘空间建议配置32MB建议配置68建议配4G最小露置vcs最小配置6s最小配置图形卡建议配置GS建议院置SGS建议配貿操作系统Ds2.0Windows 3.xindos 981.2 MATLAB的启动完成 MATLAE5X的软件安装后,MTLA图标会自动出现在 Windows桌画中,如图1-1所示:操作时,光标选中MTAB图标,双击左键,确认希望运行MTAB程序,屏幕弹出图1-2 MATLAR工作窗口。笫1章 MATLAB系统的基础准备连接到Internet网上邻居MATLAB 5.3AerobatReader 4.0Ef图1-1 Windows桌面出现 MATLAB图标MAILAS CoN程1lreget started, type one of these: helpwin, helpdesk, or demoproductinformaTionvisitwww.nathworks.comI MATLAB Command Window图1-2 MATLAB工作窗口及顶部菜单命令MATLAB工作窗口是标准的 Windows工作界面,操作者可以利用窗口顶部的下拉菜单选项实现工作窗口内容的各种操作,同时工作窗口还是显示执行效果信息的区域。窗口顶部菜单项包括:File、Edit、View、 Window和Help,可以执行文件的打开、保存、编辑、显示等操作;图1-3是 MATLAB工作窗口中File项下拉菜单内容,其中标有三角形标记的选项可以拉出下一级子指令,图1-4是选择New拉出的三项子指令MATLAB与自适应神经网络模糊推理系统HATLAB Comm and Windonrat se戏M时图1-3 MATLAB工作窗口中File项下拉菜单内容1.2.1File一基本文件操作New建立新的M文件、图形文件或 Simul inkmk模块Open打开文件Open selected打开指令窗口指定的M文件Run Script运行工作窗口内的文件内容Load Workspace与MAT文件连接Save Workspace As将工作窗口内容存入指定MAT文件Show Workspace显示MT文件内容Show Graphics Property Editor图形文件属性编辑Show GUI Layout Tool图形用户界面工具Set path设置 MATLAB工作路径Preferences参数选择第1章 MATLAB系統的基础准备Print Setup打印设置Print打印工作窗口内容Print selection打印选择的内容Exit MATLAB退出 MATLAB,释放占用的内存空间1.2.2Edit一编辑操作noo操作回退剪切C复制Clear清除内存中的变量和函数Sclect all全选Clear session清除窗口显示内容,但不清除内存中的变量和函数1.2.3View一视窗管理loBar选择是否在工作窗口显示工具拦1.2.4 Window一窗口管理0 MATLAB Command Window没有图形文件情况下,下拉菜单中只存在一个 MATLAB工作窗口选项,建立图形文件后,菜单中出现相应图形文件选项1.2.5Help一帮助选项Help window帮助窗口,显示帮助信息Help tips帮助提示,按窗口提示选择帮助信息Help desk(HTML)在窗口内输入问题关键字,读取田ML文件,寻求帮助信息Examples and Demos范例演示About matlaB关于 MATLABMATLAB Command Window图1-4选择New拉出的三项子命令MATLAB与自适应神经网络模糊推理系统51.3 Command Window显示方式设置和操作MATLAB工作窗口是系统运行内容显示的主要窗口,熟悉工作窗口的各种操作方式和显示效果将更有利于 MATLAB系统的应用,本节将进一步对工作窗口的显示方式设置、常用操作指令、简化编辑方式等内容进行介绍。1.3.1工作窗口显示方式设置使用 MATLAB工作窗口时可根据用户的需要对工作窗口的字体风格、尺寸、颜色及数值计算结果显示格式进行定义设置。图1-5为点击工作窗口顶部文件菜单下拉选项preferances后屏幕弹出的工作窗口的字体风格、尺寸、颜色设置窗口,操作者可在窗口中根据需要完成各项日设置,完成设置后点击确定确认选择。该设置将长期保存即设置不会因工作窗口关闭而改变,如需变更设置内容,用户需对更改项进行重新设置Tetet区TG·ndIr GDIhiteRaBuYyZz图1-5工作窗口选项 preferances后屏幕弹出的工作窗口的字体风格、尺寸、颜色设置窗口工作窗口数值显示格式的设置通过表1-2数据显示格式控制指令完成,数值显示格式的设置与工作窗口字体等设置不同,这种设置仅适时有效,即一旦工作窗口关闭数值显示格式设置失效,系统恢复原默认设置。表1-2数据显示格式控制指令控制指令格式控制指令格式含义1format short小数点后4位有效,大于1000的实数
- 2020-12-08下载
- 积分:1