To be a sailor of the world, bound for all ports. 做世界的水手,游遍所有的港口。
背景
自 2015 年 LoRa 联盟创建 LoRaWAN 协议,经过 7 年长跑,到 2022 年国际电信联盟 (ITU) 正式批准 LoRaWAN 作为全球标准: ITU-T Y.4480“广域无线网络的低功耗协议”。
现在全球有 170+ 国家和地区部署 LoRaWAN 网络,LoRaWAN 成为名副其实的全球协议。
小窍门:在技术上 LoRaWAN 和 NT-IoT 有许多相似的地方,主要的差别在于商业部署上。NB-IoT 像 4G 属于“公网”,而 LoRaWAN 像 Wi-Fi 属于“专网”。LoRaWAN 全球受欢迎的 3 大原因是:灵活(按需建设,低成本),自主(不依赖运营商),安全(端到端加密,数据本地化)。
LoRaWAN 网络环境
如下图所示,测试基于典型的 LoRaWAN 3 层设备:Device<–>Gateway<–>ChirpStack
小窍门:尽管有 TTN/LORIOT 这种全球 LoRaWAN 云平台。然而,它们都有学习成本,并且接入设备数量受限。经过多年的项目落地实践,我们发现与其学习 TTN/LORIOT 还不如掌握 ChirpStack 它是【开源免费】,真正实现“灵活,自主,安全”。
搭建 LoRaWAN 网络
-
安装 ChirpStack 请链接《 LoRa Server@Windows:一键安装》
-
准备遵循标准 LoRaWAN 协议的 基站与模组
-
添加 基站+模组 到 ChirpStack 请链接《LoRa Server 配置与管理]
小窍门:如下图所示,修改 RimeLoRaTool 配置文件 RimeLoRaTool.exe.config 中 defaultjoin 为 OTAA 再双击 RimeLoRaTool.exe 添加设备。
配置 ChirpStack 全球频段
Linux 环境(以配置 us915 为例)
- cd /opt/loraserver # 进入 chirpstack 目录
- cp -vf ./chirpstack-network-server-conf/chirpstack-network-server-us915.toml ./chirpstack-network-server.toml # 配置 us915 频段
- sudo systemctl restart chirpstack-network-server.service # 重启 ns 服务
Windows 环境(以配置 us915 为例)
- 复制 ChirpStack\chirpstack-network-server-conf\chirpstack-network-server-us915.toml 覆盖 ChirpStack\chirpstack-network-server.toml
- 关闭 ChirpStack 的 4 个组件窗口:redis-server.exe chirpstack-gateway-bridge.exe chirpstack-application-server.exe chirpstack-network-server.exe
- 双击“一键启动ChirpStack.bat”
小窍门:下载 ChirpStack 全球频段配置文件 chirpstack-network-server-conf.rar 请链接《如何测试 LoRaWAN 全球频段》
配置 Gateway 全球频段
主流的 LoRaWAN 基站基于 SX130x 模组,它有 3 种硬件:490 868 915 它们的差异体现在【滤波器】和【射频网络电路】。
这 3 种硬件分别对应的 LoRaWAN 地区如下表所示。
SX130x 硬件 | |||||
---|---|---|---|---|---|
490 | CN490 | / | / | / | / |
868 | EU868 | IN865 | RU864 | / | / |
915 | US915 | AU915 | AS923_AS1 | AS923_AS2 | KR920 |
设计完善的 LoRaWAN 基站支持 Web 配置参数,在浏览器输入基站的 IP 即可配置 LoRaWAN 地区。下图展示了配置 US915 的操作:在【区域设置】下拉框选择 US915, 再点击【确定】
小窍门:基于 Raspberry Pi 基站配置频段,请链接《如何测试 LoRaWAN 全球频段》
配置 Device 为 OTAA 入网
一般说来 Device 的频段是由固件决定的,检查频段是否正确,并配置入网方式为 OTAA
小窍门:配置 OTAA 后请记得【重启】LoRaWAN 模组。
测试结果
如下图所示,点击【读取入网状态】,如果返回 Network Joined 表明 OTAA 入网成功,即数据通信(上行+下行)都 OK。