Съдържание:

EAL - Събиране на GPS данни на индустрия 4.0 на Rc Car: 4 стъпки
EAL - Събиране на GPS данни на индустрия 4.0 на Rc Car: 4 стъпки

Видео: EAL - Събиране на GPS данни на индустрия 4.0 на Rc Car: 4 стъпки

Видео: EAL - Събиране на GPS данни на индустрия 4.0 на Rc Car: 4 стъпки
Видео: Как крейсерская ракета BGM-109 "Томагавк" находит цель 2024, Ноември
Anonim
EAL - Събиране на GPS данни на индустрия 4.0 на Rc Car
EAL - Събиране на GPS данни на индустрия 4.0 на Rc Car
EAL - Събиране на GPS данни на индустрия 4.0 на Rc Car
EAL - Събиране на GPS данни на индустрия 4.0 на Rc Car

В тази инструкция ще говорим за това как ние настройваме GPS модул на RC автомобил и публикуваме събраните данни на уеб страница за лесно наблюдение. Предварително сме направили инструкции за това как направихме нашата RC кола, която можете да намерите тук. Това използва същата конструкция, въпреки че решихме да премахнем ултразвуковите сензори и вместо това приложихме GPS модула. В проекта ние създадохме база данни, която съдържа GPS данните, и изградихме уеб страница, на която данните могат да бъдат намерени, както и приложена към карта, така че да можете да видите къде е била колата. Посетете Joerha.dk, за да видите уеб страницата.

На блок -схемата в горната част можете да видите преглед на технологиите, използвани в този проект. За да извлечете максимума от тази инструкция, трябва да сте запознати с някои, ако не и с всички използвани технологии. Той е свързан според употребата. Разбирането на Github също ще помогне, тъй като сме се свързали с нашите хранилища на github.

Списък на помощните програми:

  • Github
  • Raspberry PI/Raspbian

    Python

  • Node.js

    • Express.js
    • Sequelize.js
    • MySQL
  • HTML, CSS, JS

    Bootstrap

Стъпка 1: Настройка на база данни

Настройка на база данни
Настройка на база данни

В този сегмент ще говорим за това как изграждаме система от бази данни, от която се извличат нашите GPS данни. Базата данни е изградена в MySQL според снимката по -горе, където имаме две таблици - „Потребители“и „GPSEntries“. При потребителите имаме „Id“като основен ключ. Използва се като уникален идентификатор. „Име“е името на потребителя, който е влязъл в момента. „Apikey“е уникалният ключ, даден на потребителя за достъп до API. „Активен“означава да проверим дали потребителят е активен, можем да деактивираме потребителя, така че да няма достъп до базата данни. „CreatedAt“и „UpdatedAt“е направено от процеса, който използвахме за изграждане на базата данни.

В таблицата „GPSEntries“имаме всички атрибути, съдържащи данни от GPS модула. „Време“е текущото време на GPS модула, използваме го за показване на часа на публикуването. След това имаме позицията в координати, както и „скорост“и „посока“. Имаме и много атрибути за грешка, които показват дали има грешка в данните от GPS, fx в координатите. Добавихме ги към базата данни, но не ги показваме на уеб страницата. „UserId“е чужд ключ, който съдържа „id“от таблицата „Потребители“. Това се използва, за да се покаже кой потребител е публикувал данните.

Стъпка 2: API

API
API

В този сегмент ще говорим за API, който контролира базата данни и поставя данните към нея. Уеб API е изграден с Node.js, който използва Express.js и Sequalize.js.

Node.js се използва за стартиране на JavaScript сървър, където обикновено се използва предимно за клиентски скриптове на уеб страница.

Express.js е рамката, която използвахме за изграждане на API.

Sequalize.js се използва за създаване на връзки между данните за GPS и атрибутите на базата данни. Той използва метод, наречен ORM (Object-Relational Mapping), за да направи това. Тук също се създават „CreatedAt“и „UpdatedAt“(показано в стъпка 1).

API може да се използва, като посетите api.joerha.dk. След това добавете /gps към URL адреса, който ще покаже всички данни в базата данни във формат JSON. За да контролирате колко записи искате, можете да добавите /2 (Потребителят) и /x (брой записи) към URL адреса. Fx api.joerha.dk/gps/2/10 ще покаже 10 -те най -нови записа. Изход от форматираните данни е показан на снимката по -горе.

Кодът може да бъде намерен тук: Github

Стъпка 3: Приложение GPS/Python

GPS/Python приложение
GPS/Python приложение
GPS/Python приложение
GPS/Python приложение
GPS/Python приложение
GPS/Python приложение

В този сегмент ще говорим за скрипта, който работи на малината и събира GPS данните и ги изпраща до API.

За да съберем данните от GPS, използваме демон, наречен gpsd (Снимка 1). Тук събираме данните, които публикуваме в базата данни, и основата за нашата таблица GPSEntries. Скриптът, който изтегля данните от gpsd и ги публикува в API, е написан на python.

Приложението инициализира нишка, така че може да изпълнява едновременно gpsd и нашата програма. Gpsd данните се предават непрекъснато, докато GPS е активен (Снимка 2).

След това правим цикъл while, който непрекъснато публикува своя полезен товар в API, съдържащ GPS данните. Данните са форматирани като JSON. Полезният товар се състои от атрибутите, наблюдавани в GPSD. Етикетът.fix действа като моментна снимка на текущите данни и го изпраща до API. Това става чрез request.post и използва url и API ключ. Print (r.status_code) се извежда на потребителя, за да разбере дали данните са преминали правилно. Time.sleep (0.5) е колко често се публикуват данните (Снимка 3)

Кодът може да бъде намерен тук: Github

Стъпка 4: Уеб страница за проекта

Уеб страница за проекта
Уеб страница за проекта

В този сегмент ще говорим за това как направихме нашата уеб страница, която показва данните, и друга информация за проекта. Сайтът е изграден с HTML, css и JS. За начало използвахме Bootstrap 4.0, който е библиотека за HTML, css и JS. Той идва с много функции, които ви помагат да изградите вашия уеб сайт. Използвали сме го за навигационната лента в горната част, както и настройката на редове и колони, с които е изграден сайтът. След това имаме друг малък css скрипт, контролиращ цветовете на фона и заглавките. От друга страна, ние използвахме библиотека, наречена лайтбокс, така че можете да щракнете върху снимките и те ще се появят. Съдържанието на сайта съдържа google карта, таблица с данни, видеоклип на колата в действие и връзка към тази страница.

Google картата е най -интересната. Картата се зарежда чрез google API, където се вмъква уникален API ключ, за да работи. Данните се предават на картата в интервал от 500ms. Направихме функция, при която последните 100 точки от данни в базата данни се показват като маркери, така че можете да проследите къде е била колата. Това става чрез това, което се нарича AJAX повикване.

Наборите от данни в таблицата с GPS данни се искат по същия начин. В таблицата можете да видите последните 10 записа, актуализирани в реално време, когато GPS е активен. Извличаме данни от базата данни в интервал от 500 ms.

Кодът може да бъде намерен тук: Github

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