- Компоненти, необхідні для системи відстеження транспортних засобів на базі Arduino:
- Як можна використовувати GSM-модуль для відстеження місцезнаходження:
- Пояснення схеми для взаємодії GSM і GPS з Arduino:
- Система відстеження транспортних засобів на базі GSM та GPS за допомогою Arduino - працює
- GAM та GPS взаємодія з кодом Arduino для відстеження місцезнаходження автомобіля
Системи відстеження транспортних засобів дуже часто використовуються в системах управління автопарками та відстеження активів. Сьогодні ці системи можуть не тільки відстежувати місце розташування автомобіля, але й повідомляти про швидкість і навіть дистанційно керувати ним. Загалом, відстеження транспортних засобів - це процес, при якому ми відстежуємо місцезнаходження транспортного засобу у формі широти та довготи (координати GPS). Координати GPS - це значення місця. Ця система є дуже ефективною для зовнішнього застосування. Цей проект проекту відстеження транспортних засобів широко відслідковує кабіни / таксі, викрадені транспортні засоби, шкільні автобуси тощо. У цьому проекті ми йдемо на крок вперед, коли GPS створює систему відстеження транспортних засобів на основі GSM та GPS за допомогою Arduino. Ця система відстеження транспортних засобів також може бути використана для відстежувати транспортний засіб за допомогою GPS та GSM, а також може використовуватися як система сповіщення про аварії, система відстеження солдатів та багато іншого, просто зробивши невеликі зміни в апаратному та програмному забезпеченні.
Ми також раніше побудували багато інших типів систем відстеження транспортних засобів, ви можете перевірити їх, якщо зацікавлені
- GPS відстеження транспортних засобів та попередження про аварії за допомогою Arduino
- Відстеження транспортних засобів на Картах Google за допомогою Arduino та ESP8266
- GPS відстеження транспортних засобів та попередження про аварії за допомогою MSP430
- GPS відстеження автомобілів на основі LoRa за допомогою Arduino
- Відстежувач місцезнаходжень без GPS за допомогою SIM800 та Arduino
Компоненти, необхідні для системи відстеження транспортних засобів на базі Arduino:
Для побудови простої системи відстеження транспортних засобів, яка подає позов проти Arduino, нам знадобляться наступні компоненти.
- Arduino UNO
- Модуль GSM
- Модуль GPS
- РК-дисплей 16x2
- Блок живлення
- Підключення проводів
- 10 КОШОК
Як можна використовувати GSM-модуль для відстеження місцезнаходження:
GPS розшифровується як система глобального позиціонування і використовується для виявлення широти та довготи будь-якого місця на Землі з точним часом UTC (координований за універсальним часом). Модуль GPS є головним компонентом проекту нашої системи відстеження транспортних засобів. Цей пристрій отримує координати від супутника щосекунди з часом та датою.
Модуль GPS надсилає дані, пов’язані з позицією відстеження, в режимі реального часу, і надсилає стільки даних у форматі NMEA (див. Знімок екрана нижче). Формат NMEA складається з декількох речень, у яких нам потрібне лише одне речення. Це речення починається з $ GPGGA і містить координати, час та іншу корисну інформацію. Цей GPGGA називається даними виправлення глобальної системи позиціонування. Дізнайтеся більше про читання даних GPS та їх рядків тут.
Ми можемо витягти координату з рядка $ GPGGA, підрахувавши коми у рядку. Припустимо, ви знайшли рядок $ GPGGA і зберегли його в масиві, тоді Latitude можна знайти після двох коми, а Longitude - після чотирьох коми. Тепер ці широту та довготу можна помістити в інші масиви.
Нижче наведено рядок $ GPGGA разом з описом:
$ GPGGA, 104534.000,7791.0381, N, 06727.4434, E, 1,08,0.9,510.4, M, 43.9, M,, * 47
$ GPGGA, HHMMSS.SSS, широта, N, довгота, E, FQ, NOS, HDP, висота, M, висота, M,, дані контрольної суми
Ідентифікатор |
Опис |
$ GPGGA |
Дані виправлення системи глобального позиціонування |
HHMMSS.SSS |
Час у форматі години хвилини секунд та мілісекунд. |
Широта |
Широта (координата) |
N |
Напрямок N = Північ, S = Південь |
Довгота |
Довгота (координата) |
Е |
Напрямок E = Схід, W = Захід |
FQ |
Виправте дані про якість |
NOS |
Кількість використовуваних супутників |
HPD |
Горизонтальне розведення точності |
Висота над рівнем моря |
Висота над рівнем моря |
М |
Метр |
Висота |
Висота |
Контрольна сума |
Дані контрольної суми |
Пояснення схеми для взаємодії GSM і GPS з Arduino:
Схемотехнічні з'єднання цього проекту системи відстеження транспортних засобів прості і показані на зображенні нижче. Тут штекер Tx модуля GPS безпосередньо підключений до цифрового штифта № 10 Arduino. Застосувавши тут послідовну бібліотеку програмного забезпечення, ми дозволили послідовний зв’язок на виводах 10 та 11, зробили їх відповідно Rx та Tx, а штифт Rx модуля GPS залишили відкритим. За замовчуванням для послідовного зв'язку використовуються виводи 0 та 1 Arduino, але, використовуючи бібліотеку SoftwareSerial, ми можемо дозволити послідовний зв’язок на інших цифрових контактах Arduino. Для живлення модуля GPS використовується джерело живлення 12 Вольт.
Виводи Tx і Rx модуля GSM безпосередньо підключені до виводів Rx і Tx Arduino. Модуль GSM також живиться від джерела живлення 12 В. Необов'язкові штифти даних D4, D5, D6 і D7 на РК-дисплеї підключені до контактів 5, 4, 3 і 2 Arduino. Командний штифт RS і EN РК-дисплея з'єднані з контактами No 2 і 3 Arduino, а штифт RW безпосередньо з'єднаний із землею. Потенціометр також використовується для налаштування контрастності або яскравості РК-дисплея.
Система відстеження транспортних засобів на базі GSM та GPS за допомогою Arduino - працює
У цьому проекті Arduino використовується для контролю всього процесу за допомогою GPS-приймача та модуля GSM. GPS-приймач використовується для виявлення координат автомобіля, модуль GSM - для відправки координат користувачеві за допомогою SMS. А додатковий РК-дисплей 16x2 також використовується для відображення повідомлень про стан або координат. Ми використовували GPS-модуль SKG13BL та GSM-модуль SIM900A.
Коли ми готові до нашого обладнання після програмування, ми можемо встановити його в наш автомобіль і включити його. Тоді нам просто потрібно надіслати SMS-повідомлення «Відстежувати транспортний засіб» до системи, яка розміщена в нашому транспортному засобі. Ми також можемо використовувати деякий префікс (#) або суфікс (*), наприклад #Track Vehicle *, щоб правильно визначити початок і кінець рядка, як це було зроблено в цих проектах: Домашня автоматизація на базі GSM та бездротова дошка оголошень
Надіслане повідомлення приймається модулем GSM, який підключений до системи і відправляє дані повідомлення в Arduino. Arduino читає його та витягує основне повідомлення з усього повідомлення. А потім порівняйте його з попередньо визначеним повідомленням в Arduino. Якщо якесь збіг відбувається, Arduino зчитує координати, витягуючи $ GPGGA String із даних модуля GPS (GPS працює, як описано вище), і надсилає його користувачеві за допомогою модуля GSM. Це повідомлення містить координати місця розташування транспортного засобу.
GAM та GPS взаємодія з кодом Arduino для відстеження місцезнаходження автомобіля
Спочатку в програмувальну частину ми включаємо бібліотеки та визначаємо штифти для послідовного зв'язку РК та програмного забезпечення. Також визначте деяку змінну з масивами для зберігання даних. Програмна послідовна бібліотека використовується для забезпечення послідовного зв'язку на виводах 10 і 11.
#включати
Тут масив str використовується для зберігання отриманого повідомлення від модуля GSM, а gpsString - для зберігання рядка GPS. char * test = ”$ GPGGA” використовується для порівняння потрібного рядка, який нам потрібен для координат.
Після цього ми ініціалізували послідовний зв’язок, РК-дисплей, модуль GSM та GPS у функції налаштування та показали привітальне повідомлення на РК-дисплеї.
void setup () {lcd.begin (16,2); Serial.begin (9600); gps.begin (9600); lcd.print ("Відстеження транспортних засобів"); lcd.setCursor (0,1);……………
Функція циклу отримує повідомлення та рядок GPS.
недійсний цикл () {serialEvent (); if (temp) {get_gps (); відстеження (); }}
Функції void init_sms та void send_sms () використовуються для ініціалізації та надсилання повідомлення. Використовуйте належний 10-значний номер стільникового телефону у функції init_sms .
Функція void get_gps () була використана для вилучення координат з отриманого рядка.
Функція void gpsEvent () використовується для прийому даних GPS в Arduino.
Функція void serialEvent () використовується для отримання повідомлення від GSM та порівняння отриманого повідомлення з попередньо визначеним повідомленням (Track Vehicle).
void serialEvent () {while (Serial.available ()) {if (Serial.find ("Track Vehicle")) {temp = 1; перерву; }…………..
Функція ініціалізації 'gsm_init () ' використовується для ініціалізації та налаштування GSM-модуля, де спочатку GSM-модуль перевіряється, підключений він чи ні, посилаючи команду 'AT' до модуля GSM. Якщо отримано відповідь OK, це означає, що він готовий. Система продовжує перевіряти наявність модуля, поки він не стане готовим або поки не буде отримано 'OK'. Потім ECHO вимикається, надіславши команду ATE0, інакше модуль GSM повторить усі команди. Тоді нарешті перевіряється доступність мережі через "AT + CPIN?" команда, якщо вставлена картка є SIM-карткою та є PIN-код, вона дає відповідь + CPIN: ГОТОВО. Це також перевіряйте неодноразово, доки мережа не буде знайдена. Це можна чітко зрозуміти з відео нижче.
Перевірте всі вищезазначені функції в Розділі коду нижче.