Как настроить смартфоны и ПК. Информационный портал
  • Главная
  • Новости
  • Как сделать GPS-маячок для слежения за человеком и авто? Регистрируем, настраиваем и устанавливаем GPS GSM маяк своими руками.

Как сделать GPS-маячок для слежения за человеком и авто? Регистрируем, настраиваем и устанавливаем GPS GSM маяк своими руками.

Это уже вторая версия трекера. Первый позволял отслеживать объект только посредством СМС. Что, сами понимаете, не совсем удобно. Поэтому было принято решение создать вторую версию, но уже для работы с сервисами GPS-мониторинга. Не все задуманное еще реализовано, но основные функции уже работают.

Трекер каждую минуту отправляет данные на бесплатный сервер GPS-мониторинга по протоколу Wialon IPS v1.1: данные о местоположении, скорость, курс направления движения. Также реализована возможность настройки и запрос координат по СМС с любого номера.

Возможны следующие команды:

1. Настройка трекера:

$0000#SETUP#111111111111111;2222#

0000 - старый пароль или пароль по умолчанию (при первой настройке).
1111111111111111 - ID устройства который задан на сервере (произвольные 15 цифр).
2222 - Новый пароль. В дальнейшем все команды должна начинаться с него. Пароль должен совпадать с тем что задан на сервере GPS мониторинга.

В ответ приходит сообщение вида: «ID-1111111111111111; PASS-2222» с новым ID и новым паролем.

0000- ваш пароль.

В ответ приходит сообщение вида: «A;111111;222222;N3333.33333;E4444.44444;5;1»

«A» - Данные достоверны или «V» - данные устарели.
«111111» - время UTC.
«222222» - дата.
«N3333.33333» - широта.
«E4444.44444» - долгота.
«5» - скорость в км/ч.
«1» - питание от основного источника или «0» - питание от встроенного аккумулятора.

Если какие то данные не доступны то вместо них передается «NA».

3. Сигнал тревоги:

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

В ответ приходит сообщения вида: «Vash balans 50.01r.»

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

Теперь техническая часть.

Основа: Arduino PROMINI 3.3V 8MHz, GSM модем NEOWAY M590, GPS модуль UBLOX NEO-6M, внешняя активная антенна GPS.
Питание: DC-DC преобразователь на основе MP2307DN, контроллер заряда батареи STC4054, аккумулятор 3.7v 900mAh.

Время работы от аккумулятора 9 часов, при условии, что аккумулятор не новый.

Что касается сервера GPS-мониторинга - таких сервисов много. При желании можно работать с другим сервером, для этого в коде достаточно поменять IP-адрес и номер порта сервера. Главное, чтобы сервер поддерживал работу с протоколом Wialon IPS v1.1. Корпус сделан из ПВХ. Получился, правда, на вид не очень, но особо и не старался, все равно его будет не видно. В дальнейшем хочу добавить управление внешним устройством или каким-нибудь реле и получение каких-нибудь параметров о состоянии авто, для этого на плате предусмотрено два входа и один выход. Программно пока это не реализовано.

Затрачено было приблизительно 1500 - 2000 руб.












Все нюансы с технической и программной стороны описывать сейчас не буду. Кого заинтересует - пишите, постараюсь всем ответить. находится все необходимое: схема, исходники на СИ, hex-файл прошивки трекера (обязательно прошивать и файл для EEPROM, файл с расширением.eep), прошивка и прога для GPS, файлы ПП для Sprint-Layout, информация по протоколу Wialon IPS, и несколько фоток.

Что такое Track IR?

Одна из систем отслеживания движений головы, вышедших на массовый рынок.
Это устройство ввода, разрабатываемое компанией NaturalPoint, обеспечивает псевдо-виртуальную реальность на персональном компьютере. Оно может следить за движениями головы пользователя по координатам X, Y и Z. Полученные данные используются в программах (играх) для преобразования реальных поворотов головы в виртуальные. Например, в авиасимуляторе, игрок может осматривать кабину. Чувствительность настраивается, чтоб предотвратить такие повороты, когда пользователь не может нормально смотреть на экран."

К слову:
Track (от англ.) - отслеживать
IR - (аббрев. Infra red) - инфракарасный
Всё потому что данные для обработки полступают на компьютер через веб - камеру от инфракрасных излучателей (обычных инфрокрасных светодиодов). Далее.

Что нам потребуется?

Для того чтобы соорудить подобную штуковину необходимо:

  • Уметь пользоваться паяльником
  • 3 инфракрасных светодиода 3V (l-34sf4c)
  • Батарейка (таблетка) на 3V
  • Резистор на 51Ом
  • Отрезок провода
  • Кнопочка с фиксацией (pb22e08)
  • Подходящая Веб-Камера
  • Программа free-track
  • Фантазия
Далее о каждом пункте поподробнее:

Уметь пользоваться паяльником

- необходимо, ибо ваши старания могут превратится в мучения. В определенный момент автор столкнулся с подобными трудностями.

Паяльник и прочие принадлежности

- собственно особо мощный паяльник не нужен, 30W хватит, олово и канифоль для того чтобы места пайки были крепкими.

3 инфракрасных светодиода 3V

- продаются в магазинах радиодеталей
Добавлено: В принципе хватает и одного светодиода расположенного в центре козырька кепки, в таком случае программа будет передавать данные о перемещении всего одной точки, словно курсор мышки. В данном случае будут учитываться только X и Y координаты, т.е. наклонить голову, как и приблизить в данном случае невозможно, на мой взгляд это и не нужно, но мы попытаемся сделать, как можно более реалистичную модель.

Батарейка (таблетка) на 3V

- продается всё в тех же магазинах радиодеталей, можно купить, как отдельно саму батарейку, так и в корпусе с двумя лапками "плюс" и "минус" для удобной пайки. К корпусу самой батарейки не рекомендуется ничего припаивать - может вздуться и взорваться.

Резистор на 50Ом

-Чтобы правильно подключить светодиод даже в самом простом случае, необходимо (читай желательно) подключить его через токоограничивающий резистор.

Отрезок провода

-я использовал отрезок витой пары UTP 5e (2 жилы разного цвета из кабеля от интернета), не толстый и не тонкий, в самый раз

Кнопочка с фиксацией

- тут, как говорится на вкус и цвет фломастеры разные, можно и без кнопочки, но таким образом батарейки на долго не хватит

Подходящая Веб-Камера

- Веб-камеру которую не жалко поковырять, потому что прийдется у неё извлекать инфрокрасный светофильтр. По в низу страницы приведен перечень совместимых камер, проще, у которых светофильтр отковыривается легко и есть возможность отключить автовыдержку, ибо она влияет на FPS камеры, что в свою очередь влияет на плавность движения головой (необходимо 30 FPS)

Про веб - камеру

Самое главное чтобы была возможность извлечь из веб - камеры инфракрасный светофильтр и отключить автовыдержку, чтобы увеличить FPS - всё.
Перечень совместимых камер можно прочитьать на сайте разработчика программы free-track -
Я использовал a4tech pk336e
Чтобы извлечь светофильтр необходимо разобрать корпус и выкрутить шахту с линзой, у основания шахты перед линзой вклеено небольшое стеклышко - это и есть светофильтр, поковырявшись ножичком пришлось его разбить и вычистить осколки, но аккуратно чтобы не повредить под ним линзу. После чего всё необходимо собрать обратно. Забегая вперед скажу, чтобы всё работало - веб- камера должна воспринимать лишь три белые точки от светодиодов и ничего лишнего, для этого её необходимо дополнительно затемнить небольшим кусочком магнитной поверхности от старой дискеты, или пленкой от видео кассеты VHS.
с картинками, фирма таже, но модель камеры другая.
Теперь у нас есть веб - камера, которая будет улавливать инфракрасное свечение, и вы можете на ней проверить работает ли ваша конструкция.
В итоге на изображении должны появится три харрактерные белые точки, читай датчики перемещения, котрые будут передавать информацию программе фритрек для обработки. Но об этом в следующем разделе.
Добавлю что роботоспособность у камеры сохраняется при извлеченном светофильтре.

