Оглавление:
Видео: EAL - Сбор данных GPS в соответствии с Индустрией 4.0 на радиоуправляемом автомобиле: 4 шага
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:49
В этом руководстве мы поговорим о том, как мы устанавливаем модуль 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 построен на 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 и отправляет их в 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
Рекомендуемые:
Как сделать регистратор данных влажности и температуры в реальном времени с Arduino UNO и SD-картой - Моделирование регистратора данных DHT11 в Proteus: 5 шагов
Как сделать регистратор данных влажности и температуры в реальном времени с Arduino UNO и SD-картой | Моделирование регистратора данных DHT11 в Proteus: Введение: привет, это Liono Maker, вот ссылка на YouTube. Мы делаем творческий проект с Arduino и работаем над встраиваемыми системами. Регистратор данных: Регистратор данных (также регистратор данных или регистратор данных) - это электронное устройство, которое записывает данные с течением времени
Основы полетов на радиоуправляемом самолете: 13 шагов
Основы полетов на радиоуправляемом самолете: Привет всем, сегодня мы рассмотрим основы того, как управлять самолетом на радиоуправлении на симуляторе и предотвратить падение вашей модели в полевых условиях. Некоторое время назад я объяснил, как у меня есть мой FlySky FS -i6X контроллер подключен к симулятору RC, так что теперь мы
Система защиты от алкоголя в автомобиле: 3 шага
Система защиты от алкоголя в автомобиле: в настоящее время из-за вождения в нетрезвом виде происходит множество аварий, и людям необходимо остановить вождение автомобиля после алкогольного опьянения. датчики и использовать
GPS-НАБЛЮДЕНИЕ НА ВЕЛОСИПЕДЕ ИЛИ АВТОМОБИЛЕ СО СМАРТФОНА: 9 шагов
GPS-СЛЕДЕНИЕ НА ВЕЛОСИПЕДЕ ИЛИ АВТОМОБИЛЕ С СМАРТФОНА: Привет, добро пожаловать в Creativity Buzz. Здесь я покажу вам, как вы отслеживаете свой велосипед или автомобиль. С помощью этого устройства вы можете отслеживать местоположение велосипеда в реальном времени. С помощью этого устройства вы можете отслеживать любой велосипед
Установка усилителя в автомобиле .: 4 шага
Установка усилителя в автомобиле. В этой инструкции я покажу вам, как подключить усилитель и как альтернативный способ подключения усилителя. Сейчас я еще не делал этого в своей машине, поскольку у меня нет лицензии, поэтому я зачем ставил это в машине, если я не слышу? но я устроил его в м