Как сделать gps трекер на ардуино

Нам понравилась последнее время плата Arduino MKRFOX1200, так что мы даже опубликовали большой материал про саму плату и урок «Умный физический почтовый ящик, который отправляет e-mail».

Сегодня мы сделаем GPS Tracker на основе Arduino MKR FOX 1200, который отправляет точный GPS-данные через сеть Sigfox.

Это становится еще актуальней для многих стран в связи усилением контроля за любыми ввозимыми техническими устройствами, а особенно связанными с GPS.

Набор деталей для этого урока не велик:

  • Arduino MKR Fox 1200 × 1
  • Модуль GPS (на выбор, но мы использовали реплику ublox NEO6m (ATGM332D) × 1
  • Транзистор общего назначения NPN (мы использовали BC548) × 1
  • Резистор 1 кОм × 1

Arduino MKR FOX 1200

Плата похожа на Arduino Zero, которая основана на SAM D21 и включает модуль ATA8520 Sigfox. Это плата с низким энергопотреблением, которая поставляется вместе с платой с бесплатной подпиской на один год в сеть Sigfox (до 140 сообщений в день), а также бесплатным доступом к службе геолокации Spot’it.

GPS-модуль ATGM332

Этот недорогой маломощный GPS-модуль очень хорошо подходит для Arduino MKR FOX 1200, поскольку он работает только с 2,7 В (номинальный 3,3 В).

Первоначально должен был быть куплен модуль NEO6m2, который имеет режим ожидания, но пришлось использовать NEO6. Фактически это был модуль ATGM332. В результате у него не было режима ожидания, поэтому нужно было использовать транзистор для включения модуля GPS, когда это необходимо, и выключить его, чтобы сэкономить аккумулятор. Наша цель — иметь информацию о местоположении довольно редко, то есть 4 сообщения в час, поскольку Sigfox позволяет только 140 сообщений в день.

Мы используем библиотеку TinyGPS (https://github.com/mikalhart/TinyGPS) для декодирования кадров GPS.

Транзисторный переключатель

Нужно было включить и выключить GPS, когда это необходимо. Модули реле слишком громоздки и мощны, если нужно только переключить нагрузку 3 В и несколько миллиампер. Кроме того, для большинства модулей реле требуется 5 В. Таким образом, транзистор будет лучшим решением. Кроме того, MKR FOX 1200 обеспечивает только 7 мА на пине ввода/вывода.

Единственным источником питания являются две 1,5-вольтовых батареи AA, которые питают Arduino MKR FOX 1200. Модуль GPS получает питание от платы Arduino.

Arduino MKR FOX 1200 взаимодействует с модулем GPS, используя второй последовательный порт через контакты 13 и 14, называемые Serial1 в коде. Выход TX-данных модуля GPS подключается к последовательному входу данных (контакт 13) платы Arduino.

Кроме того, плата Arduino использует PIN2 для включения и выключения модуля GPS, как объясняется выше.

Код нашего проекта вы можете скачать или скопировать ниже:

Мы хотел отправить информацию GPS с использованием данных типа float, но когда мы попытались, то всегда получали нулевые значения.

Данные Sigfox ограничены 12 байтами. Данные, которые отправляются в сеть SigFox:

  • Широта, float: 32 типа (float:32type), 4 байта.
  • Долгота, float: 32 типа (float:32type), 4 байта.
  • Высота, float: 32 типа (float:32type), 4 байта.

Конфигурация пользовательского обратного вызова Sigfox:

Вы получите электронное письмо:

Чтобы легко видеть позицию, мы включили URL-адрес в Карты Google, используя полученную информацию:

И, наконец, результат работы нашего Arduino GPS-трекера:

В данном видео я постарался описать примерный принцип работы прототипа системы самодельного GPS трекера на базе многофункционального модуля SIM808.

Этот модуль содержит в себе сразу три устройства — GSM, GPS и Bluetooth. Что позволяет использовать его в самых различных назначениях.
В моем примере запуск определения координат и отправка на сервер происходит по нажатию кнопки, подключенной к порту A1. Думаю, ни для кого даже из начинающих не составит труда изменить этот код таким образом, чтобы данные отправлялись регулярно через определенный промежуток времени или по внешнему воздействию(например при появлении сигнала на одном из входов платы Ардуино).
Что потребуется:
Модуль — SIM808
Плата Arduino nano — переходники(5шт.)
Можно использовать вот такой вариант антенны GSM
Керамическая антенна GPS

Схема подключения крайне проста, нужно лишь подобрать источник питания напряжением 6-12В и током не менее 2-х Ампер.

В видео подробный обзор работы скетча и программ для загрузки на сервер:

Ниже привожу скетч из видео и файлы для загрузки на сервер:

Хочу представить вам GPS трекер собственной разработки.

Возможны следующие команды:
1.Настройка трекера. $0000#SETUP#111111111111111;2222#
0000 — старый пароль или пароль по умолчанию (при первой настройке).
1111111111111111 — ID устройства который задан на сервере (произвольные 15 цифр).
2222 — Новый пароль. В дальнейшем все команды должна начинаться с него. Пароль должен совпадать с тем что задан на сервере GPS мониторинга.
В ответ приходит сообщения вида: «ID-1111111111111111; PASS-2222» с новым ID и новым паролем.

2. Запрос координат. $0000#STATUS#
0000- ваш пароль.
В ответ приходит сообщения вида: «A;111111;222222;N3333.33333;E4444.44444;5;1»
«A» — Данные достоверны или «V» — данные устарели.
«111111» — время UTC.
«222222» — дата.
«N3333.33333» — широта.
«E4444.44444» — долгота.
«5» — скорость в км/ч.
«1» — питание от основного источника или «0» — питание от встроенного аккумулятора.
Если какие то данные не доступны то вместо них передается «NA».

3. Сигнал тревоги. $0000#ALARM#
В этом случае данные о местоположении передаются на сервер с интервалом 30 сек.
В ответ приходит сообщения вида: «ALARM ON»
Повторная отправка команды выключает сигнал тревоги.
В ответ приходит сообщения вида: «ALARM OFF»

4. Запрос баланса сим-карты. $0000#BALANS#
В ответ приходит сообщения вида: «Vash balans 50.01r.»

Если в любой команде будет отправлен не правильный пароль то в ответ приходит сообщения вида: «Password ERROR».

Теперь техническая часть)))
Основа: Arduino PROMINI 3.3v 8mHz

Читайте также:
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...
Adblock
detector