如何将 LoRaWAN 用于比赛场景
关键词
LoRaWAN 实时上报 下行同步 不丢包 组播
应用场景
学生/运动员比赛,射击比武,同步采集等
摘要
为了将 LoRaWAN 应用于:比赛,比武,同步采集等场景,应对下行同步和实时上报的需求,设计了:组播,下行冗余,时分频分复用技术。
班级跳绳比赛
视频中的 LoRaWAN 跳绳,支持多人同时上传,这是 2021 年协作腾讯开发的智慧体育产品,应用到全国中小学生跳绳比赛。
LoRa 跳绳视频_锐麦版权
曾经踩过的“坑”
从 2021~2023 期间,行业内至少使用了 4 种无线通信技术研发比赛,均以失败告终,如下表所示。
通信技术 | 失败原因 |
---|---|
LoRa 点对点 | 容量不足,无法适应多节点同时上报。 |
蓝牙 mesh | 距离太近,无法覆盖操场或体育馆。 |
NB-IoT | 下行延时大,农村和偏远地区没信号。 |
LoRa 私标 | 小公司设计 bug 多,开发 server 代价大。 |
列需求
抽丝剥茧,比赛场景对无线通信技术有如下 3 点核心需求。
关键技术 | 用途 |
---|---|
下行同步 | 裁判员按下【开始比赛】按钮,所有节点同时启动。 |
实时上报 | 为良好的用户体验,每 3 秒节点数据上报到 App 。 |
组播 | 每个比赛团队分配一个组,组内要联动,组间不干扰。 |
LoRaWAN 整体框架
比赛场景的 LoRaWAN 网络包括下图所示的 5 个实体,数据端到端加密,安全可信。
组播
比赛场景下,ChirpStack 下挂很多单位,每个单位下挂多个比赛节点。如下图所示,构成了树状结构。
所幸的是 ChirpStack 支持【分组】,如下图所示。
组播地址 + 节点 DevEUI 可以向【指定分组】下发比赛命令。
考虑到 1 个节点在分组中有 4 种操作:增删改查,LoRaWAN 支持空中无线电操作
组播命令 | 用途 |
---|---|
增加 | 将 1 个节点添加到指定分组 |
删除 | 从指定分组中删除 1 个节点 |
修改 | 将 1 个节点从 A 分组移到 B 分组 |
查询 | 查询 1 个节点所属分组信息 |
后记
本项目在 2021~2023 长沙市近 300 家中小学校成功落地,充分检验了 LoRaWAN 应用在比赛场景的可行性。
对于一些要求更苛刻的实时场景,还有如下算法可以改进
- 锁定信道:每个节点固定 1 个信道,通过增加 LoRa 基站扩容。
- 锁定时隙:每个节点固定 1 个时隙,通过组播编号来绑定节点。