我正在尝试使用可通过 Arduino 和 Dragino Lora Shield 编程的传感器构建 LoRaWan 网络,我找到了许多使用网关的解决方案,包括一个 RPI 和另一个 Dragino Lora Shield 或 iC880A,我收到的数据将是发送在云端做服务器。我对网关编程很困惑,我需要告诉它连接到节点和服务器吗?还是它会自动接收日期?我是否对服务器进行编程以连接到网关或直接连接到节点?
2 回答
LoRaWAN 中的网关做一般网关做的事情:调解异构媒体之间的通信。LoRaWAN 网关是必不可少的,只是一个数据包转发器。通常,要与之通信的特定网络服务器在每个 LoRaWAN 网关中进行配置。
作为一个起点,看看这个实现: https ://github.com/Lora-net/packet_forwarder
注意:从网关的 RF 模块接收到的任何 LoRaWAN 数据包都会转发到网络服务器,反之亦然*。网络服务器处理:终端设备身份验证、会话级别的终端设备消息解密/加密、终端设备重复消息、终端设备重放消息、终端设备数据速率限制、与用户应用程序的数据/路由交换(这是商业网络服务器解决方案有很多选择的地方),还有更多......
1)我需要告诉它连接到节点吗?还是它会自动接收日期?
您必须在 ABP 模式或 OTAA 模式下配置网关和设备。
无线激活 (OTAA) 无线激活 (OTAA) 是连接物联网的首选和最安全的方式。设备执行与网络的加入过程,在此过程中分配动态 DevAddr 并与设备协商安全密钥。
个性化激活 (ABP) 在某些情况下,您可能需要硬编码 DevAddr 以及设备中的安全密钥。这意味着通过个性化 (ABP) 激活设备。此策略可能看起来更简单,因为您跳过了加入过程,但它有一些与安全性相关的缺点。
2)我需要告诉它连接到服务器吗?我是否对服务器进行编程以连接到网关或直接连接到节点?
您的服务器不应与节点通信,它只与您的 LoRaWAN 网关通信。
网关有多种方法可以将数据发送到您的服务器。例如,您可以使用 MQTT 或协议缓冲区。