# IotSocketServer **Repository Path**: biturd/IotSocketServer ## Basic Information - **Project Name**: IotSocketServer - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-06-17 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 主动上报协议 ### 1.1 主动上报方式 设备可以采用 TCP 或者 UDP 方式主动上报,上报均采用 Client 方 式 , 其 中 TCP 采 用 长 连 接 形 式 , 设 备 具 有KeepAlive 机制,会主动保持和服务区的连接并且进行无限次的断线重连。 ### 1.2 协议基本组成 > 协议的基本组成如下: > > 帧头(2)+版本 (1)+设备 ID(6)+传输 Session(4)+命令字节 >(1)+长度(2)+内容(n)+校验和(1) 其中帧头 2 字节,固定为 0xfe 0xdc。 设备版本号 1 字节,在本协议中为 0x01。 设备 ID 为 6 字节,出厂内部固定,每一个本设备均有一个唯一的设备 ID,客户可以使用该 ID 区分不同的设备。 传输 Session 为 4 字节, 由设备指定, 每次发送自增1,用来标识设备的传输顺序。 命令字节,长度,内容见下文。 校验和 1 字节, 本协议中校验和不使用,此处固定为0。 ### 1.3 主动上报协议 ![image-20200617160443710](https://bittergourd-blog.oss-cn-beijing.aliyuncs.com/img/image-20200617160443710.png) ### 1.4 主动上报协议实例 > 如下文是一个设备主动上传的数据: > > fe dc 01 25 ab 4e a3 25 32 00 00 00 05 03 00 30 00 00 00ff 00 00 01 07 00 00 03 54 ff ff ff 9b 00 00 02 92 00 00 00 0100 00 00 15 00 01 8b cb 00 00 01 00 00 00 00 00 00 00 00 0000 00 00 00 00 ![image-20200617160737876](https://bittergourd-blog.oss-cn-beijing.aliyuncs.com/img/image-20200617160737876.png) 其中 fe dc 为固定帧头,01 位版本号, 设备唯一 id 为25ab4ea32532,本条指令的 session 为 00000005,本条数据长度为 0030 也就是 48 个字节。 > 上传的第一个数字 000000ff 代表 PM2.5 是 255ug/m3 > > 第二个数字 00000107 代表 PM10 是 273ug/m3 > > 第三个数字 00000354 代表噪声是 85.2dB > > 第四个数为温度 ffffff9b 代表-10.1℃(使用补码的形式标示负数)。 > > 第五个数为湿度 00000292 代表 65.8%RH > > 第六个数据位风向 00000001 代表风向东北 > > 第七个数据位风速 00000015 代表风速是 2.1m/s > > 第 八 个 数 据 位 气 压 00018bcb 代 表 气 压 是1013.23mbar,也就是 101.323Kpa。 > > 第九个数据位扬尘(TSP)00000100 代表 256ug/m3 > > 第八第九数据是附加数据, 如果需要开启请联系客服,默认关闭。 > > 剩下 3 组数据均为 00000000 不用,最后一个 00 位校验和。 ### 1.5 风向传感器数值代表含义 正北: 0x000F 东北偏北: 0x0000 东北: 0x0001 东北偏东: 0x0002 正东: 0x0003 东南偏东: 0x0004 东南: 0x0005 东南偏南: 0x0006 正南: 0x0007 西南偏南: 0x0008 西南: 0x0009 西南偏西: 0x000A 正西: 0x000B 西北偏西: 0x000C 西北: 0x000D 西北偏北: 0x000E