Съдържание:

LTE Arduino GPS Tracker + IoT Dashboard (Част 2): 6 стъпки (със снимки)
LTE Arduino GPS Tracker + IoT Dashboard (Част 2): 6 стъпки (със снимки)

Видео: LTE Arduino GPS Tracker + IoT Dashboard (Част 2): 6 стъпки (със снимки)

Видео: LTE Arduino GPS Tracker + IoT Dashboard (Част 2): 6 стъпки (със снимки)
Видео: #12 GPS-трекер LTE Arduino в реальном времени (часть 2) 2024, Юли
Anonim
Image
Image
ThingsBoard Setup
ThingsBoard Setup

Въведение и част 1 Резюме

Да, време е за поредния Instructable на GPS тракера SIM7000 с Arduino и LTE! Ако все още не сте го направили, моля, преминете към началния урок за щита Botletics SIM7000 CAT-M/NB-IoT, след което прочетете част 1 от урока за проследяване на GPS. Като такъв, ще приема, че имате настроен хардуер и сте готови да публикувате данни в облака, всичко, което наистина трябва да направим в този урок, е да се запознаем с ThingsBoard и да направим друг пътен тест, за да видим невероятните данни показва!

В част 1 успешно получихме нашия изящен GPS тракер за изпращане на данни към dweet.io и извлечихме данните на freeboard.io, за да визуализираме данните. Скоро обаче разбрах, че функционалността на картата е доста куца на надводния борд, тъй като не ви позволява да премествате курсора наоколо или дори да преоразмерявате прозореца на приспособлението. Това ме доведе до по-добро решение: ThingsBoard.io, което е супер страхотно табло за управление на IoT (и безплатно!), Което ви позволява да съхранявате, визуализирате и персонализирате вашите данни! Можете да плъзнете, за да пренаредите джаджи (и работи в Chrome за разлика от надводния борд), а цялостното качество е сметаната на реколтата. Най -важното е, че джаджата на картата на Google ви позволява свободно да се движите, да увеличавате и намалявате мащаба и да избирате различни стилове (сателит, изглед на пътя и т.н.) и дори ви позволява да плъзгате и пускате малкото жълто момче на пътя за изглед на улицата !

Стъпка 1: Настройка на ThingsBoard

ThingsBoard Setup
ThingsBoard Setup
ThingsBoard Setup
ThingsBoard Setup

ThingsBoard акаунт и настройка на устройството

Първото нещо, което трябва да направите, е да отидете на началната страница на ThingsBoard, след което да създадете акаунт, като кликнете върху горния десен бутон от менюто и изберете „Демо на живо“. Създайте акаунт, потвърдете акаунта си в имейл, който ви изпращат, след което влезте отново в началния екран на демонстрацията на живо. Това трябва да ви отведе до екран, където можете да управлявате всичките си устройства, да редактирате табла за управление и т.н.

След това изберете раздела „Устройства“отляво. Това трябва да покаже куп демонстрационни устройства като ESP8266, DHT22, Arduino и Pi демонстрации и т.н. Създайте ново устройство, като кликнете върху червения бутон „+“в долния десен ъгъл и въведете име и изберете „по подразбиране“за типа устройство. След като щракнете върху „ДОБАВЯНЕ“, трябва да видите новото си устройство в раздела Устройства. Кликнете върху „Управление на идентификационните данни“и трябва да видите изскачащ малък прозорец, показващ маркера за достъп на устройството. Това по същество е идентификаторът на устройството и е аналогичен на идентификатора на устройството, използван за публикуване на данни в dweet.io. Можете да промените този идентификатор на устройството на IMEI номера на щита си, ако искате, но можете също така просто да използвате автоматично генерирания знак. Копирайте този знак, тъй като ще ви е необходим в скицата на Arduino.

Примерна настройка на Arduino

В този урок ще използваме абсолютно същия пример за скица на Arduino, както в първия урок, но този път актуализирах скицата, за да включва код за изпращане на данни директно на ThingsBoard.io вместо dweet.io в част 1. Както винаги, можете да намерите примерния код тук в Github.

Първото нещо, което трябва да направите, е да коментирате редовете, които правят публикацията на щита в dweet.io:

// GET заявка/* // Можете да коригирате съдържанието на заявката, ако нямате нужда от определени неща като скорост, надморска височина и т.н. sprintf (URL, "https://dweet.io/dweet/for/%s ? lat =%s & long =%s & speed =%s & head =%s & alt=%s & temp =%s & batt =%s ", imei, latBuff, longBuff, speedBuff, headBuff, altBuff, tempBuff, battBuff);

