UDP协议在物联网中的实战

一、UDP协议介绍

UDP(User Datagram Protocol, 用户数据报协议),无连接的传输层协议,提供面向事务的简单不可靠信息传输服务。强调传输性能而不是传输完整性,多用于视频和多媒体应用。

2.1 报文格式

在这里插入图片描述

2.2 协议特点

  • 无连接
  • 不可靠传输:消息尽力传播,但不关注是否传输过去
  • 面向数据报:以数据报为传输的基本单位,不拆分、不合并、原样发送
  • 全双工:一条路径双向通信,既能读,也能写
  • 大小受限:UDP协议首部有2个字节,16位的长度内容,限制了UDP传输数据最大长度为64K(含UDP首部)
  • 缓冲区:UDP只有接收缓冲区,没有发送缓冲区

二、物联网中实战

不同物联网平台对协议中所承载的业务内容均有自己的规范,但原理基本一致,本文基于中国电信AIoT物联网平台进行实战。

2.1 在物联网平台创建产品设备

具体操作流程可见平台操作手册

重点关注:

  • 创建产品时,通信协议选择UDP
  • 创建产品时,“是否透传”,选择透传或者物模型,将对应不同的上下行报文格式。透传:平台对报文不进行解析,将报文透传给应用或终端;物模型:按照在平台定义的服务与属性,对上下行报文进行解析。(https://img-blog.csdnimg.cn/direct/d73abe3f1bf04acbada68b35c964bd3f.jpeg)
    在这里插入图片描述

2.2 交互流程

设备登录

在这里插入图片描述

  1. 用户在通用组件服务添加设备,填写设备编号。通用组件服务生成device ID和特征串。device ID由产品ID和设备编号拼接生成。设备初始状态为:已注册。

  2. 设备携带deviceId、password(平台生成的特征串)登录到平台

  3. 平台对设备进行认证,并将认证结果返回给设备。认证成功后,设备状态为:已激活、在线。

心跳保活
在这里插入图片描述

  1. 平台默认心跳周期为5分钟,心跳超时之前,设备需要发送心跳报文到平台用于会话的延长。超时而没有发送心跳报文的,平台将删除会话。

数据上报
在这里插入图片描述

  1. 设备以0x04消息类型上报数据,平台解析后会以0x84回复响应结果。

下行指令
在这里插入图片描述

设备登出
在这里插入图片描述
3. 设备登出需要发送登出请求,携带deviceId,平台收到请求后删除会话,并向设备发送登出响应。设备状态更新为:下线。

2.3 报文格式(下文转自官方手册)

消息格式

应用层数据报文以1个字节的类型字段作为分割,平台支持登录、心跳、上下行业务数据、登出等消息类型。消息携带的参数必须包含两个字节的参数长度。

UDP报文Payload包含三部分内容:

消息

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值