2

我正在使用几个 LoRaWAN 平台,我很困惑,因为不同的平台处理 AppEUI 的方式不同。

当我创建应用程序时,Things Network 会自动生成应用程序 eui。但是,橙子没有。Orange 只给我应用程序 eui 的文本输入字段并说:“您可以创建自己的应用程序 eui。”。

我的问题是:

  1. 加入请求中如何使用 app eui?app eui 是用来识别应用服务器的吗?

  2. 应用程序 EUI 在 1.0.3 版和 1.1 版中的使用是否不同?

  3. 那么,如何定义 App EUI?我可以随意定义 app eui 吗?

4

1 回答 1

1

这是 lorawan 1.0.3规范的一些文本:

923 6.1.2 Application identifier (AppEUI)
924 The AppEUI is a global application ID in IEEE EUI64 address space that uniquely identifies
925 the entity able to process the JoinReq frame.
926 The AppEUI is stored in the end-device before the activation procedure is executed.

以及相关的 1.1规范

1317 6.1.1.1 JoinEUI
1318 The JoinEUI is a global application ID in IEEE EUI64 address space that uniquely identifies 
1319 the Join Server that is able to assist in the processing of the Join procedure and the session 
1320 keys derivation. 
1321 For OTAA devices, the JoinEUI MUST be stored in the end-device before the Join
1322 procedure is executed. The JoinEUI is not required for ABP only end-devices

请注意,在 1.0.3 和 1.1 之间,AppEui 的名称已更改为 JoinEui。

v1.0.3 的密钥派生方案 LoRaWAN1.0密钥派生方案 这里是 v1.1 的密钥派生方案: 图 49:LoRaWAN1.1 密钥派生方案

所以回答你的问题:

  1. AppEui (JoinEui) 用于派生会话密钥并将您的节点标识到网络服务器。它与 DevEui 一起标识您的节点。应用服务器使用 MQTT 订阅网络服务器生成的数据流。在 TTN,这是通过以下模式完成的:<AppID>/devices/<DevID>/<up/down>. 下行链路数据包在网关基础上进行处理。网络服务器知道哪些网关已经接收到上行链路,并选择一个网关来传输下行链路。 如果我们看一下thingsnetwork,您就会看到它们如何确定哪些密钥是哪个应用程序的一部分。您将每个节点的 appeui 和 deveui 链接到应用程序,系统将推断哪些数据包属于哪个应用程序。
  2. 如上图所示,加密方案在 1.0.3 和 1.1 之间发生了变化。但这对于只使用库或 API 的最终用户来说并不重要。
  3. AppEui 被分配在一个固定的空间中,就像 MAC 地址和 USB PID 和 VID 号码一样。The Things Network 具有70B3D57ED分配给它的地址空间。但是,如果您已经获得了自己的 AppEui,您可以设置自己的 AppEui。有一个按钮可以自定义 AppEui 字段,然后您可以设置它。
于 2019-11-12T08:07:31.433 回答