内部TCP协议(V1.0)

本文详细介绍了物联网设备使用TCP协议接入平台的过程,包括产品创建、设备注册、数据上报、命令下发、心跳包发送和错误响应码解析。设备需要获取并存储DeviceSecret,实现断线重连,并按照特定协议格式发送数据。
摘要由CSDN通过智能技术生成

0.名词解释

名称 说明
产品 同一类型号设备的描述
通道 设备和服务器通讯的不同消息类型,每一种消息类型就是一个通道,也可理解为每一个功能就是一个通道,如:开灯,设置亮度,是两个通道
数据项 通道内包含的参数字段,如:通道叫做 延时开关,数据项就有两个,即延时时间和设备状态开还是关
上行/下行 下行:服务器下发命令给设备 ,上行:设备上报数据到服务器

1.说明

  • 平台访问地址:http://o.d.*****.com
  • 设备接入域名:d2.*****.com(用域名连接,禁止用ip)
  • 设备接入端口:1139
  • tcp协议会发生粘包现象,所以设备收到服务器数据可以根据:解析长度进行拆包,也可以根据帧尾0x0d 0x0a(回车换行)拆包
  • 设备DeviceSecret:物联网平台系统中设备唯一标识(长度32),设备只需获取一次,永久存储在设备中
  • 设备nodeId:设备自身唯一标识,比如IMEI、MAC地址,Serial No,或全局定义常量等(长度15)
  • 设备需要实现掉线重连功能,服务器更新程序会重启服务断开所有连接,设备 需要会自动重连
  • 一台设备只需创建一个tcp连接,无需重复创建,如果创建多次连接,服务器只用最后一条连接
  • 每3分钟上报一次心跳包,格式看下文内容,设备注册完成后才可以发送心跳包
  • 开发之前建议先用tcp调试工具模拟设备模拟上线,注册,上报数据

2.接入流程

  1. 物联网平台创建产品,生成该产品的 ProductKey和 ProductSecret,将 ProductKey和 ProductSecret永久保存到设备中
  2. 在该产品下添加设备,录入设备的唯一标识nodeId,平台自动生成该设备的DeviceSecret
  3. 设备根据产品的 ProductKey,ProductSecret和设备NodeId 换取设备的DeviceSecret,将DeviceSecret永久保存到设备中
  4. 对于少量设备可以从平台上直接复制设备的DeviceSecret可以省去上面步骤,直接进行第四步上报数据
  5. 设备每次连接服务器成功上线后先进行设备注册(开机,重启,掉线重连等上线后都需要注册)
  6. 注册成功后设备正常上报数据
  7. 设备每次上线只需注册一次,无需每次上报数据前都进行注册
  8. 上报数据协议格式错误,服务器会主动断开连接
  9. 请求错误或者失败,请看最后一条响应码
    在这里插入图片描述

2.1创建产品

在这里插入图片描述

2.2按照设备功能需求设计通道和数据项

在这里插入图片描述
在这里插入图片描述

2.3添加设备

在这里插入图片描述

3.手动获取设备DeviceSecret

  • 可以复制保存到设备中
    在这里插入图片描述

4.自动换取设备DeviceSecret

  • 设备发送数据示例
0a 00 44 00 53 31 62 59 68 5a 76 61 2c 61 65 31 62 64 66 62 61 37 61 35 63 61 33 62 35 37 66 38 39 39 63 35 39 31 61 32 37 36 33 66 39 65 31 62 33 33 39 63 39 2c 38 36 39 36 34 30 30 35 36 33 36 30 34 37 35 0d 0a

| 起始位 | 数据总长度 | 操作类型 | ProductKey| 分割符 | ProductSecret| 分割符 | NodeId | 结束位 |

 起始位:0a
 数据总长度:00 44 = 68
 操作类型:00 = 换取DeviceSecret
 ProductKey: 53316259685a7661 = S1bYhZva 
 逗号分割:2c =,’
 ProductSecret: 61653162646662613761356361336235376638393963353931613237363366396531623333396339 = ae1bdfba7a5ca3b57f899c591a2763f9e1b339c9  
 逗号分割:2c =,’
 nodeId: 383639363430303536333630343735 = 869640056360475
 结束位: 0d 0a
 
参数 说明 长度
起始位 起始位 ,固定:0x0a 1
数据长度 所有数据的长度,不含起始位,不含长度位自身长度 2
操作类型 0x00 是换取DeviceSecret, 0x01 是上传数据,0x02 是设备注册,0x03 是下发命令,0x04远程升级 ,0x05心跳 1
ProductKey 产品appId n
分隔符 逗号分隔符,固定:0x2c ,ASCII编码 1
ProductSecret 产品密钥,云平台中获取 n
分隔符 逗号分隔符,固定:0x2c ,ASCII编码 1
NodeId ASCII编码, 设备地址,设备唯一标识,如果为网关子设备,则为子设备的NodeId 15
结束位 结束位,暂时固定:0x0d 0x0a 2
  • 服务器响应数据示例
0a 00 23 
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

深度物联网

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值