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


9

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

我应该将此任务放在远程服务器上以减轻MCU的负载(例如节省功率,平稳运行...)还是直接在MCU上处理?您能建议一种完成此任务的好方法吗?

Answers:


6

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

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


5

这在很大程度上取决于您拥有的MCU,但是我认为市场上的任何微控制器都可以轻松地完成此任务。从坐标计算速度和方向并不重要。我认为解析GPS语句会花费更多的CPU时间。

  • 因此,如果您只是通过GPRS链路隧道传输GPS数据(未经处理),则将整个NMEA语句合为一体,然后在服务器端进行计算。

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

在做出决定之前,我会想到其他一些东西:

  • 如果使用电池运行设备且电源不足,则可以在服务器端进行尽可能多的处理,并且MCU可以休眠更多,并且仅唤醒以查询GPS并发送数据。

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


4

作为一个创建车队管理系统的人,它使用GPS接收器处理设备中的数据,该设备目前服务于200万个设备,其中包括来自全球数百家制造商的数千种不同类型的此类跟踪器,我只有一个建议-尽您所能在设备端,仅依靠服务器稳定存储原始遥测消息。您可以从GPS接收器读取速度和航向,但也不要忘记将数量的卫星,hdop和其他参数传送到服务器。您的设备已连接到汽车的电线,因此您无需节省电源,SIM卡流量的价格每年都在下降。因此,只要发送您可以捕捉到的所有内容,并相信每台数据服务器有时都可以做您想不到的事情。

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.