Разбираем веб-камеру A4Tech PK336E

Настройка FreeTrack


Первым делом установить модель расположения.

3 - заходим в раздел CAM
4 - Выбираем камеру из списка
5 - Нажимаем на старт
Ну и на черном экране должны появится три белых точки, при движении которых должна вращаться соответственно 3d модель слева.

Несколько лет назад у меня возникла идея, разработать устройство для отслеживания местоположения объекта посредством GPS и GSM систем, я начал приобретать необходимые модули, но до реализации проекта дело так и не дошло. И вот несколько месяцев назад я снова вспомнил про эту идею и принялся за дело. В уме прорисовывались следующие идеи: устройство должно быть автономным и максимально экономичным; управление и передача данных осуществляется сетями мобильной связи GSM; определение координат с помощью системы глобального позиционирования GPS.

Для работы в сетях мобильной связи используются GSM модули, которые потребляют достаточно много энергии, если модуль будет постоянно включен, заряда батарей или аккумуляторов не хватит на продолжительную работу устройства. Поэтому я решил использовать режим работы по расписанию, в устройстве установлены часы реального времени, по заданному времени устройство просыпается и включается GSM модуль для ожидания звонка или SMS сообщения. После выполнения всех задач устройство “засыпает”. Таким образом, происходит существенная экономия энергии.

На следующей картинке приведена схема GPS-GSM трекера на микроконтроллере PIC16F690:

В устройстве используется . Микросхема DD1 (PCF8583) представляет собой , с функцией будильника. Пробуждение микроконтроллера DD2 из спящего режима в заданное время происходит по прерыванию, которое генерируется на линии INT микросхемы DD1. Меняя емкость конденсатора C2* можно подстраивать ход часов.

Для определения координат используется . Плата модуля была доработана, чтобы иметь возможность включать и выключать модуль по сигналу от микроконтроллера. Изначально модуль включался сразу после подачи питания, что не подходило для меня. На плате модуля установлен стабилизатор напряжения 3,3В в корпусе SOT-23, у которого имеется вывод управляющий стабилизатором, но он подключен напрямую к линии питания. Я разрезал дорожки и освободил вывод управления для микроконтроллера. На одном экземпляре мне не удалось сохранить стабилизатор напряжения (обломался вывод), поэтому поставил другой стабилизатор, на напряжение 3В, в таком же корпусе (DA1’ – LP2981-30DBVR). В Китае можно приобрести два вида модуля: с синей платой и большой антенной, а также с красной платой и маленькой антенной.

Микроконтроллер “общается” с обоими модулями по протоколу UART, причем для GSM модуля используется аппаратный UART встроенный в микроконтроллер, для GPS модуля реализован программный UART, скорость передачи данных составляет 9600 бит/сек, модули предварительно должны быть настроены на данную скорость.

Светодиоды HL1, HL2 индикационные, когда микроконтроллер находится в рабочем режиме, светодиод HL1 светится, при переходе микроконтроллера в “спящий” режим, светодиод гаснет. Светодиод HL2 загорается в случае появления ошибок во время работы устройства. Светодиод HL3 отображает состояние GSM модуля.

Имеется два основных режима работы: режим ожидания и режим маяка. В режиме ожидания устройство просыпается по заданному расписанию и ожидает входящего вызова, при обнаружении звонка устройство выполняет сброс вызова на второй по счету “гудок” и продолжает сбрасывать еще в течение 20 секунд, далее определяет координаты и высылает их в виде SMS сообщения абоненту, от которого поступил звонок. Время ожидания входящего вызова можно настраивать. В режиме маяка устройство периодически просыпается через заданный интервал времени, определяет координаты и высылает их абоненту.

После первого включения по умолчанию активен режим ожидания, для включения режима маяка, на устройство необходимо отправить SMS сообщение с текстом GPS-STARThhmm, где hh-часы, mm-минуты которые задают период отсылки координат. Например, если требуется получать координаты каждые полтора часа, то сообщение будет иметь вид: GPS-START0130. Координаты в этом режиме отправляются абоненту, от которого поступило сообщение. Для выключения маяка и переключения в режим ожидания необходимо отправить сообщение с текстом GPS-STOP, устройство продолжит работу по расписанию.

Устройство читает SMS сообщения на сим-карте во время каждого сеанса пробуждения, чтение выполняется после определения и отправки координат абоненту, либо после истечения времени ожидания входящего вызова в режиме ожидания (если звонок не поступил).

При отправке сообщений нужно учитывать некоторые нюансы, дело в том, что если отправить сообщение, когда устройство “спит” (GSM модуль выключен), то при последующем включении сообщение может не сразу поступить на модуль, задержка может составлять от нескольких минут до нескольких часов, в зависимости от особенностей мобильного оператора. Для этого в устройстве реализована пауза для ожидания SMS сообщений, отсчет паузы начинается после определения и отправки координат абоненту (длительность паузы можно настраивать). Таким образом, сообщения желательно отправлять на устройство во время паузы ожидания SMS или во время ожидания входящего звонка.

Есть два варианта включения режима маяка: во время очередного пробуждения устройства выполнить вызов, после получения сообщения с координатами (во время паузы ожидания SMS), отправить SMS сообщение GPS-STARThhmm. Далее устройство перейдет в режим маяка и в следующий раз проснется через промежуток времени указанный в сообщении. Второй вариант, не выполняя вызова отправить SMS сообщение GPS-STARThhmm (во время ожидания входящего звонка), прочитав сообщение, устройство определит координаты и отошлет их абоненту, после чего перейдет в режим маяка и заснет, пауза ожидания SMS сообщений в этом случае выполняться не будет.

В процессе определения координат выполняется обновление значения часов реального времени, для компенсации ухода часов из-за неточности хода. Точное значение времени извлекается из данных поступивших с GPS модуля. Кроме этого выполняется измерение напряжения питания устройства, значение которого передается в SMS сообщении с координатами. Текст сообщения с координатами выглядит следующим образом: “5511.21316,N,06117.54100,E 4,07V”. Если координаты не были получены за определенный промежуток времени, абоненту отправляется сообщение вида: “NO KOORD 4,10V”. Время ожидания координат от GPS модуля можно настраивать.

Время пробуждения устройства (расписание) и другие параметры можно задать двумя способами: предварительно записать в EEPROM память микроконтроллера при программировании, или с помощью отправки SMS сообщения на устройство.

Рассмотрим первый способ задания параметров, ниже в таблице приведены основные настройки GPS-GSM трекера и соответствующие адреса в EEPROM памяти:

Адрес EEPROM памяти Параметр Описание Значение по умолчанию
0x00 Часы Значение времени, которое записывается в часы реального времени при первом включении устройства (tek_time) 00 ч.
0x01 Минуты 00 мин.
0x02 Tgsm Время ожидания входящего звонка,

2 мин ≤ Tgsm ≤ 30мин

10 минут
0x03 Tgps Время ожидания координат от GPS модуля, 2 мин ≤ Tgps ≤ 20мин 7 минут
0x04 Tsms Время ожидания SMS сообщения,

2 мин ≤ Tsms ≤ 20мин

5 минут
0x05 UTC Часовой пояс

00ч ≤ UTC ≤ 23ч

00ч
0x06 Часы Время пробуждения устройства, (Будильник 1) 00 ч.
0x07 Минуты
0x7E Часы Время пробуждения устройства, (Будильник 61)
0x7F Минуты
0x80 Код Информация об ошибке, (Ошибка 1)
0x81 Месяц
0x82 День
0x83 Часы
0x84 Минуты
0xF3-0xF7 Информация об ошибке, (Ошибка 24)
0xF8-0xFC Информация об ошибке, (Ошибка 25)

Время для будильников нужно задавать последовательно по возрастанию начиная с 00:00 ч (точка отсчета), значение первого будильника не обязательно должно быть равным 00:00ч, время последнего будильника в EEPROM памяти, не должно превышать 23:59 ч. Остальные неиспользуемые ячейки EEPROM памяти должны иметь значение больше 23, (24 и более), при программировании микроконтроллера значение ячеек обычно устанавливается равным 0xFF (255).

Период времени указанный в SMS сообщении для режима маяка не должен превышать значения 23:59 (1439 минут), и не должен быть меньше 00:05 (5 минут). В противном случае период по умолчанию составит 1 час.

GPS модуль получает время по Гринвичу, поэтому необходимо задать часовой пояс, в соответствии регионом.
Всего в EEPROM памяти можно задать 61 значений времени для будильника в интервале 00:00-23:59 часов. Если параметры заданы некорректно, или вовсе не заданы, а также в случае выхода за пределы указанные в таблице, то будут использоваться значения по умолчанию.

Рассмотрим второй способ задания параметров с помощью SMS сообщения. При первом включении устройство в течение 5-ти минут читает SMS сообщения на сим-карте, в этот период необходимо отправить нижеприведенное сообщение или предварительно записать его на сим-карту перед включением:

NAST– – – – –[Будильник 1] –[ Будильник 2]–…–[ Будильник 11]

Пример: NAST0850–10–07–05–05–0900–1200–1500–1800–2100–2300

В таком варианте можно задать максимум 11 будильников, последовательность которых должна начинаться с точки отсчета (00:00 ч), как было сказано выше. После считывания сообщения все параметры переписываются в EEPROM память микроконтроллера, если операция прошла успешно светодиоды HL1, HL2 мигают три раза, после чего устройство засыпает. В дальнейшем настройки трекера можно оперативно менять, отправив SMS сообщение с новыми параметрами при пробуждении устройства (во время паузы ожидания SMS или во время ожидания входящего звонка), параметр учитываться не будет (используется только при первом включении трекера), но пропускать его нельзя.

Первоначальный запуск трекера я выполняю следующим образом: для примера возьмем расписание (12.00–15.00–18.00–21.00), параметр я устанавливаю равным 11.50, таким образом, после успешного принятия параметров, трекер проснется через 10 минут. После этого я звоню на него и получаю координаты, время трекера при этом обновляется по данным GPS, далее трекер будет просыпаться по расписанию.

Все SMS сообщения на СИМ карте удаляются, после каждой операции чтения, в целях освобождения места для последующих сообщений.

Если при первом включении микроконтроллер не сможет инициализировать GSM модуль или часы реального времени не будут отвечать на команды, то выполнение программы прекратится (критическая ошибка), при этом будет постоянно мигать светодиод HL2 “Ошибка”.

В дальнейшем при появлении ошибок, программа будет выполнятся дальше пропуская проблемный участок, при этом загорается светодиод HL2 “Ошибка”, который остается включенным после засыпания устройства, и гаснет при последующем пробуждении. Кроме этого микроконтроллер отправляет в реальном времени код ошибки по линии UART. Чтобы отслеживать ошибки с помощью компьютера (а также команды, отправленные на GSM модуль), к устройству можно подключить USB-UART преобразователь в точке TX’ на схеме. Ошибки выдаются в терминал в виде сообщения ERRxx, где xx-код ошибки. В точке RX’ можно отслеживать сообщения, поступающие от модуля к микроконтроллеру.

Кроме индикации, информация об ошибках сохраняется в EEPROM память микроконтроллера. Каждая ошибка занимает в памяти 5 байт (смотрите таблицу выше): первый байт содержит код ошибки (номер), второй и третий байты – дату возникновения ошибки (месяц, день), четвертый и пятый байты – время ошибки (часы и минуты). Под ошибки в EEPROM памяти выделено 128 байт начиная с адреса 0x80 (128), таким образом, микроконтроллер может хранить последние 25 ошибок.

Для уменьшения энергопотребления светодиодную индикацию ошибок можно отключить, для этого левый вывод резистора R4 на схеме, необходимо подключить к общему проводу. Список всех ошибок приведен в текстовом файле, который можно скачать в конце статьи.

Устройство собрано на двухсторонней печатной плате размером 49 x 62 мм, в основном на плате установлены smd элементы. Для питания я использую три пальчиковые батарейки. Все части устройства размещены внутри водонепроницаемого корпуса с размерами 85x58x33 мм (который был приобретен в Китае). В спящем режиме устройство потребляет 90-104 мкА, в режиме ожидания звонка 5,5мА, во время определения координат 60 мА. Один из экземпляров трекера работает у меня около 2 месяцев, при этом по расписанию просыпается 5 раз в сутки, время ожидания входящего звонка составляет 10 минут. Напряжение питания за это время снизилось примерно на 0,3В.

Приведенная в конце статьи прошивка имеет ограничение, координаты можно запросить только 10 раз, после отправки 10-го SMS сообщения с координатами, трекер заснет, и не будет просыпаться. Прошивка со снятыми ограничениями платная, обращайтесь по контактам указанным на странице “ ”, кроме этого могу собрать трекер на заказ.



GPS-маячок является устройством, которое позволяет отслеживать перемещение похищенного или эвакуированного автомобиля и ускоряет сроки его поиска. Кроме этого, миниатюрные девайсы могут использоваться для контроля за местонахождением людей или грузов. Часто маячки называют трекерами, но такое название является ошибочным, поскольку устройства выполняют разные функции.

[ Скрыть ]

Принцип работы и область применения

Маячок находится в спящем режиме и включается по запрограммированному циклу. При активации происходит обмен параметрами со спутником или станциями сотовой связи стандарта GSM, а затем устройство уходит в спящий режим. Из-за особенностей работы информация от маячка имеет вид отдельных точек, которые можно соединить ломаной прямой.

В стандартном графике маяк выходит на связь до четырех раз в сутки. В случае необходимости режим работы прибора можно изменить через систему сотовой связи и увеличить частоту включения до одного раза в 5-10 минут. Постоянный обмен информацией позволит ускорить поиск машины или человека, но может быстро разрядить аккумуляторную батарею маячкового устройства. В режиме подачи сигнала раз в сутки маячок способен функционировать на одном аккумуляторе три-четыре года. Переключение устройства в режим тревоги сокращает время работы до 12-15 суток.

Маячок является отличным средством для пассивной защиты машины от угона. Малые размеры позволяют устанавливать устройство под обшивками автомобиля, а периодический режим работы обеспечивает устойчивость против сканеров или . Маяки применяются для слежения за маршрутом поставки груза путем размещения устройства в контейнере или в упаковке. При пропаже груза остается возможность отследить местоположение тары и попытаться выйти на след похитителей. Часто такие девайсы используются для контроля за местонахождением детей или пожилых людей.

Разновидности

Существуют различные GPS-маячки:

  1. С возможностью подключения к замку зажигания автомобиля. Это позволяет устройству автоматически переключаться в режим частого обмена координатами со станциями при попытке несанкционированного запуска двигателя.
  2. Встречаются конструкции маячков со встроенными микрофонами, которые позволяют дистанционно прослушивать салон автомобиля.
  3. Имеются модели маяков с отдельно выведенной кнопкой для активации режима тревоги. Устройства носятся в кармане или устанавливаются на транспортном средстве. Нажатие на кнопку производится при попытке ограбления или угона. Прибор стал популярен для подачи ребенком сигнала о помощи. При нажатии клавиши на сотовый телефон родителей поступают координаты места подачи тревоги.
  4. В виде часов. Одним из образцов устройств для контроля за перемещением человека являются часы Smart Watch A19, которые могут отслеживать местонахождение в реальном времени и сохранять историю перемещений. Имеется возможность ограничения территории перемещения владельца. При выходе за пределы на телефон родителей поступает текстовое сообщение или звонок.
  5. Выпускаются маячки в виде брелков, которые позволяют родителям осуществлять двухстороннюю связь с ребенком. Маяк с небольшими габаритами и весом легко размещается в кармане. При этом устройство имеет герметичный корпус, который продлевает срок службы изделия.

Часы Smart Watch A19 Маячок в виде брелка

Применение заводских устройств не требует специальной установки и подключения. Достаточно разместить или другом охраняемом объекте и установить связь с мобильным телефоном или смартфоном.

Кроме отдельных устройств, имеется возможность отслеживания ребенка или груза по сигналам смартфона. У операторов сотовой связи есть специальные тарифные планы, в рамках которых можно видеть местоположение второго абонента, например, тариф МТС «Ребенок под присмотром».

Инструкция

При желании сэкономить владелец автомобиля может сделать маяк своими руками.

Самодельные устройства можно делать:

  • на базе смартфона;
  • на основе обычного мобильного телефона;
  • на базе самостоятельно собранного прибора (без применения телефона).

Обзор маяка Starline M17 предоставлен каналом АвтоАудиоЦентр.

Что понадобится?

При изготовлении маяка в виде смартфона потребуются:

  • два смартфона, из которых один будет установлен в машине;
  • две СИМ-карты с возможностью доступа в интернет;
  • установленное и зарегистрированное программное обеспечение.

Для сборки маяка из телефона понадобятся:

  • мобильный телефон;
  • приемник сигналов GPS;
  • модуль передачи данных стандарта GPRS;
  • зарядное устройство;
  • инструменты и материалы — паяльник, припой, флюс, нож для зачистки.

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

  • модуль приема и передачи SIM808;
  • антенна для приема сигналов GPS;
  • управляющий контроллер ATmega8;
  • транзисторы для усилителя сигнала;
  • выпрямитель напряжения;
  • материалы для изготовления печатной платы;
  • материалы для пайки.

Пошаговые этапы

Процесс работ будет отличаться в зависимости от того, на основе чего изготавливается девайс.

На базе смартфона

При использовании смартфона для изготовления маячка порядок действий следующий:

  1. Установить смартфон в авто. Рекомендуется заранее продумать место монтажа. К девайсу должен быть беспроблемный доступ для замены или подзарядки аккумулятора.
  2. Установить программное обеспечение на оба устройства.
  3. Подключиться к сети и зайти на официальный сайт разработчика программного обеспечения.
  4. Зарегистрировать устройства. После процедуры регистрации станут доступны настройки приложений.
  5. Ввести в отслеживающий прибор данные смартфона, выступающего в роли маячка (IMEI номер).
  6. Проверить совпадение настроек часовых поясов на приемнике и передатчике.
  7. Запустить программное обеспечение и протестировать корректность работы.
  8. Настроить режим работы установленного в салоне смартфона на периодический (маяк).

Нужно учесть, что при работе в режиме маяка батарея смартфона будет разряжена за 2-3 дня. Поэтому можно подключить дополнительное питание от штатного аккумулятора автомобиля. Проводка должна проводиться незаметно, иметь высокое качество изготовления и защищаться плавким предохранителем соответствующей мощности. При неквалифицированном прокладывании кабелей есть риск короткого замыкания и воспламенения машины.

На основе телефона

Для изготовления маячкового устройства на базе мобильного телефона необходимо выполнить шаги:

  1. Продумать схему установки девайса.
  2. Отрезать провод от зарядного устройства со стороны трансформатора. Длина кабеля выбирается в соответствии со схемой расположения маяка.
  3. Зачистить концы провода и припаять их к выходам модуля GPRS (в соответствии с инструкцией к изделию).
  4. Установить штекер проводки в гнездо на мобильнике.
  5. Подключить приемник сигнала и синхронизировать работу приемника и передатчика.

Полностью самодельное устройство

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

  1. Установить на модуль SIM808 выносную антенну для приема и передачи сигнала маяка.
  2. Самостоятельно сделать двухстороннюю печатную плату для размещения компонентов. Возможно создание односторонней платы, но она будет иметь большие габариты.
  3. Установить элементы на плате и пропаять контакты.
  4. Прошить модуль управления.
  5. Запустить маяк и протестировать работу.
  6. Установить девайс в удобном месте и подключить к штатному или собственному аккумулятору. Дальнейшая настройка ведется по аналогичной смартфонам и телефонам схеме.