int брояч = 0; // Това отчита броя на неуспешните опити

// Опитайте общо три пъти, ако публикацията е неуспешна (опитайте още 2 пъти) while (counter <3 &&! Fona.postData ("GET", URL, "")) {// Добавете кавичките "" като трето въвеждане, защото за GET заявка няма "body" Serial.println (F ("Неуспешно публикуване на данни, повторен опит …")); брояч ++; // Увеличаване на брояча забавяне (1000); } */

След това премахнете коментарите от редовете, които публикуват на thingsboard.io:

// Нека опитаме POST заявка към thingsboard.io const char* token = "YOUR_DEVICE_TOKEN"; // От thingsboard.io устройство sprintf (URL, "https://demo.thingsboard.io/api/v1/%s/telemetry", жетон); sprintf (body, "{" latitude / ":%s, \" longitude / ":%s, \" speed / ":%s, \" head / ":%s, \" alt / ":%s, / "temp \":%s, / "batt \":%s} ", latBuff, longBuff, speedBuff, headBuff, altBuff, tempBuff, battBuff); // sprintf (body, "{" lat / ":%s, \" long / ":%s}", latBuff, longBuff); // Ако всичко, което искате, е lat/long

int брояч = 0;

while (! fona.postData ("POST", URL, body)) {Serial.println (F ("Неуспешно завършване на HTTP POST …")); брояч ++; забавяне (1000); }

Качете кода на вашия Arduino, уверете се, че сте свързали SIM картата и антената, и се уверете, че щитът изпраща код в облака, преди да продължите!

ЗАБЕЛЕЖКА: Arduino Uno има много малко памет (RAM) и публикуването на Thingsboard може да доведе до срив на Arduino. Ако имате рестартиране на скицата приблизително на мястото на функцията postData () или друго странно поведение, най -вероятно това се случва. Лесното решение за това е да замените Uno с Arduino Mega или платка с повече RAM. Можете също така да опитате да намалите размера на масивите и да разделите данните на няколко публикации.

Стъпка 2: Проверете получаването на данни

Проверете получаването на данни
Проверете получаването на данни

За да потвърдите действително, че данните се изпращат към ThingsBoard правилно, отидете на същата страница с подробности за устройството (щракнете върху плочката на устройството GPS Tracker на страницата „Устройства“), след което щракнете върху раздела „Най -новата телеметрия“. Ако вашият GPS тракер изпраща стойности до ThingsBoard, трябва да видите най -новите стойности тук и те ще се актуализират в реално време с влизането им.

Сега, когато сте проверили, че ThingsBoard всъщност получава данните, е време да настроите таблото за управление, за да можем да визуализираме нашите данни, когато ги събираме! (Или след факта)

Стъпка 3: Настройване на таблото за управление

Настройване на таблото за управление
Настройване на таблото за управление
Настройване на таблото за управление
Настройване на таблото за управление
Настройване на таблото за управление
Настройване на таблото за управление

Сега е време за забавната част! Сега щракнете върху раздела „Табла за управление“вляво и изберете вашето GPS проследяващо устройство. Това трябва да изведе нова страница, която ви моли да добавите джаджи. Щракнете върху долния десен бутон „+“и „създайте нова джаджа“, за да изведете падащо меню с джаджи, от които да избирате. Засега нека добавим „цифров габарит“. Избирането на това трябва да зареди куп визуализации за всички различни видове цифрови уреди, от които можете да избирате. Когато кликнете върху един, той ще изведе друг екран, за да настроите параметрите на джаджата. Първото нещо, което трябва да добавите, е източникът на данни (вашето устройство за GPS проследяване, което изпраща данните до ThingsBoard). Натиснете бутона "+ ДОБАВЯНЕ" и изберете вашето устройство "GPS Tracker" и изберете подходящата променлива, която искате да показва приспособлението. В този случай, нека да изберем променливата "temp" (температура).

Сега, ако искате да добавите неща като заглавие на приспособлението, отидете в раздела „Настройки“, поставете отметка в „Показване на заглавието“и въведете заглавие. Има много други неща, които можете да направите в раздела „Разширени“, но ще ви позволя да разследвате тези неща сами! Забавлявайте се да променяте диапазоните на стойностите, текста на етикета, цветовете и други! След като добавите джаджа, тя ще се появи в долния ляв ъгъл на таблото ви за управление (може да се наложи да превъртите надолу, ако на екрана има няколко джаджи). Можете да редактирате приспособлението по всяко време, като натиснете бутона на приспособлението, ако вече сте в режим на редактиране на таблото, или да влезете в режима за редактиране, като първо натиснете бутона с молив в долния десен ъгъл на целия екран, за да можете да редактирате джаджите. Доста ясно!

