LoRaWan-是否可以追踪运动员?

问题描述

很长一段时间以来,我一直在寻找LoRaWan技术来解决运动旅行的问题(特别是定向运动),但是信息非常零散并且相互矛盾。我想知道实施以下描述的方案有多困难。欢迎访问指向硬件示例的链接,有关该主题的合适文章以及通常任何有思想的材料。

给出: 例如,在5 * 5公里的救济林地带,设置了控制点,运动员沿着它奔跑并参观了这些点。地形可能因岩石,建筑物等而复杂化。

任务: 记录运动员对检查站的访问。如果运动员距离该点1-5米,则访问成功。向运动员提供反馈(声音和声音信号表明他已经成功,他可以继续进行下一个要点)。将运动员ID和访问点ID发送到基站。理想情况下,传输运动员的位置(GPS跟踪)。

需求表(按优先级从高到低的顺序):

  1. 无损通信,信号丢失是不可接受的。
  2. 运动员可穿戴设备的价格不应超过40欧元,理想情况下不应超过10欧元。 (最高5欧元通常是绝对成功的)。检查点设备的价格不应超过50欧元。 (检查点必须防风雨)。
  3. 如果可能的话,不要太昂贵的基站。来自 The Things Network 的“室外”站,价值约450欧元。看起来很贵。该电台可以放置在温暖的地方(例如,在汽车中),并且仅在室外放置天线。
  4. 易于部署和编程。理想情况下,只需打开所有内容并以CSV格式收集数据(例如)即可稍后处理。略少-可以使用任何高级语言(python,C#等)编写处理程序。
  5. 在其中一个控制点超出可靠接收范围的情况下,可以在网状网络中组织控制点,或者可以通过安装其他中继节点轻松地扩大范围。

谢谢!

解决方法

也许吧。但 LoRaWAN 可能不适合这项任务。

本地化

首先,单独使用 LoRaWAN 不可能以所需的精度定位节点。为此,您需要使用其他东西,可能是蓝牙信标。使用基于 RSSI 和 RX 时间的 LoRaWAN 进行本地化有一个 whitepaper,但这至少需要三个网关,并为您提供大约 100m 的精度和精确的 RX 时间,并非所有网关都可以以所需的精度进行记录(通常仅当 GPS 接收器也存在且当前已连接时)。

延迟

用于 A 类设备的 LoRaWAN 通信往返需要 1 到 5 秒,因为上行链路和下行链路 RX 窗口之间存在固定延迟。这对于运动员的反馈来说可能不太理想(我不熟悉定向运动,但我希望运动员不要在检查站逗留)。另一方面,电池寿命可能不是此应用程序的问题,因此可以切换到始终可以进行下行链路的 C 类。所有基于云的处理和到可能通过 GSM/3G/LTE 连接的网关的下行链路仍然需要时间。此外,总会有一些数据包丢失和重传需要时间。

在欧盟,868MHz 附近最常见的 ISM 频段也有占空比限制,因此较大的数据包可能需要更长的时间重新传输,具体取决于实施(更好的实施跟踪占空比超过一个小时,因此偶尔的短“爆发”通信是可能的)。

因此在实践中,您的设备应该在本地决定对运动员的反馈,而无需等待服务器连接。这也意味着信标和/或设备必须可靠地记录访问。

可靠性

我知道的 LoRaMAC 实现中没有提供开箱即用的无损通信。您必须在设备上实现数据包队列。

无网格

LoRAWAN 中没有内置网格(您当然可以自己实现或调整,但这不利于“易于开发”),但您可以轻松添加更多网关,这足以满足其中之一它们接收上行数据包。在适合定向越野的森林中,我希望您无论如何都需要多个网关才能快速接收。 LoRaWAN 在视线范围内效果很好,但障碍物会缩小范围并且不会穿透山丘。如果你只想要最后的数据,它会工作得很好,但是你根本不需要 LoRAWAN,所以一旦你实现了一个可靠的数据包队列,它就会在成本和数据传输速度之间进行权衡。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...