Оглавление:

EAL - Сбор данных GPS в соответствии с Индустрией 4.0 на радиоуправляемом автомобиле: 4 шага
EAL - Сбор данных GPS в соответствии с Индустрией 4.0 на радиоуправляемом автомобиле: 4 шага

Видео: EAL - Сбор данных GPS в соответствии с Индустрией 4.0 на радиоуправляемом автомобиле: 4 шага

Видео: EAL - Сбор данных GPS в соответствии с Индустрией 4.0 на радиоуправляемом автомобиле: 4 шага
Видео: перспективные направления индустрии 4.0 2024, Июнь
Anonim
EAL - Сбор данных GPS в соответствии с Индустрией 4.0 на радиоуправляемом автомобиле
EAL - Сбор данных GPS в соответствии с Индустрией 4.0 на радиоуправляемом автомобиле
EAL - Сбор данных GPS в соответствии с Индустрией 4.0 на радиоуправляемом автомобиле
EAL - Сбор данных GPS в соответствии с Индустрией 4.0 на радиоуправляемом автомобиле

В этом руководстве мы поговорим о том, как мы устанавливаем модуль GPS на радиоуправляемом автомобиле и размещаем собранные данные на веб-странице для удобства мониторинга. Ранее мы составили инструкцию о том, как мы сделали нашу радиоуправляемую машину, которую можно найти здесь. Он использует ту же сборку, хотя мы решили отказаться от ультразвуковых датчиков и вместо этого применили модуль GPS. В проекте мы настроили базу данных, содержащую данные GPS, и создали веб-страницу, на которой эти данные можно найти, а также применили их к карте, чтобы вы могли видеть, где находился автомобиль. Посетите Joerha.dk, чтобы просмотреть веб-страницу.

На блок-схеме вверху вы можете увидеть обзор технологий, которые использовались в этом проекте. Чтобы получить максимальную отдачу от этого руководства, вам необходимо знать некоторые, если не все, используемые технологии. Он связан в соответствии с использованием. Понимание Github также поможет, поскольку мы связались с нашими репозиториями github.

Список утилит:

  • Github
  • Малина PI / Raspbian

    Python

  • Node.js

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

    Бутстрап

Шаг 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 (объектно-реляционное сопоставление). Здесь также создаются «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, таблицу данных, видео автомобиля в действии и ссылку на эту самую страницу.

Карта гугла самая интересная. Карта загружается через API Google, куда вставляется уникальный ключ API для работы. Данные передаются на карту с интервалом 500 мс. Мы создали функцию, в которой последние 100 точек данных в базе данных отображаются в виде маркеров, чтобы вы могли следить за тем, где находился автомобиль. Это делается с помощью так называемого вызова AJAX.

Таким же образом запрашиваются наборы данных в таблице данных GPS. В таблице вы можете увидеть последние 10 записей, обновляемых в реальном времени, когда GPS активен. Мы извлекаем данные из базы данных с интервалом 500 мс.

Код можно найти здесь: Github

Рекомендуемые: