




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、设备通信协议目录1.适用范围32.协议框架33.协议内容33.1设备内部组网协议(或者MCU透传模式协议)33.1.1 通讯命令格式33.1.2 配对机制33.1.3 连接机制43.1.4 心跳机制53.2 设备与云端通讯协议53.2.1 通讯命令格式53.2.2 连接流程53.3 数据包格式定义63.3.1设备间通讯数据格式63.3.2 设备与云、APP通讯数据格式94.公共命令定义105.编码表115.1节点类型编码表115.2命令回应编码表111. 适用范围本协议定义WiFi模块与MCU控制单元,WiFi模块与云APP间,以及主从模块之间的通讯协议框架。2. 协议框架协议基于二进制协议框
2、架,完成命令发送接收、命令上报、内部组网等功能。3. 协议内容3.1设备内部组网协议(或者MCU透传模式协议)备内部组网协议包括设备配对、连接、心跳机制等,目的是将一个子设备加入到设备组中,并保持连接。3.1.1 通讯命令格式采用二进制的通讯协议格式,包格式如下表:同步头HeadOption包长度(变长)加密随机数(Option)源设备类型(Option)源设备编码(Option)CMD KeyCMD IDPayloadCRC(Option)2B1B12 B1B1B3B1B1BNB2B详细的包格式在后续章节介绍3.1.2 配对机制配对机制仅适用于设备内组网模式,MCU透传模式不需要组网协议。进
3、入配对模式由主从设备分别触发,只有在进入配对模式后,才处理相关的配对命令。从设备进入配对模式后定时发送配对请求,直到收到请求回应。主设备收到请求后分配一个设备ID给从设备,标识此ID被占用,并等待采集器的上线通知,一定时间内收到通知之后确认存入设备列表,如果没有上线通知,则认为设备没有配对成功,从子设备中删除。从设备收到配对回应后存储设备ID,并且发送上线通知,收到上线通知后完成配对。配对的过程如下图所示:3.1.3 连接机制设备每次上电连接需要发送上线通知以及连接所需要的参数给主设备,如下图所示:3.1.4 心跳机制使用对等的心跳机制,主设备和从设备都可以发现对方的异常状态。3.2 设备与云
4、端通讯协议设备与云端通讯协议基于MQTT协议,数据包使用MQTT协议传输,数据加密方式采用SSL加密,命令码采用2进制命令格式同设备间通讯协议。3.2.1 MQTT通讯框架本协议是针对与设备的数据通信,目前通信节点包括:设备、云端和APP终端三方。WIFI上的协议采用MQTT协议框架,串口上的通信采用包含包头和校验的二进制协议,通信包采用二进制格式传输,高位在前低位在后。Ø 此协议定义的MQTT Topic类型有以下2种: 单播,unicast/u/TargetType/TargetID 广播,broadcast/b/SourceType/SourceID注释:TargetType:
5、目标设备类型,TargetID:目标设备编码SourceType:源设备类型,SourceID:源设备编码3.2.2 通讯命令格式设备与云端、APP的通讯命令分为4种:请求与回应、通知命令、广播命令,具体的命令以及格式在后面章节介绍。3.2.2 连接流程设备连接云端的步骤如下图:3.3 数据包格式定义数据包的格式根据通讯双方的不同、数据链路的差异会有不同的包格式,本协议为尽量保证数据包格式的统一,做了几点规划:1. 数据包格式中核心的部分包括CMD ID和CMD Payload,这两部分格式所有的包中保持一致,CMD ID 1个字节,CMD Payload紧跟CMD ID长度N字节。2. 设备
6、间通讯,包括内部命令、外部转发命令等的数据包格式虽然可能不一样,但是都可以通过包头中的Option字节进行区分,可以公用相同的解析函数3. 外部串口通讯的命令格式与设备间通讯格式保持一致。3.3.1 设备间通讯数据格式同步头HeadOption包长度(变长)加密随机数(Option)源设备类型(Option)源设备编码(Option)CMD KeyCMD IDPayloadCRC(Option)2B1B12 B1B1B3B1B1BNB2B3.3.1.1 Fix header固定帧头,格式如下表:同步头Head Option包长度(变长)2Byte1Byte12 Byte同步头:0x5CFEHe
7、ad Option:Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0预留预留预留预留CheckSum校验广播类型链路CRC校验加密选项typedef enum OPTIONAL_ENCRYPT_BIT = (1<<0), OPTIONAL_CRC_BIT = (1<<1), OPTIONAL_BROADCAST_DATALINK_BIT = (1<<2), OPTIONAL_CHECKSUM_BIT = (1<<3), OptionalBitsT;包长度:长度包括本字节之后的所有数据的长度长度是12个字节字节数取值长度范围10x0
8、0x7F012720x01800x7FFF12816383长度的编码方式参考MQTT:如长度是321=(65 + 2*128) ,那么会被编码为两个字节,低字节为65+128 = 193. 高字节为2。3.3.1.2 可变包格式可变包格式需要通过Head Option来解析,格式如下表:Option Bit0Option Bit2Option Bit1Option Bit3加密随机数设备类型设备编码消息体.CRC校验CheckSum1Byte1Byte3Byte.2Byte1Byte异或随机数:如Head Option中的加密选项为0,那么加密随机数这个字节不存在,同时数据不会进行加密源设备信
9、息:用于广播类型的数据链路,需要标识数据的来源。CRC校验:采用16bit的CRC算法,CRC算法参照附录。CheckSum:采用8Bit的和校验,用于对数据长度比较敏感,但是又需要进行数据校验的场景设备编码和设备类型:Payload中可能需要用到的内部设备Type和ID的定义:内部设备Type和设备ID在设备配对时由主设备分配给从设备,其中Type由主设备获取到从设备的Device Type之后映射一个数值,并分配给从设备,建立映射关系。ID的3字节构成为:Byte3Byte2Byte 1随机数,避免不同子网的ID冲突ID序号,由主设备维护3.3.1.3命令消息体结构如下表CMD keyCM
10、D IDPayload1Byte1ByteN ByteCMD Key:命令标识,主要作用是标识命令的类型以及编号,由主设备生成,发送给从设备,从设备将key返回给主设备,另外在还标识命令的类型CMD Key描述备注1设备内部消息(组网、透传模式的内部消息)这些命令没有重发机制,不能保障一定到达2Notify类消息3Broadcast类消息431预留reserved32255动态分配的key,用于数据的转发、透传此范围的命令如果没有回复会重发,重发一定次数后丢弃,所以此消息可能会多次到达CMD ID:命令码,1个字节命令码描述1配对请求2配对请求回应3设备启动通知4设备启动回应5WiFi就绪通知
11、6WiFi断开通知7云就绪通知8云断开通知9WiFi上电通知10WiFi模块配置完成通知11退出WiFi模块配置12退出WiFi模块配置回应13重新配置WiFi模块14重新配置WiFi模块回应15设置WiFi模块串口波特率16设置WiFi模块串口波特率回应17查询WiFi模块串口波特率18查询WiFi模块串口波特率回应WiFi模块消息起始32设备上线通知33WiFi配置完成通知34获取设备WiFi模块监控信息35获取设备WiFi模块监控信息回应36设置路由器信息37设置路由器信息的回应38删除子设备39删除子设备回应40获取在线设备列表41获取在线设备列表回应42设置设备拥有者43设置设备拥有
12、者回应44设置配对模式45设置配对模式回应46在线设备列表变更通知4763WiFi模块预留所有设备公共命令起始64主MCU OTA传输文件65主MCU OTA传输文件回应66设置出厂参数67设置出厂参数回应68Debug Log输出控制69Debug Log输出控制回应70Debug Log信息输出71从MCU OTA传输文件72从MCU OTA传输文件回应73云端推送通知信息76OTA完成通知上报7795设备公共命令预留设备业务命令起始96127设备自定义设备内部消息128255设备自定义设备与云端/APP通讯消息Payload:命令数据, N字节5.4 实例一个所有Option都打开的包结
13、构如下:同步头HeadOption包长度(变长)加密随机数(Option)源设备类型(Option)源设备编码(Option)CMD KeyCMD IDPayloadCRC(Option)2B1B12 B1B1B3B1B1BNB2B3.3.1.4 数据组包实例以下是使用CRC校验,并且加密的数据包的组包过程:假设命令包是1 2 3 4,4个字节,现在要组包1:CRC第一步计算这4个字节的crc值,假设算出来是5、6第一步CRC之后的数据包就变成了1、2、3、4、5、6, 6个字节2:加密 加密第一步:加入一个随机数,假设这个随机数是0 ,现在包就是7个字节了,0、1、2、3、4、5、6 加密第
14、二步:异或 ,将除加密随机数外的其他数据都和加密随机数进行异或,得到得数据应该是0、1、2、3、4、5、6 机密第三步:查表加密,假设表中0对应的是6、1对应的是5依次类推,那么查表之后的数据变为了6、5、4、3、2、1、0加密结束, payload最终就是6、5、4、3、2、1、0了 3:加入包头Payload是7个字节,optional是CRC和加密,那么包头为FE 5C 03 07最终包数据为:FE 5C 03 07 06 05 04 03 02 01 00解包的过程与组包相反3.3.2 设备与云、APP通讯数据格式命令数据格式:源设备类型源设备IDCMD ID 5Byte12Byte1
15、ByteN Byte3.3.2 Pad串口通讯数据格式下行数据格式,PAD->设备同步头HeadOption包长度(变长)加密随机数(Option)源设备类型(Option)源设备编码(Option)源设备GUID目标设备GUIDCMD IDPayloadCRC(Option)2B1B12 B1B1B3B34字节1BNB2B上行数据格式,设备->PAD同步头HeadOption包长度(变长)加密随机数(Option)源设备类型(Option)源设备编码(Option)源设备GUIDCMD IDPayloadCRC(Option)2B1B12 B1B1B3B34字节1BNB2B4.
16、公共命令定义下表是公共命令码以及命令数据的定义,此表仅涉及到上文提到的CMD ID和命令信息码(或回复码),命令中的其他部分数据请参考上文中的数据包定义。命令码命令描述通信方命令组成备注设备内部命令起始1请求配对从设备->主设备· CMD Key1Byte,0x01· CMD ID1Byte· 业务设备类型5Byte· 当前的内部设备类型1Byte· 当前的内部设备编码3Byte,全0表示未配置过,非全0表示之前配置过· 设备业务编码长度1Byte· 设备业务编码N Byte·5个字节的业务设备类型,需要向乐
17、君申请,并且保存在从设备中设备业务编码是用从设备自行定义的设备ID字符串,不超过32字节2请求配对回应主设备->从设备· CMD Key,0x01· CMD ID1Byte· RC1Byte,参考RC表· 分配的设备类型1Byte· 分配的设备ID3Byte3设备启动通知MCU/从设备->主设备· CMD Key1Byte, 0x01· CMD ID1Byte· 版本号1Byte· 子设备类型1Byte,参考5.3章节:子设备类型表· 业务设备类型5Byte· 内部设备类型
18、1Byte· 内部设备编码3Byte· 设备业务编码长度1Byte· 设备业务编码N Byte·4设备启动通知的回应主设备->MCU/从设备· CMD Key1Byte, 0x01· CMD ID1Byte· RC1Byte, 参考RC表5WiFi就绪通知主设备->MCU/从设备· CMD Key1Byte, 0x01· CMD ID1Byte·6WiFi断开通知主设备->MCU/从设备· CMD Key1Byte, 0x01· CMD ID1Byte
19、83;7云就绪通知主设备->MCU/从设备· CMD Key1Byte, 0x01· CMD ID1Byte·8云断开通知主设备->MCU/从设备· CMD Key1Byte, 0x01· CMD ID1Byte·9WiFi模块上电通知WiFi模块->MCU· CMD Key1Byte, 0x01· CMD ID1Byte·WiFi模块上电后定时发送上电通知给MCU,直至MCU上报上线通知给WiFi模块(适用于用于透传模式)10WiFi模块配置完成通知WiFi模块->MCU
20、3; CMD Key1Byte, 0x01· CMD ID1Byte· RC1Byte,0成功,3超时,4退出11退出WiFi模块配置MCU->WiFi模块· CMD Key1Byte, 0x01· CMD ID1Byte·12退出WiFi模块配置回应WiFi模块->MCU· CMD Key1Byte, 0x01· CMD ID1Byte· RC1Byte,0成功,1失败13重新配置WiFi模块MCU->WiFi模块· CMD Key1Byte, 0x01· CMD ID1By
21、te·14重新配置WiFi模块回应WiFi模块->MCU· CMD Key1Byte, 0x01· CMD ID1Byte· RC1Byte,0成功,1失败15设置WiFi模块串口波特率MCU->WiFi模块· CMD Key1Byte, 0x01· CMD ID1Byte· Baudrate4ByteBaudrate取值:9600192003840057600115200其他值返回fail默认值是960016设置WiFi模块串口波特率回应WiFi模块->MCU· CMD Key1Byte, 0x
22、01· CMD ID1Byte· RC1Byte,0成功,1失败返回值以新设置的波特率发送17查询WiFi模块串口波特率MCU->WiFi模块· CMD Key1Byte, 0x01· CMD ID1Byte·18查询WiFi模块串口波特率回应WiFi模块->MCU· CMD Key1Byte, 0x01· CMD ID1Byte· RC1Byte,0成功,1失败· Baudrate4Byte·WiFi模块命令起始32设备信息上报WiFi模块-> Cloud/APP·
23、 CMD ID1Byte· Num1Byte,设备个数· 设备拥有者的小智IDstring, 10字节· WiFi模块Mac地址ASCII,12字节· GUIDASCII,17字节、设备业务编码长度1Byte、设备业务编码N Byte、固件版本1BYTE、设备硬件架构类型1BYTE、设置是否在线1Byte,若干MQTT主题:/b/SourceType/SourceID第一个设备是主设备设备硬件架构类型参考“设备硬件架构类型编码表”设备是否在线,0不在线,1在线33WiFi配置完成通知WiFi模块->APP· CMD ID1Byte
24、3; 设备GUIDASCII,17字节· 用户的小智IDstring, 10字节· 设备业务编码长度1Byte· 设备业务编码N ByteMQTT主题:/u/TargetType/TargetID34获取WiFi模块监控数据Cloud/APP->WiFi模块· CMD ID1Byte·35获取WiFi模块监控数据回应WiFi模块->Cloud/APP· CMD ID1Byte· WiFi模块连接信号强度1Byte,有符号的1个字节,一般范围在-100Dbm0Dbm· WiFi模块型号16byte, 小于
25、16字节的字符串36设置WiFi配置信息APP/Cloud/串口控制端->设备· CMD ID1Byte· 是否设置拥有者ID1Byte,0不设置,1设置· 设备拥有者的小智IDstring, 10字节· 是否设置路由器信息1Byte,0不设置,1设置· SSID Len,用户名长度1 BYTE,用户名长度小于等于32字节· PWD Len,密码长度1 BYTE,密码小于等于64字节· SSID· PWD37设置WiFi配置信息回应设备->APP/Cloud/串口控制端· CMD ID1Byt
26、e· RC(参考命令回应编码表:0成功,1失败·38删除子设备APP/Cloud/串口控制端->设备· CMD ID1Byte· GUIDASCII,17字节·39删除子设备回应设备-> APP/Cloud/串口控制端· CMD ID1Byte· RC(参考命令回应编码表:0成功,1失败·40获取设备列表APP/Cloud/串口控制端->主设备 · CMD ID1Byte·41获取设备列表回应主设备->APP/Cloud/串口控制端· CMD ID1Byte
27、183; Num1Byte,设备个数· 设备拥有者的小智IDstring, 10字节· WiFi模块Mac地址ASCII,12字节· GUIDASCII,17字节、设备业务编码长度1Byte、设备业务编码N Byte、固件版本1BYTE、设备硬件架构类型1BYTE、设置是否在线1Byte,若干·设备是否在线,0不在线,1在线44设置设备进入配对模式App/Cloud/串口控制端->设备· CMD ID1Byte·45设置设备进入配对模式回应设备-> App/Cloud/串口控制端· CMD ID1Byte
28、3; RC(参考命令回应编码表:0成功,1失败) BYTE·47设置设备退出配对模式App/Cloud/串口控制端->设备· CMD ID1Byte·48设置设备退出配对模式回应设备-> App/Cloud/串口控制端· CMD ID1Byte· RC(参考命令回应编码表:0成功,1失败) BYTE49请求同步时间设备->Cloud· CMD ID1Byte·50请求同步时间回应Cloud->设备· CMD ID1Byte· RC(参考命令回应编码表:0成功,1失败) BYTE
29、183; RTC时间67Byte,格式是秒-分-时-日-月-年-星期几,各一个字节·星期几的范围从17,1表示星期一51扫描AP列表控制端->设备· CMD ID1Byte·52扫描AP列表回应设备到控制端· CMD ID1Byte· RC(参考命令回应编码表:0成功,1失败) BYTE· AP Number1Byte,扫描到的AP数量· AP信息 32Byte,SSID1Byte,RSSI信号强度若干SSID为字符串,最大32字节,返回数据中固定32字节位置存放SSID。信号强度取值范围0100所有设备公共命令起始6
30、4主MCU OTA传输文件Cloud->设备· CMD ID1Byte· 总包数2Byte· 当前包号2Byte· 包内容N BYTE,最大长度102465主MCU OTA传输文件回应设备->Cloud· CMD ID1Byte· RC(参考命令回应编码表:0成功,1失败,32包号错误,33数据校验错误) 1 BYTE· 当前包号2Byte66设置出厂信息App/Cloud->设备· CMD ID1Byte· 设备ID12 Byte· 设备业务ID长度1 Byte·
31、设备业务IDN Byte设备业务ID长度为0表示不需要设备业务ID暂时只需要工厂测试程序支持67设置出厂信息回应设备->App/Cloud· CMD ID1Byte· RC(参考命令回应编码表:0成功,1失败·68Debug Log输出控制App/Cloud->设备· CMD ID1Byte· Debug Log开关1Byte,0关,1开· 是否掉电保存1Byte,0掉电不保存,1掉电保存暂时云端实现69Debug Log输出控制回应设备-> App/Cloud· CMD ID1Byte· RC(
32、参考命令回应编码表:0成功,1失败·70Debug Log信息输出设备-> App/Cloud· CMD ID1Byte· 固件版本version1Byte· 日志类型LogType1Byte· Log内容NByte,字符串·71从MCU OTA传输文件Cloud->设备· CMD ID1Byte· 总包数2Byte· 当前包号2Byte· 包内容N BYTE,最大长度1024用于升级主从MCU架构下的从MUC固件72从MCU OTA传输文件回应设备->Cloud·
33、CMD ID1Byte· RC(参考命令回应编码表:0成功,1失败,32包号错误,33数据校验错误) 1 BYTE· 当前包号2Byte73云端推送通知信息Cloud>APP/设备· CMD ID1Byte· 推送信息内容nByte··76OTA升级完成上报设备-> Cloud/APP· CMD ID1Byte· RC1Byte, 0成功,1失败云端以这个命令作为OTA真正完成的判断标准5. 编码表5.1节点类型编码表节点类型编码类型名称5.2命令回应编码表031,公共错误码命令回应编码命令回应含义0成
34、功1失败内部通讯公共RC值起始2配对失败,设备满3WiFi配置(Easy link)超时4WiFi配置(Easylink)退出531内部通讯公共RC值预留外部通讯公共RC值起始32OTA包号错误33OTA数据校验错误34当前状态不允许OTA3563外部通讯公共RC值预留业务RC值起始64255业务错误码5.3 子设备类型表子设备类型描述1透传模式下的MCU设备2组网模式下的从设备5.4 设备硬件架构类型编码表设备硬件结构类型描述0单MCU架构1双MCU架构(WiFi模块+控制MCU模块)6. 附录6.1 CRC校验算法static const uint8 c_crc_htalbe = / CR
35、C 高8位查表0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,0x00, 0xC
36、1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,0x00, 0xC1, 0x81, 0x40, 0
37、x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80,
38、 0x41, 0x01, 0xC0, 0x80, 0x41,0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC
39、0, 0x80, 0x41,0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,0x
40、00, 0xC1, 0x81, 0x40;static const uint8 c_crc_ltalbe = / CRC校验查表低8位0x00, 0xC0, 0xC1, 0x01, 0xC3, 0x03, 0x02, 0xC2, 0xC6, 0x06, 0x07, 0xC7,0x05, 0xC5, 0xC4, 0x04, 0xCC, 0x0C, 0x0D, 0xCD, 0x0F, 0xCF, 0xCE, 0x0E,0x0A, 0xCA, 0xCB, 0x0B, 0xC9, 0x09, 0x08, 0xC8, 0xD8, 0x18, 0x19, 0xD9,0x1B, 0xDB, 0xDA, 0x1A, 0x1E, 0xDE, 0xDF, 0x1F, 0xDD, 0x1D, 0x1C, 0xDC,0x14, 0xD4, 0xD5, 0x15, 0xD7, 0x17, 0x16, 0xD6, 0xD2, 0x12, 0x13, 0xD3,0x11, 0xD1, 0xD0, 0x10, 0xF0, 0x30, 0x31, 0xF1, 0x33, 0xF3, 0xF2, 0x32,0x36, 0xF6, 0xF7, 0x37, 0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 加盟健康中心合作合同范本
- 初创公司分红合同范本
- 保证合同范本单方
- 医用合同范本
- 单位和个人合伙合同范本
- 劳务门店合同范本
- 书画居间合同范本
- 供用热力合同范本
- 关联交易合同范本
- 会展活动合同范本
- 家校共育之道
- 公司EHS知识竞赛题库附答案
- 【公开课】同一直线上二力的合成+课件+2024-2025学年+人教版(2024)初中物理八年级下册+
- 人教鄂教版六年级下册科学全册知识点
- 郑州市地图含区县可编辑可填充动画演示矢量分层地图课件模板
- 2024年湖南生物机电职业技术学院单招职业技能测试题库及答案解析
- (正式版)HGT 22820-2024 化工安全仪表系统工程设计规范
- 《中华民族共同体概论》考试复习题库(含答案)
- 施工作业申请表
- 2023年青岛远洋船员职业学院高职单招(数学)试题库含答案解析
- 华为采购模式介绍
评论
0/150
提交评论