在微控制器或远程服务器上计算速度和方向?

物联网 微控制器 GSM 全球定位系统
2021-06-04 01:23:16

假设我在汽车上连接了一个设备,其中包括一个 MCU 和一个 SIM908 模块。SIM908 的功能是接收来自卫星的 GPS 数据,然后每分钟通过 2G/GPRS 发送到远程服务器在网络上显示。现在,除了发送 GPS 位置之外,我还想发送汽车的速度和方向。我知道可以根据 GPS 坐标计算速度和方向,但我不确定 MCU 是否可以处理这些计算。

我应该将此任务放在远程服务器上以减少MCU的负载(例如省电,流畅运行......)还是直接在MCU上处理?你能提出一个完成这项任务的好方法吗?

3个回答

正如本斯所说,这取决于芯片和所需的精度。

但我想补充一件事:许多 GPS在他们的 NMEA 句子之一中输出速度和航向(方向)。如果您的 GPS 芯片执行此操作,您可以直接使用它,而无需计算任何内容——只需使用 GPS 提供的值即可。

这在很大程度上取决于您拥有的 MCU,但我认为市场上的任何微控制器都可以轻松处理此任务。从坐标计算速度和方向没什么大不了的。我认为解析 GPS 语句需要更多的 CPU 时间。

  • 因此,如果您只是通过 GPRS 链路隧道传输 GPS 数据,未经处理,那么整个 NMEA 语句就在一块,然后在服务器端进行计算。

  • 如果您在发送前提取了 MCU 上的相关信息,那么建议也在 MCU 上计算速度和方向。我会将所有逻辑(解析 + 计算)保持在同一侧。不要在这里有一点,那里有一点,这只会使事情复杂化。

在做出决定之前我会想到的其他一些事情:

  • 如果您使用电池运行设备并且电量不足,那么您可以在服务器端进行尽可能多的处理,并且您的 MCU 可以睡得更久,只醒来查询 GPS 并发送数据。

  • 我不知道您对 SIM908 的移动资费是多少,但如果成本和每发送的 kB 都很重要,那么从 MCU 中提取并计算所有内容,以减少 GPRS 链路上的数据流量。

作为创建车队管理系统的人,该系统处理来自带有 GPS 接收器的设备的数据,这些设备目前为 200 万台设备提供服务,这些设备由来自全球数百家制造商的数千种不同类型的此类跟踪器组成,我只有一个建议给您 - 尽您所能在设备端,仅依靠服务器来稳定存储原始遥测消息。您可以从 GPS 接收器读取速度和航向,但也不要忘记传送到服务器的卫星数量、hdop 和其他参数。您的设备连接到汽车的电线上,因此您无需省电,而且 SIM 卡流量的价格每年都在下降。因此,只需发送您可以捕获并相信每个数据服务器有时可以做的比您想象的更多的任何内容。

并且不要忘记,大多数服务器只是写入数据库,尤其是在高负载系统中,它们无法快速(有时甚至根本)访问您设备上的先前消息,并且在保存消息之前无法进行任何计算。