Calcular la velocidad y la dirección en el microcontrolador o en el servidor remoto?

9

Suponga que tengo un dispositivo conectado a un automóvil que incluye un MCU y un módulo SIM908. La función del SIM908 es recibir datos GPS de los satélites y luego enviarlos al servidor remoto a través de 2G / GPRS una vez cada minuto para mostrarlos en la web. Ahora, además de enviar la ubicación del GPS, también quiero enviar la velocidad y la dirección del automóvil. Sé que la velocidad y la dirección se pueden calcular a partir de las coordenadas GPS, pero no estoy seguro de si la MCU puede manejar esos cálculos.

¿Debo poner esta tarea en el servidor remoto para disminuir la carga en la MCU (como ahorrar energía, ejecutar sin problemas ...) o procesar directamente en la MCU? ¿Puedes sugerir una buena forma de hacer esta tarea?

juggernaut156
fuente

Respuestas:

6

Como dice Bence, depende del chip y la precisión necesaria.

Pero me gustaría agregar una cosa: muchos GPS generan velocidad de salida y rumbo (dirección) en una de sus oraciones NMEA. Si su chip GPS hace esto, puede usarlo directamente y no tendrá que calcular nada, simplemente use los valores proporcionados por el GPS.

vidarlo
fuente
5

Depende en gran medida de la MCU que tenga, pero creo que cualquier microcontrolador en el mercado podría manejar esta tarea fácilmente. Calcular la velocidad y la dirección a partir de las coordenadas no es gran cosa. Creo que analizar las oraciones GPS lleva más tiempo de CPU.

  • Entonces, si solo está haciendo un túnel de los datos del GPS a través del enlace GPRS, sin procesar, entonces toda la oración NMEA en una sola pieza, entonces haga el cálculo en el lado del servidor.

  • Si extrae la información relevante en la MCU antes de enviarla, también se recomienda calcular la velocidad y la dirección en la MCU. Mantendría toda la lógica (análisis + cálculo) del mismo lado. No tener un poco aquí y un poco allá, eso solo complica las cosas.

Algunas otras cosas que pensaría antes de tomar la decisión:

  • Si ejecuta el dispositivo con batería y tiene poca energía, entonces puede hacer la mayor parte del procesamiento en el lado del servidor como sea posible, y su MCU puede dormir más y solo despertarse para consultar el GPS y enviar los datos.

  • No sé qué tarifa móvil tiene para el SIM908, pero si el costo y cada kB enviado es importante, extraiga y calcule todo lo que sea MCU para reducir el tráfico de datos a través del enlace GPRS.

Bence Kaulics
fuente
4

Como persona que creó el sistema de gestión de flotas que procesa datos de dispositivos con receptores GPS que actualmente sirven a dos millones de unidades que consta de más de miles de diferentes tipos de rastreadores de cientos de fabricantes en todo el mundo, solo tengo un consejo para usted: haga todo lo que pueda en el lado del dispositivo y confíe en el servidor solo para el almacenamiento estable de mensajes de telemetría sin procesar. Puede leer la velocidad y el rumbo desde el receptor GPS, pero también no olvide enviar al servidor la cantidad de satélites, hdop y otros parámetros. Su dispositivo está conectado a las líneas de electricidad del automóvil, por lo que no necesita ahorrar energía y los precios del tráfico de SIM disminuyen cada año. Tan solo envíe lo que pueda atrapar y creer con cada servidor de datos que a veces puede hacer más de lo que puede imaginar.

Y no olvide que la mayoría de los servidores solo escriben en la base de datos, especialmente en sistemas de alta carga, no tienen acceso rápido (o a veces en absoluto) al mensaje anterior desde su dispositivo y no pueden hacer ningún cálculo antes de guardar el mensaje.

shal
fuente