• I






      
           

Научно-популярный образовательный ресурс для юных и начинающих радиолюбителей - Popular science educational resource for young and novice hams

Основы электричества, учебные материалы и опыт профессионалов - Basics of electricity, educational materials and professional experience

КОНКУРС
language
 
Поиск junradio

Радиодетали
ОК
Сервисы

Stock Images
Покупка - продажа
Фото и изображений


 
Выгодный обмен
электронных валют

Друзья JR



JUNIOR RADIO

 

GPS-трекер с Arduino MKR FOX 1200

 

В трекере используется GPS-модуль ATGM332 для определения местоположения по GPS с большей точностью, чем в службах определения местоположения, предоставляемых Sigfox. Затем данные о местоположении отправляются в виде «строки» через сеть Sigfox и, наконец, доставляются по электронной почте.

 

Ардуино 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 мА на вывод ввода / вывода. Я использую NPN-транзистор BC548 для переключения между областями насыщения и отсечки. Когда нулевой сигнал подается на базу транзистора, он выключается, действуя как разомкнутый переключатель, и ток коллектора не течет. При подаче положительного сигнала на базу транзистора он включается, действуя как замкнутый переключатель, и через устройство протекает максимальный ток цепи.

Подключения

Единственный источник питания - это два батарейных блока AA 1,5 В, которые питают Arduino MKR FOX 1200. Модуль GPS получает питание от платы Arduino. Arduino MKR FOX 1200 обменивается данными с модулем GPS, используя второй последовательный порт через контакты 13 и 14, которые в коде называются Serial1. (См. Https://www.arduino.cc/en/Tutorial/SamdSercom). Выход данных TX модуля GPS подключен к входу последовательных данных (контакт 13) платы Arduino. Кроме того, плата Arduino использует PIN2 для включения и выключения модуля GPS, как это объясняется.

Отправка информации GPS через Sigfox Я хотел отправить информацию GPS, используя данные типа float, но когда я пытался, я всегда получал нулевые значения. Поискав в сети, я наткнулся на этот проект https://github.com/nicolsc/SmartEverything_SigFox_GPS Николаса Лесконнека. Он использует AT-команды для отправки любого типа данных и преобразования «с плавающей точкой» в «шестнадцатеричный». Однако я думаю, что у Arduino MKR FOX 1200 нет режима AT, и я не мог заставить его работать. Итак, я провел десятки тестов и, изменив код Николаса, я нашел способ отправить «строку», которая была проанализирована как «float: 32» платформой Sigfox, и ее можно было использовать напрямую без какого-либо преобразования с помощью последний приемник.

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

Широта, число с плавающей запятой: 32тип, 4 байта.

Долгота, число с плавающей запятой: 32тип, 4 байта.

Высота, float: 32type, 4 байта.

Конфигурация обратного вызова Sigfox

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

lat::float:32lng::float:32 alt::float:32

Вы получите электронное письмо следующего содержания:

Чтобы легко увидеть позицию, я включил URL-адрес Google Maps, используя полученную информацию: https://maps.google.com/maps/?q={customData#lat}, {customData # lng}

И, наконец, вот результат:

Код скачать

 

 

 

 

 




Необходимо добавить материалы...
Результат опроса Результаты Все опросы нашего сайта Архив опросов
Всего голосовало: 373



          

Радио для всех© 2024