Стъпка 4: Добавяне на карта

Добавяне на карта!
Добавяне на карта!
Добавяне на карта!
Добавяне на карта!
Добавяне на карта!
Добавяне на карта!
Добавяне на карта!
Добавяне на карта!

Сега за GPS тракер картата е задължителна! Нека добавим една, като създадем нова джаджа (отново в долния десен бутон „+“) и този път превъртете надолу и изберете „Карти“. Продължете напред и кликнете върху един и той ще покаже опциите за него. Добавете източника на данни както обикновено, но този път изберете променливи „lat“и „long“, тъй като те ще се нуждаят от двете, за да получат местоположението. След това отидете на раздела „Настройки“и тук можете да зададете времевия прозорец на данните, които да се показват на картата. Например, може да искате да се показват само последните 2 минути данни, или може да искате всички данни от вчера, или може би просто искате фиксиран прозорец във времето (като 14:00 вчера до 10 часа днес).

Ако искате, можете да отидете в раздела „Разширени“и да изберете типа карта (пътна карта, сателит, хибрид или терен). Може би най -важната част от всичко това е да проверите имената на ключовете за географска ширина и дължина. Уверете се, че тези имена съответстват точно на имената на променливите, които всъщност изпращате на ThingsBoard. Например, ако вашата скица на Arduino казва, че изпраща променливи "lat" и "long" (което е по подразбиране), тогава трябва да промените имената на ключовете на "lat" и "long" и като използвате "latitude" и "longitude" няма да извлече вашите данни!

Отново, след добавяне на картата, тя ще се появи в долната част на таблото за управление. Просто го плъзнете, за да го поставите отново на таблото за управление и щракнете и плъзнете ръбовете, за да го преоразмерите. Ако вашият времеви прозорец е настроен правилно, трябва да видите текущото си местоположение да се показва на картата. Супер чист а? Сега сме готови за истински тест!

Стъпка 5: Пътен тест

Пътен тест
Пътен тест
Пътен тест
Пътен тест

Тестването на GPS тракера е супер просто! Просто включете Arduino в USB адаптер за кола, за да го захранвате, уверете се, че зеленият светодиод светва и той трябва да започне да изпраща данни! За да промените честотата на дискретизация на GPS тракера, уверете се, че намирате този ред код в примерната скица:

#define samplingRate 10 // Времето между публикациите, в секунди

и го настройте на каквото искате. Открих, че 10s работи доста добре за лек пътен тест, но ако сте бързи и яростни, може би бихте искали още по -висока честота на извадка!

Стъпка 6: Резултати

Резултати
Резултати
Резултати
Резултати
Резултати
Резултати

На снимките по -горе можете да видите настройката на таблото ми за управление. Добавих диаграми към графики на исторически данни за неща като скорост, надморска височина и температура, а също така включих измервателни уреди в реално време, в случай че искам да ги видя в реално време на друго пътуване (изобразете това в RV!).

Картата беше страхотно убийствена и успях да събера някои наистина точни данни за маршрут, който съм поел. Също така данните за скоростта бяха изключително точни, защото никога не надвишавахме около 40 км / ч (графиката е в км / ч) по градските пътища. Многото колебания в скоростта могат да се обяснят със светофарите. Като цяло, страхотни резултати и просто си представете за какво друго бихме могли да използваме това! Можете да инсталирате това на RV, мотоциклет, кола и т.н. и да го проследявате през цялото време и да извличате резултатите на ThingsBoard!

За да обобщим, в този урок ние програмирахме нашия GPS тракер да изпраща данни директно до ThingsBoard чрез HTTP POST заявки и управлявахме данните на таблото за управление. Можете да добавите множество устройства и табла за управление, всяко от които съдържа множество джаджи, които изглеждат супер готини и имат много опции за персонализиране! ThingsBoard се доказа като много мощен (и безплатен!) Инструмент за преглед на IoT данни и има дори други функции, които дори не съм надраскал. Не се колебайте да играете с него и да видите какво ще намерите.

  • Ако ви е харесал този урок, направили сте го или имате някакви въпроси, моля, направете коментар по -долу!
  • Не забравяйте да дадете сърце на този Instructable и да се абонирате тук и в моя канал в YouTube за още страхотни уроци, свързани с Arduino!
  • Ако искате да подкрепите това, което правя, моля, обмислете да закупите свой собствен щит Botletics SIM7000 на Amazon.com!

С това ще се видим следващия път!

Препоръчано: