如何将 LoRaWAN 用于比赛场景

如何将 LoRaWAN 用于比赛场景

关键词

LoRaWAN 实时上报 下行同步 不丢包 组播

应用场景

学生/运动员比赛,射击比武,同步采集等

摘要

为了将 LoRaWAN 应用于:比赛,比武,同步采集等场景,应对下行同步和实时上报的需求,设计了:组播,下行冗余,时分频分复用技术。

班级跳绳比赛

视频中的 LoRaWAN 跳绳,支持多人同时上传,这是 2021 年协作腾讯开发的智慧体育产品,应用到全国中小学生跳绳比赛。

LoRa 跳绳视频_锐麦版权

曾经踩过的“坑”

从 2021~2023 期间,行业内至少使用了 4 种无线通信技术研发比赛,均以失败告终,如下表所示。

通信技术 失败原因
LoRa 点对点 容量不足,无法适应多节点同时上报。
蓝牙 mesh 距离太近,无法覆盖操场或体育馆。
NB-IoT 下行延时大,农村和偏远地区没信号。
LoRa 私标 小公司设计 bug 多,开发 server 代价大。

列需求

抽丝剥茧,比赛场景对无线通信技术有如下 3 点核心需求。

关键技术 用途
下行同步 裁判员按下【开始比赛】按钮,所有节点同时启动。
实时上报 为良好的用户体验,每 3 秒节点数据上报到 App 。
组播 每个比赛团队分配一个组,组内要联动,组间不干扰。

LoRaWAN 整体框架

比赛场景的 LoRaWAN 网络包括下图所示的 5 个实体,数据端到端加密,安全可信。
如何将 LoRaWAN 用于比赛场景_第1张图片

下行同步,不丢包

下行不丢包是通过【冗余重传】实现,比赛场景下 SF8 通信距离足够,经过如下配置,每 1 条【比赛开始】报文 LoRa 基站会连续下发 3 条给节点,保证了接收成功率。
如何将 LoRaWAN 用于比赛场景_第2张图片
如何将 LoRaWAN 用于比赛场景_第3张图片

实时上报,不丢包

当 50 根跳绳在 3 秒内上报数据,可 SX1302 只有 8 信道,这如何【避免冲突】呢?这就得引入【频段+时分】复用技术。

如下表所示,在纵轴有 8 个信道,即 f1~f8 它可以并发接收 8 个 LoRa 报文。
在横轴有 45 个时隙,这 50 个节点随时选择其中 1 个时隙上报。

频分(8 信道)x 时分(45 时隙)= 360 那么 50 个节点的冲突概率为 50 / 360 * 100% = 14%
因为每 3 秒节点(频点 / 时隙)随时变化,这样保证了数据流畅。
如何将 LoRaWAN 用于比赛场景_第4张图片

组播

比赛场景下,ChirpStack 下挂很多单位,每个单位下挂多个比赛节点。如下图所示,构成了树状结构。
如何将 LoRaWAN 用于比赛场景_第5张图片
所幸的是 ChirpStack 支持【分组】,如下图所示。

如何将 LoRaWAN 用于比赛场景_第6张图片

组播地址 + 节点 DevEUI 可以向【指定分组】下发比赛命令。
如何将 LoRaWAN 用于比赛场景_第7张图片
考虑到 1 个节点在分组中有 4 种操作:增删改查,LoRaWAN 支持空中无线电操作

组播命令 用途
增加 将 1 个节点添加到指定分组
删除 从指定分组中删除 1 个节点
修改 将 1 个节点从 A 分组移到 B 分组
查询 查询 1 个节点所属分组信息

如何将 LoRaWAN 用于比赛场景_第8张图片

扩容,适应更多节点

如果有 100 / 1000 / 10000 / … 人比赛,LoRaWAN 能支持吗?支持!

每 50 个节点配置 1 台 LoRa 基站,它们组成 1 个子网。各子网通过【频分复用】技术,彼此无线电隔离,不干扰;又因为各子网都接入同 1 个 ChirpStack 组成一个主网。实现了扩容和负载均衡,如下图所示。

如何将 LoRaWAN 用于比赛场景_第9张图片

后记

本项目在 2021~2023 长沙市近 300 家中小学校成功落地,充分检验了 LoRaWAN 应用在比赛场景的可行性。

对于一些要求更苛刻的实时场景,还有如下算法可以改进

  • 锁定信道:每个节点固定 1 个信道,通过增加 LoRa 基站扩容。
  • 锁定时隙:每个节点固定 1 个时隙,通过组播编号来绑定节点。

你可能感兴趣的:(LoRaWAN,LoRa,物联网,LoRaWAN,ChirpStack)