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
心率检测系统的设计论文
心率检测系统的设计论文,ti杯电子设计大赛优秀论文右手接至低通前置放大电路滤波器输左手入端共模电压右腿驱动屏蔽动右腿退导联屏蔽线图2前置放人电路框图1)前賢放大调理针对心电信号高增益,高输入阻抗,高垬模抑訇比,低噪声,低漂移和合适带宽的采集要求,采用仪表放大器,以获得良好的综合性能。所以采用仪用放大器AD620只要用只外接电阻便可设置放大器的增益,增益G为494人R2)右腿驱动电路将右腿连接到一个辅助的运算放大器的输出端,把混杂于原始心电信号中的共模噪声提取出来,经过一级倒相放大后,再返回到人体,使它们相互叠加,从而减小人体共模干扰的绝对值,提高信噪比。本电路采用高精度运算放大器O217。通过这个负反馈结构,可大大抑制测量过程屮前置敚大器输入端共模电压的影响。此外,右腿驱动电路还可以提供电气上的安全性。3)屏蔽驱动电路屏蔽驱动器是一个同相电压跟随器,将放大器的输出端和屏蔽相连,将屏蔽线和地隔开,并且对于50Ⅳz的共模干扰信号来说,从人体输入的两路信号是相等的导联线和屏蔽线之间的电压差为0,从而消除了其间的电容,提高了输入电路的阻抗,降低人与地之间的漏电流。如图3所小220kTT1点2R图3带屏蔽驱动、右腿驱动的前置放大调理电路经过前置放大器后心电信号被放大的倍数为49.4KG=1+51IK∥(24.9K+24.9K)(2)高通滤波电路的设计电极与皮肤表面之间容易产生直流偏压,为了消除这部分的干扰,需要采取高通滤波电路图4所示予以滤除,其截止频率为≈0.5Hz2丌√RR,CC22x√22X×47K×101×10U4BQPZITT图4二阶高通滤波电路(3)低通滤波电路的设计噪声来源一类是各种电子设备辐射出的高频噪声,一类是市电的50z噪声。通常情况下后者影响尤为明显。对这些噪声的滤波需要用到滤波器。低通滤波器(电路图如图5)通常情况下截止频率选择在100Hz以下。低通截止频率为2兀√RR1CC42√24K×24K×0.047×Dm≈100H2T745TQP2171图5二阶低通滤波电路(4)50Hz陷波电路的设计为了去除人体或测试系统中产生的工频50Hz干扰34,需用带阻滤波器加以抑制。我们采用心电测量没备当前普煸采用的双T陷波电路滤除工频干扰,其参数计R算公式为:2可C其中f为滤去频率,如图6所小。USD图650Hz陷波电路(5)后置放大电路及抬升电路的设计因为wsP430F169模数转换器的范围为0~2.5V,所以要对采集的心电信号进行拾升如此在实现后置放大的过程中,既要考虑信号中平的提升,又要实现信号的放大。放大器芯片用INA217。具体电路如图7所示图7后置放大发抬升电路放大倍数为:G=110K10KRIK抬升电路有对放大信号拾升了1.25V(6)电源电路的设计电源电路的设计是由电平转换器760,线性调节器MX8511,电压基准REF3025及电池盒组成,如图8所示电源电路图8电源电路31.3元件的布局和PCB板的设计在PCB板中,包含多种类型的电路,为了避免各部分电路中信号相互耦合而生千扰,对不同类型的电路部分进行分离布局是PCB板设计的一个基本原则。各部分之间不仅应保持相当距离,还要分开走线。电源系统的布线包括电源线VDD和地线vSs的布线,是系统抗干扰的个重要部分。VDD和wSS应尽可能扩大面积,以防止因电磁能量较强而产生电磁干扰能量的发射,这也是保证高频信号到地之间具有低阻抗的措施3.2软件设计软件设计的关键是对MSP430F169的控制以及LCD显示。所有软件均采用C语言绽写。软件实现的功能是QRS波检测并算出心率,LCD显小波形以及SD卡存储3.2.1软件流程系统软件部分流程图9如下所示,开关按键按下后,屏幕显示L0GO图(江苏省TⅠ杯电子设计大赛),通过对各模块的初始化后,由中断定时服务实现对心电信号QRS波检测,心率计算,波形回放。系统初始化A/D采集LCG0显示N按键显示模块初始化
- 2020-12-01下载
- 积分:1