Автомобильная система GPS-слежения и уведомление о превышении скорости - Своими руками
Своими руками

Автомобильная система GPS-слежения и уведомление о превышении скорости

>

Этот проект заключается в изготовлении системы, которая может отслеживать положение и скорость транспортного средства во время движения, когда скорость автомобиля достигает заданного значения. Система использует сеть Wi-Fi для доступа к Интернету (это может быть реализовано с помощью портативного устройства Wi-Fi или точкой доступа телефона водителя).

Система удобна, портативна и имеет низкое энергопотребление. Изначально владелец автомобиля подключает устройство к USB-порту автомобиля для подачи питания. После получения системой данных GPS система автоматически подключается к WIFI. Затем подключается к серверу Blynk и отправляет данные об автомобиле пользователю. Владелец автомобиля постоянно отслеживает положение и скорость автомобиля через приложение. Если автомобиль превысит установленный предел, приложение Blynk отправит уведомление на смартфон владельца. Система имеет хорошую точность позиционирования и очень хорошее измерение скорости.

По замыслу мастера таким устройством GPS-слежения и уведомление о превышении скорости могут заинтересоваться, например, родители, беспокоящиеся о своих детях. Это устройство позволит им всегда знать, где они находятся и с какой скоростью водят автомобиль.
Инструменты и материалы:-Модуль MCU ESP8266;
-GPS-модуль GY NEO 06;
-Пластиковый корпус;
-Разъем питания USB;
-Переключатель;
Шаг первый: принцип работы
Когда модуль GPS мигает красным, это означает, что есть сопряжение со спутниками (это может занять некоторое время, в зависимости от погоды и местоположения). Затем данные собираются MCU, отправляются на сервер Blynk и, в конечном итоге, в учетную запись пользователя. Пользователь может отслеживать положение и скорость транспортного средства с помощью карты. Как только скорость автомобиля превысит установленную в коде скорость, в пользовательское приложение Blynk отправляется уведомление. На фотографиях показана установка и макет страницы приложения. Система была подключена к точке доступа смартфона.
Автомобильная система GPS-слежения и уведомление о превышении скоростиАвтомобильная система GPS-слежения и уведомление о превышении скоростиАвтомобильная система GPS-слежения и уведомление о превышении скоростиШаг второй: схема
Устройство состоит из трех основных элементов: узла MCU esp8266, модуля GPS и блока питания. Блок питания обеспечивает питание 5 В для обоих блоков. Вход 5 В в Node MCU подключен к Vo, а земля к контакту заземления. GPS-модуль Vcc и Grd подключены к Node MCU grd. Передатчик GPS подключается к D2, а Rx – к D1. На блок-схеме показаны соединения между блоками.
Автомобильная система GPS-слежения и уведомление о превышении скоростиВсе устройство мастер установил пластиковый кейс.

Шаг третий: кодирование
Кодирование выполняется с помощью Arduino IDE. В среде IDE нужно установить модуль MCU ESP8266, а затем загрузить код. В коде необходимо указать имя, пароль WIFI и ключ аутентификации Blynk. Так же необходимо установить библиотеки указанные в коде.
В настоящее время система настроена так, чтобы уведомлять, когда скорость достигает 80 км / ч и выше. Также не забудьте загрузить библиотеки, указанные во включаемых функциях.
Код можно скачать ниже.
Автомобильная система GPS-слежения и уведомление о превышении скорости Показать / Скрыть текст#include <TinyGPS++.h>

#include <SoftwareSerial.h>

#define BLYNK_PRINT Serial

#include <ESP8266WiFi.h>

#include <BlynkSimpleEsp8266.h>

static const int RXPin = 4, TXPin = 5; // GPIO 4=D2(connect Tx of GPS) and GPIO 5=D1(Connect Rx of GPS

static const uint32_t GPSBaud = 9600;

TinyGPSPlus gps; // The TinyGPS++ object

WidgetMap myMap(V0); // V0 for virtual pin of Map Widget

SoftwareSerial ss(RXPin, TXPin); // The serial connection to the GPS device

BlynkTimer timer;

float spd; //Variable to store the speed

float sats; //Variable to store no. of satellites response

String bearing; //Variable to store orientation or direction of GPS

