目录
一. OTAA含义
OTAA即Over-The-Air Activation(空中激活),是LoRaWAN网络中的一种设备入网方法
二.OTAA需要的入网参数
在使用这种方式入网前,平台需要提前填入终端的一些参数,这些参数是:DEVEUI,APPKEY
(1)DEVEUI, 设备端唯一标识符(Device EUI)。
它是一个 64 位的全局唯一标识符,用于区分不同的 LoRaWAN 设备。
DEVEUI 通常由终端制造商提前分配,并在终端注册到网络时使用。
DEVEUI 的作用是确保每个终端在网络中的唯一性和识别性,以便NS能够正确地与终端进行通信。
比如 DEVEUI:00010110ee000023
注意和JoinEUI 进行区分,JoinEUI是网络唯一标识符,由服务器提供
(2)APPKEY,应用程序密钥(Application Key)。
它是一个 128 位的密钥,用于在终端和NS之间进行安全通信和数据加密。
APPKEY 是由应用程序开发者生成,并在设备注册到网络时使用。
它在 LoRaWAN 中起到保护设备和应用程序数据的作用,确保数据传输的机密性和完整性。
只有持有正确的 APPKEY ,NS才能成功解密和处理 LoRaWAN 数据。
比如 APPKEY: 43096c6fbc63116cd36d767d5f3b0821
(3)AppEUI是一个类似IEEE EUI64的全球唯一ID,标识终端的应用提供者(可选)
三. OTAA入网流程
终端发送JoinReq
其格式如下
1)JoinEUI是网络标识符,服务器并不直接比较设备发送的 Join Request 中的 JoinEUI 和服务器配置的 JoinEUI 。
实际上,服务器通过验证设备的 DevEUI 和 AppKey 来识别设备并进行身份验证。
2)DEVEUI, 设备端唯一标识符(Device EUI)
3)DevNonce是一个计数器,从0开始,每次发送JoinReq,DevNonce值会加1。
对于给定的JoinEUI,DevNonce不能重复。
重置DevNonce而不更改JoinEUI,将导致服务器丢弃终端的JoinReq
对于每个终端设备,服务器会记录终端的上一次DevNonce值,如果DevNonce没有增加,则会忽略该JoinReq
4)JoinReq不加密
服务器发送JoinAccept
其格式如下:
1)JoinNonce是服务器提供的,不可重复。终端使用JoinNonce导出NwkSKey和AppSKey两个会话密钥,规则如下
NwkSKey = aes128_encrypt(AppKey, 0x01 | JoinNonce | NetID | DevNonce | pad16)
AppSKey = aes128_encrypt(AppKey, 0x02 | JoinNonce | NetID | DevNonce | pad16)
(pad16意为对数据进行填0扩充或者截断,以保证数据长度为16字节)
2)NetID:网络ID
3)DevAddr:分配给设备的地址
4)DLSettings:下行配置
RX1DROffset用于设置RX1中,上行数据速率和下行数据速率之间的偏移。默认偏移量为0。
RX2DataRate用于设置RX2中,下行数据的数据速率
5)RXDelay:从发送到接收之间的延时
6)CFList:可选的网络参数配置
7)JoinAccept自身使用AppKey进行加密
终端确认
1)LoraWan设备在收到JoinAccept后,应该立即发送一个确认帧,或者一个需要ACK的上行数据。
2)终端设备应尝试重传此类数据,直到接收到来自服务器的第一条下行数据包
3)服务器在收到终端的第一个上行数据之前不能发送下行数据包
四. OTAA优缺点
1)优点
安全性高:OTAA 使用了动态密钥协商机制,在入网过程中通过服务器的验证和分配,确保了网络和设备之间的安全通信。
灵活性和可扩展性:OTAA 允许设备在不同的 LoRaWAN 网络中进行入网,并且可以根据需要更改网络配置。这使得设备能够适应不同的部署场景和需求,具有较强的灵活性和可扩展性。
管理方便:OTAA 入网方式使得设备的管理更加方便。网络服务器负责生成和分配设备的唯一标识符和密钥,简化了设备的注册和身份验证流程。
节能:OTAA 入网过程中设备只需要发送一次 Join Request 消息,而不需要频繁地与网络进行交互。这有助于节省设备的能源消耗,并延长设备的电池寿命。
2)缺点
入网时间相对较长:相比于 ABP(Activation By Personalization)方式,OTAA 的入网时间会相对较长。因为 OTAA 需要与网络服务器进行多次消息交互,包括发送 Join Request、接收和处理 Join Accept,这可能会导致一定的延迟。
网络依赖性:OTAA 入网方式要求设备能够与网络服务器进行通信,因此设备必须处于网络覆盖范围内才能完成入网过程。在某些边缘环境或网络受限的场景下,可能存在网络可靠性和连接性的挑战。
需要额外的计算和存储资源:与 ABP 相比,OTAA 入网方式需要设备具备一定的计算和存储资源来支持加密协议和密钥管理操作。这可能增加设备的复杂性和成本。