Обчислити швидкість і напрямок на мікроконтролері або на віддаленому сервері?


9

Припустимо, у мене на автомобілі приєднано пристрій, який включає в себе MCU та модуль SIM908. Функція SIM908 полягає в тому, щоб отримувати дані GPS від супутників, а потім надсилати їх на віддалений сервер через 2G / GPRS один раз на хвилину для відображення в Інтернеті. Тепер, окрім надсилання GPS-місця, я хочу також надсилати швидкість та напрямок автомобіля. Я знаю, що швидкість і напрямок можна обчислити за координатами GPS, але я не впевнений, чи може MCU обробляти ці обчислення.

Чи слід ставити це завдання на віддалений сервер, щоб зменшити навантаження на MCU (наприклад, заощадження енергії, плавний запуск ...) або безпосередньо обробляти MCU? Чи можете ви запропонувати хороший спосіб виконання цього завдання?

Відповіді:


6

Як говорить Бенс, це залежить від мікросхеми та потрібної точності.

Але я хотів би додати одне: багато швидкість виведення GPS і напрямок (напрямок) в одному зі своїх пропозицій NMEA. Якщо ваш чип GPS це робить, ви можете використовувати це безпосередньо, і вам не доведеться нічого обчислювати - просто використовуйте значення, передбачені GPS.


5

Це сильно залежить від MCU, який у вас є, але я думаю, що будь-який мікроконтролер на ринку міг легко впоратися з цим завданням. Обчислити швидкість і напрямок від координат - це не велика справа. Я думаю, що для аналізу пропозицій GPS потрібно більше часу для процесора.

  • Отже, якщо ви просто тунелюєте дані GPS через посилання GPRS, необроблене, тож все речення NMEA в одній частині, тоді робіть обчислення на стороні сервера.

  • Якщо ви витягуєте відповідну інформацію в MCU перед відправкою, то обчислення швидкості та напрямку рекомендується проводити також і на MCU. Я б утримував всю логіку (розбір + обчислення) на одній стороні. Тут не мало і трохи там, що просто ускладнює речі.

Ще кілька речей, про які я б подумав, перш ніж приймати рішення:

  • Якщо ви заряджаєте пристрій від акумулятора і вам не вистачає живлення, ви можете зробити якомога більше обробки на стороні сервера, і ваш MCU може спати більше і лише прокидатися, щоб запитувати GPS і надсилати дані.

  • Я не знаю, який тариф на мобільний телефон у вас для SIM908, але якщо вартість і кожен надісланий КБ має значення, витягніть та обчисліть усе, що МКУ, щоб зменшити трафік даних через GPRS-посилання.


4

Як людина, яка створила систему управління автопарком, обробляючи дані з пристроїв з GPS-приймачами, які зараз обслуговують два мільйони одиниць, що складається з більш ніж тисячі різних типів таких трекерів від сотень виробників у всьому світі, я маю до вас лише одну пораду - робіть усе, що можете на стороні пристрою і покладайтеся на сервер лише для стабільного зберігання для необроблених телеметричних повідомлень. Швидкість і курс ви можете прочитати з GPS-приймача, але також не забудьте доставити на сервер кількість супутників, hdop та інших параметрів. Ваш пристрій, приєднаний до електромереж автомобіля, тому вам не потрібно економити електроенергію, а ціни на SIM-трафік знижуються щороку. Тому просто надсилайте все, що ви можете спіймати і вірити, кожен сервер даних може іноді зробити більше, ніж ви можете собі уявити.

І не забувайте, що більшість серверів просто записують в базу даних, особливо в системах з високим навантаженням, вони не мають швидкого (а іноді і зовсім) доступу до попереднього повідомлення з вашого пристрою і не можуть робити жодних розрахунків перед збереженням повідомлення.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.