Одна из схем самодельного маяка GPS представлена на примере устройства Старлайн

Разработка печатных плат, изготовление и настройка маяка требуют хорошего знания электротехники. Поэтому полностью самодельные маяки встречаются редко.

Плюсы и минусы

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

  • быстрое изготовление устройства для слежения;
  • низкая стоимость изделия;
  • функциональность самодельного маячка не уступает фабричным девайсам;
  • возможность настройки прибора.
  • габариты самодельного маяка больше, чем у фабричных конструкций;
  • риск отключения из-за применения в схеме нескольких компонентов, соединенных проводами;
  • малый срок работы от штатного аккумулятора.

Последний недостаток можно компенсировать установкой более емкой батареи, но это увеличит размеры и стоимость конструкции. Помимо этого, в схеме появятся лишние провода и разъемы, которые могут окислиться или отключиться от вибрации во время движения.

После нескольких экспериментов с ардуиной решил сделать простенький и не очень дорогой 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 нужно послать следующие команды:
AT+SAPBR=1,1 //Открыть несущую (Carrier) AT+SAPBR=3,1,"CONTYPE","GPRS" //тип подключения - GPRS AT+SAPBR=3,1,"APN","internet" //APN, для Мегафона - internet AT+HTTPINIT //Инициализировать HTTP AT+HTTPPARA="CID",1 //Carrier ID для использования. AT+HTTPPARA="URL","http://www.example.com/GpsTracking/record.php?Lat=%ld&Lng=%ld" //Собственно URL, после sprintf с координатами AT+HTTPACTION=0 //Запросить данные методом GET //дождаться ответа AT+HTTPTERM //остановить HTTP

В результате, при наличии соединения, получим ответ от сервера. То есть, фактически, мы уже умеем отправлять данные о координатах, если сервер принимает их по GET.

Питание
Поскольку питать GSM модуль от преобразователя Arduino, как я выяснил, плохая идея, было решено купить преобразователь 12v->5v, 3A, на том же ebay. Однако, модулю не нравится питание в 5V. Идем на хак: подключаем 5V в пин, с которого приходит 5V от ардуины. Тогда встроенный преобразователь модуля (существенно мощнее преобразователя ардуины, MIC 29302WU) сделает из 5V то, что нужно модулю.

Сервер

Сервер написал примитивный - хранение координат и рисование на Яндекс.картах. В дальнейшем возможно добавление разных фич, включая поддержку многих пользователей, статус «на охране/не на охране», состояние систем автомобиля (зажигание, фары и пр.), возможно даже управление системами автомобиля. Конечно, с соответствующей поддержкой трекера, плавно превращающегося в полновесную сигнализацию.

Полевые испытания

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

После установки преобразователя питания и укладывания в корпус от дохлого DSL модема система выглядит так:

Припаивал провода, вынул несколько контактов из колодок ардуины. Выглядят так:

Подключил 12V в машине, проехался по Москве, получил трек:


Точки трека достаточно далеко друг от друга. Причина в том, что отправка данных по GPRS занимает относительно много времени, и в это время координаты не считываются. Это явная ошибка программирования. Лечится во-первых, отправкой сразу пачки координат со временем, во-вторых, асинхронной работой с GPRS модулем.

Время поиска спутников на пассажирском сидении автомобиля - пара минут.

Выводы

Создание GPS трекера на ардуино своими руками возможно, хотя и не является тривиальной задачей. Главный вопрос сейчас - как спрятать устройство в машине так, чтобы оно не подвергалось воздействиям вредных факторов (вода, температура), не было закрыто металлом (GPS и GPRS будут экранироваться) и не было особенно заметно. Пока просто лежит в салоне и подключается к гнезду прикуривателя.

Ну и ещё нужно поправить код для более плавного трека, хотя основную задачу трекер и так выполняет.

Использованные устройства

  • Arduino Mega 2560
  • Arduino Uno
  • GPS SkyLab SKM53
  • SIM900 based GSM/GPRS Shield
  • DC-DC 12v->5v 3A converter

Лучшие статьи по теме