Calcola la velocità e la direzione sul microcontrollore o sul server remoto?


9

Supponiamo che io abbia un dispositivo collegato su un'auto che include un MCU e un modulo SIM908. La funzione del SIM908 è quella di ricevere i dati GPS dai satelliti e quindi inviarli al server remoto tramite 2G / GPRS una volta al minuto per visualizzarli sul web. Ora, oltre a inviare la posizione GPS, voglio inviare anche la velocità e la direzione della macchina. So che la velocità e la direzione possono essere calcolate dalle coordinate GPS, ma non sono sicuro che l'MCU sia in grado di gestire tali calcoli.

Devo inserire questa attività sul server remoto per ridurre il carico sull'MCU (come risparmio energetico, funzionamento regolare ...) o elaborare direttamente sull'MCU? Puoi suggerire un buon modo di fare questo compito?

Risposte:


6

Come dice Bence, dipende dal chip e dalla precisione necessari.

Ma vorrei aggiungere una cosa: la velocità e la direzione (direzione) di molti GPS in una delle loro frasi NMEA. Se il tuo chip GPS lo fa, puoi usarlo direttamente e non dovrai calcolare nulla, basta usare i valori forniti dal GPS.


5

Dipende fortemente dall'MCU che hai, ma penso che qualsiasi microcontrollore sul mercato potrebbe gestire facilmente questo compito. Calcolare la velocità e la direzione dalle coordinate non è un grosso problema. Penso che l'analisi delle frasi GPS richieda più tempo CPU.

  • Quindi, se stai semplicemente eseguendo il tunneling dei dati GPS attraverso il collegamento GPRS, non elaborato, quindi l'intera frase NMEA in un unico pezzo, quindi esegui il calcolo sul lato server.

  • Se si estraggono le informazioni rilevanti sull'MCU prima di inviarlo, si consiglia di calcolare velocità e direzione anche sull'MCU. Terrei tutta la logica (analisi + calcolo) sullo stesso lato. Non avere un po 'qui e un po' lì, ciò complica solo le cose.

Alcune altre cose che vorrei pensare prima di prendere la decisione:

  • Se si esegue il dispositivo a batteria e si è a corto di energia, è possibile eseguire la maggior parte dell'elaborazione sul lato server possibile e l'MCU può dormire di più e solo svegliarsi per interrogare il GPS e inviare i dati.

  • Non so quale tariffa mobile hai per la SIM908, ma se il costo e ogni kB inviato sono importanti, quindi estrai e calcola tutto ciò che è MCU per ridurre il traffico di dati sul collegamento GPRS.


4

Come persona che ha creato il sistema di gestione della flotta che elabora i dati da dispositivi con ricevitori GPS che attualmente servono due milioni di unità costituite da più di migliaia di diversi tipi di tali tracker di centinaia di produttori in tutto il mondo, ho solo un consiglio per te: fai tutto ciò che puoi sul lato dispositivo e fare affidamento sul server solo per l'archiviazione stabile per i messaggi di telemetria non elaborati. Velocità e rotta che puoi leggere dal ricevitore GPS, ma non dimenticare di fornire al server quantità di satelliti, hdop e altri parametri. Il dispositivo è collegato alle linee elettriche dell'auto, quindi non è necessario risparmiare energia e i prezzi del traffico SIM diminuiscono ogni anno. Quindi basta inviare qualsiasi cosa tu possa catturare e credere che ogni pezzo di server di dati a volte possa fare di più di quanto tu possa immaginare.

E non dimenticare che la maggior parte dei server sta solo scrivendo nel database, specialmente nei sistemi ad alto carico, non hanno un accesso rapido (o talvolta del tutto) al messaggio precedente dal tuo dispositivo e non possono fare calcoli prima di salvare il messaggio.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.