char auth[] = "XXXXXXXXXXXXXXX"; //Your Project authentication key

char ssid[] = "XXXXXX"; // Name of your network

char pass[] = "XXXXXXX";// Password

//unsigned int move_index; // moving index, to be used later

unsigned int move_index = 1; // fixed location for now

void setup()

{

Serial.begin(115200);

Serial.println();

ss.begin(GPSBaud);

Blynk.begin(auth, ssid, pass);

timer.setInterval(5000L, checkGPS); // every 5s check if GPS is connected, only really needs to be done once

}

void checkGPS(){

if (gps.charsProcessed() < 10)

{

Serial.println(F("No GPS detected: check wiring."));

Blynk.virtualWrite(V4, "GPS ERROR"); // Value Display widget on V4 if GPS not detected

}

}

void loop()

{

while (ss.available() > 0)

{

// sketch displays information every time a new sentence is correctly encoded.

if (gps.encode(ss.read()))

displayInfo();

}

Blynk.run();

timer.run();

}

void displayInfo()

{

if (gps.location.isValid() )

{

float latitude = (gps.location.lat()); //Storing the Lat. and Lon.

float longitude = (gps.location.lng());

Serial.print("LAT: ");

Serial.println(latitude, 6); // float to x decimal places

Serial.print("LONG: ");

Serial.println(longitude, 6);

Blynk.virtualWrite(V1, String(latitude, 6));

Blynk.virtualWrite(V2, String(longitude, 6));

myMap.location(move_index, latitude, longitude, "GPS_Location");

spd = gps.speed.kmph(); //get speed

if (spd>=80) // if the speed is measured is equal or greater than 80 km

{ Blynk.notify("Alert: CAR over speed"); // send this notification to blynk

}

Blynk.virtualWrite(V3, spd); // this is virtual to pair with blynk APP

sats = gps.satellites.value(); //get number of satellites

Blynk.virtualWrite(V4, sats); // this is virtual to pair with blynk APP

bearing = TinyGPSPlus::cardinal(gps.course.value()); // get the direction

Blynk.virtualWrite(V5, bearing); // this is virtual to pair with blynk APP

Serial.println();

}}Шаг четвертый: настройка Blynk
После загрузки кода в Node MUC нужно открыть приложение Blynk, создать новый проект, выбрать устройство “Node MCU” и дать название проекту. После этого в рабочее пространство необходимо добавьте следующие виджеты (фотографии последовательно объясняют процесс):
-Выбираем MAP, затем устанавливаем виртуальный вывод V0 в качестве входа и включаем обе опции.
-Для широты выбираем отображаемое имя LAT, выбираем виртуальный контакт V1 и обновление каждую секунду.
-Для долготы выбираем отображаемое имя LON, выбираем виртуальный контакт V2 и обновление каждую секунду.
-Для скорости выбираем “Датчик”, выбираем вход как виртуальный контакт V3 и устанавливаем скорость срабатывания, а также максимальную скорость как 240 км.
-Количество спутников, привязанных к вашей системе, можно просмотреть с помощью дисплея значений. Устанавливаем V4 в качестве ввода и обновление каждую секунду.
-Добавляем виджет уведомлений.
При этом можно настроить рабочее пространство по своему усмотрению, но параметры, которые не следует изменять, – это входы виртуальных контактов, поскольку они являются частью кода.
Автомобильная система GPS-слежения и уведомление о превышении скоростиАвтомобильная система GPS-слежения и уведомление о превышении скоростиАвтомобильная система GPS-слежения и уведомление о превышении скоростиАвтомобильная система GPS-слежения и уведомление о превышении скоростиАвтомобильная система GPS-слежения и уведомление о превышении скоростиАвтомобильная система GPS-слежения и уведомление о превышении скоростиВсе готово. Как видим устройство не сложное в сборке и настройки, а на выходе мы получаем полезное устройство, которое можно использовать не только, как предполагает мастер, но и для отслеживания параметров коммерческого транспорта.

SitesReady

Только те, кто предпринимают абсурдные попытки, смогут достичь невозможного. - Альберт Эйнштейн

Follow us

Don't be shy, get in touch. We love meeting interesting people and making new friends.