- GPS Tracker на ардуино своими руками
- GPS приемник
- GSM приемник/передатчик
- Сервер
- Полевые испытания
- Выводы
- Использованные устройства
- Литература
- GPS ТРЕКЕР
- Как работает GPS трекер
- Характеристики трекера А8
- Области применения устройства
- GPS Tracker в авто
- GPS Tracker для детей
- GPS Tracker для животных
- GPS Tracker для престарелых людей
- GPS Tracker для отслеживания грузов
- Как изготовить самодельный gps трекер?
- Применение
- GPS трекер из смартфона
GPS Tracker на ардуино своими руками
После нескольких экспериментов с ардуиной решил сделать простенький и не очень дорогой GPS-tracker с отправкой координат по GPRS на сервер.
Используется Arduino Mega 2560 (Arduino Uno), SIM900 — GSM/GPRS модуль (для отправки информации на сервер), GPS приёмник SKM53 GPS.
Всё закуплено на ebay.com, в сумме около 1500 р (примерно 500р ардуина, немного меньше — GSM модуль, немного больше — GPS).
GPS приемник
Для начала нужно разобраться с работой с GPS. Выбранный модуль — один из самых дешевых и простых. Тем не менее, производитель обещает наличие батарейки для сохранения данных о спутниках. По даташиту, холодный старт должен занимать 36 секунд, однако, в моих условиях (10 этаж с подоконника, вплотную зданий нет) это заняло аж 20 минут. Следующий старт, однако, уже 2 минуты.
Важный параметр устройств, подключаемых к ардуине — энергопотребление. Если перегрузить преобразователь ардуины, она может сгореть. Для используемого приемника максимальное энергопотребление — 45mA @ 3.3v. Зачем в спецификации указывать силу тока на напряжении, отличном от требуемого (5V), для меня загадка. Тем не менее, 45 mA преобразователь ардуины выдержит.
Подключение
GPS не управляемый, хотя и имеет RX пин. Для чего — неизвестно. Основное, что можно делать с этим приемником — читать данные по протоколу NMEA с TX пина. Уровни — 5V, как раз для ардуины, скорость — 9600 бод. Подключаю VIN в VCC ардуины, GND в GND, TX в RX соответствующего serial. Читаю данные сначала вручную, затем с использованием библиотеки TinyGPS. На удивление, всё читается. После перехода на Uno пришлось использовать SoftwareSerial, и тут начались проблемы — теряется часть символов сообщения. Это не очень критично, так как TinyGPS отсекает невалидные сообщения, но довольно неприятно: о частоте в 1Гц можно забыть.
Небольшое замечание относительно SoftwareSerial: на Uno нет хардверных портов (кроме соединённого с USB Serial), поэтому приходится использовать программный. Так вот, он может принимать данные только на пине, на котором плата поддерживает прерывания. В случае Uno это 2 и 3. Мало того, данные одновременно может получать только один такой порт.
Вот так выглядит «тестовый стенд».
GSM приемник/передатчик
Теперь начинается более интересная часть. GSM модуль — SIM900. Он поддерживает GSM и GPRS. Ни EDGE, ни уж тем более 3G, не поддерживаются. Для передачи данных о координатах это, вероятно, хорошо — не будет задержек и проблем при переключении между режимами, плюс GPRS сейчас есть почти везде. Однако, для каких-то более сложных приложений этого уже может не хватить.
Подключение
Модуль управляется также по последовательному порту, с тем же уровнем — 5V. И здесь нам уже понадобятся и RX, и TX. Модуль — shield, то есть, он устанавливается на ардуину. Причем совместим как с mega, так и с uno. Скорость по умолчанию — 115200.
Собираем на Mega, и тут нас ждет первый неприятный сюрприз: TX пин модуля попадает на 7й пин меги. На 7м пину меги недоступны прерывания, а значит, придется соединить 7й пин, скажем, с 6м, на котором прерывания возможны. Таким образом, потратим один пин ардуины впустую. Ну, для меги это не очень страшно — всё-таки пинов хватает. А вот для Uno это уже сложнее (напоминаю, там всего 2 пина, поддерживающих прерывания — 2 и 3). В качестве решения этой проблемы можно предложить не устанавливать модуль на ардуину, а соединить его проводами. Тогда можно использовать Serial1.
После подключения пытаемся «поговорить» с модулем (не забываем его включить). Выбираем скорость порта — 115200, при этом хорошо, если все встроенные последовательные порты (4 на меге, 1 на uno) и все программные работают на одной скорости. Так можно добиться более устойчивой передачи данных. Почему — не знаю, хотя и догадываюсь.
Итак, пишем примитивный код для проброса данных между последовательными портами, отправляем atz, в ответ тишина. Что такое? А, case sensitive. ATZ, получаем OK. Ура, модуль нас слышит. А не позвонить ли нам ради интереса? ATD +7499… Звонит городской телефон, из ардуины идет дымок, ноутбук вырубается. Сгорел преобразователь Arduino. Было плохой идеей кормить его 19 вольтами, хотя и написано, что он может работать от 6 до 20V, рекомендуют 7-12V. В даташите на GSM модуль нигде не сказано о потребляемой мощности под нагрузкой. Ну что ж, Mega отправляется в склад запчастей. С замиранием сердца включаю ноутбук, получивший +19V по +5V линии от USB. Работает, и даже USB не выгорели. Спасибо Lenovo за защиту.
После выгорания преобразователя я поискал потребляемый ток. Так вот, пиковый — 2А, типичный — 0.5А. Такое явно не под силу преобразователю ардуины. Нужно отдельное питание.
Программирование
Модуль предоставляет широкие возможности передачи данных. Начиная от голосовых вызовов и SMS и заканчивая, собственно, GPRS. Причем для последнего есть возможность выполнить HTTP запрос при помощи AT команд. Придется отправить несколько, но это того стоит: формировать запрос вручную не очень-то хочется. Есть пара нюансов с открытием канала передачи данных по GPRS — помните классические AT+CGDCONT=1,«IP»,«apn»? Так вот, тут то же самое нужно, но слегка хитрее.
Для получения страницы по определенному URL нужно послать следующие команды:
В результате, при наличии соединения, получим ответ от сервера. То есть, фактически, мы уже умеем отправлять данные о координатах, если сервер принимает их по GET.
Питание
Поскольку питать GSM модуль от преобразователя Arduino, как я выяснил, плохая идея, было решено купить преобразователь 12v->5v, 3A, на том же ebay. Однако, модулю не нравится питание в 5V. Идем на хак: подключаем 5V в пин, с которого приходит 5V от ардуины. Тогда встроенный преобразователь модуля (существенно мощнее преобразователя ардуины, MIC 29302WU) сделает из 5V то, что нужно модулю.
Сервер
Сервер написал примитивный — хранение координат и рисование на Яндекс.картах. В дальнейшем возможно добавление разных фич, включая поддержку многих пользователей, статус «на охране/не на охране», состояние систем автомобиля (зажигание, фары и пр.), возможно даже управление системами автомобиля. Конечно, с соответствующей поддержкой трекера, плавно превращающегося в полновесную сигнализацию.
Полевые испытания
Вот так выглядит собранный девайс, без корпуса:
После установки преобразователя питания и укладывания в корпус от дохлого DSL модема система выглядит так:
Припаивал провода, вынул несколько контактов из колодок ардуины. Выглядят так:
Подключил 12V в машине, проехался по Москве, получил трек:
Точки трека достаточно далеко друг от друга. Причина в том, что отправка данных по GPRS занимает относительно много времени, и в это время координаты не считываются. Это явная ошибка программирования. Лечится во-первых, отправкой сразу пачки координат со временем, во-вторых, асинхронной работой с GPRS модулем.
Время поиска спутников на пассажирском сидении автомобиля — пара минут.
Выводы
Создание GPS трекера на ардуино своими руками возможно, хотя и не является тривиальной задачей. Главный вопрос сейчас — как спрятать устройство в машине так, чтобы оно не подвергалось воздействиям вредных факторов (вода, температура), не было закрыто металлом (GPS и GPRS будут экранироваться) и не было особенно заметно. Пока просто лежит в салоне и подключается к гнезду прикуривателя.
Ну и ещё нужно поправить код для более плавного трека, хотя основную задачу трекер и так выполняет.
Использованные устройства
- Arduino Mega 2560 [compatible]
- Arduino Uno [compatible]
- GPS SkyLab SKM53
- SIM900 based GSM/GPRS Shield
- DC-DC 12v->5v 3A converter
Литература
Публикующийся код может быть использован в любых разрешенных законом целях любыми лицами. Качество кода ужасно, поскольку это, всё же, тестовый вариант. Когда допишу до чего-то более красивого, обновлю.
Для компиляции кода для ардуино нужно импортировать библиотеку tinygps.
Источник
GPS ТРЕКЕР
На нашем сайте неоднократно поднималась тема различных самодельных и китайских gps трекеров — мобильных систем отслеживания местоположения объектов, на которых размещено данное миниатюрное устройство. Часто обращались с вопросом — «где можно купить эту штуку?» А недавно оно попалось на глаза уже в свободной продаже по России, так что вот для всех желающих ссылка на магазин.
Как работает GPS трекер
После того как в него будет помещена сим-карта, можно позвонить с любого мобильного на устройство. Получив доступ вы сможете прослушивать все, что происходит возле трекера в радиусе нескольких метров. После того как вы активируете устройство и пропишите к нему свой мобильный телефон вы сможете отправлять SMS сообщения на трекер с определенными командами, которые позволят вам получить координаты объекта и даже ссылку на карту, на которой будет указано точное положение объекта.
С помощью GSM трекера вы всегда будете знать о местонахождении ребенка – он всегда будет под контролем, при этом абсолютно не догадываясь об этом.
Характеристики трекера А8
- Название модели: mini A8 GPS Tracker
- Мощность аккумулятора: 500mAh
- Напряжение: 5V Li-Ion
- Рабочая частота: GSM850/900/1800/1900MHz
- Режим ожидания: 12 дней
- Производитель: Гонконг
- Размер: 43х33х13 мм
Области применения устройства
GPS Tracker в авто
Если его спрятать в машине, то можно в любое время знать, где машина находится, и даже в случае угона будет преимущество в быстром поиске.
GPS Tracker для детей
Дети часто гуляют по городу, и забыв вернуться домой во время, остаются поиграть у друзей или где ещё. А с этим девайсом всегда можно по карте проверить местоположение — это хорошо повышает безопасность.
GPS Tracker для животных
Собака или кот на прогулке может убежать и потеряться. И если на ошейник закрепить этого маленького шпиона, то поиск беглеца превратится в быстрое и увлекательное занятие))
GPS Tracker для престарелых людей
Стариков с плохой памятью совсем не выпускать из дома – не вариант, а постоянно ходить с ними нет возможности. Поэтому данный трекер имеет смысл положить им в карман или сумку, чтоб в любое время отследить их координаты.
GPS Tracker для отслеживания грузов
Отправляя ящики, коробки, контейнеры и другие ценные грузы — будет совсем не лишним спрятать внутри такое устройство, или даже несколько. Теперь в любой момент будет ясно где что находится и не отклонился ли водитель от маршрута.
В общем такой миниатюрный и лёгкий прибор пригодится во многих ситуациях, а стоимость его составляет примерно 3000 рублей, что в принципе совсем не дорого.
Форум по обсуждению материала GPS ТРЕКЕР
Увеличение мощности интегральных усилителей транзисторами. Рассматривается на примере схем LM3886 и TDA7294.
Схема гитарного комбо-усилителя с блоком эффектов на базе микросхем TDA2052, PT2399 и TL072.
Самодельный светодиодный драйвер для фотосъёмки с возможностью переключения цветовой температуры.
Источник
Как изготовить самодельный gps трекер?
Система навигации прочно вошла в нашу жизнь. Все современные автомобили оборудованы gps-трекером, позволяющим быстро и точно определять координаты в любой момент времени. Качественные модели стоят достаточно дорого, поэтому умельцы используют самодельный gps трекер. Существует несколько вариантов, как его сделать.
Применение
Автомобильные отслеживающие устройства бывают двух типов: стационарные и портативные. Стационарные устанавливаются непосредственно на заводе и включены в электронную систему автомобиля, а портативные устанавливаются самостоятельно владельцем.
Главной задачей gps трекера является защита авто, а значит устанавливаться он должен так, чтобы максимально обезопасить устройство от нахождения. Можно разместить gps-трекер в любом месте салона. Установка снаружи подразумевает дополнительную внешнюю защиту прибора.
Помимо определения местоположения трекер имеет ряд других функций, например, контроль работы двигателя – блокировка в случае угона, или осуществление прослушки салона авто. Различные модели могут замыкать работу электроники, бензонасоса и других систем.
Портативные модели схожи по своему устройству, они представляют небольшой блок с разъемом для питания, гнездом для sim-карты и антеннами. Управление происходит при помощи sms-команд с телефона или другого гаджета.
Самый простой способ стать владельцем устройства – это сделать самодельный gps трекер из смартфона или обычного телефона. Прибор будет не хуже покупного.
Принцип работы прибора похож на работу черного ящика самолета, он фиксирует весь пройденный путь, расход топлива и некоторые другие данные. В начале движения автомобиля прибор автоматически включается и моментально сообщает владельцу об изменении положения транспортного средства.
Достойные модели нередко стоят очень дорого, а простые отличаются сомнительным качеством, если нет необходимости в навороченном оборудовании можно сделать трекер самостоятельно.
GPS трекер из смартфона
Смартфоны имеют встроенный gps-модуль, который используется как трекер. Сделать это очень просто. При помощи приложения Loki(для Android) в личном кабинете требуется настроить все данные, касающиеся объекта наблюдения. Важно проверить настройки даты и времени для точности работы.
Рекомендуется активировать следующие функции, корректирующие работу gps трекера и телефона:
- интервал отправки сообщений;
- автозапуск устройства;
- использование внешних источников питания;
- уведомления.
Когда сервер для gps трекера периодически становится недоступен, приложение автоматически начинает отсылать через равные промежутки времени сообщения, для установления связи.
Источник