Энциклопедия мобильной связи

Как сделать GPS-маячок для слежения за человеком и авто? Солнечный трекер своими руками.

Песочница

Чёрный властелин 27 апреля 2016 в 12:12

GPS трекер для автомобиля своими руками

  • DIY или Сделай сам ,
  • Автомобильные гаджеты * ,
  • Гаджеты *

Это уже вторая версия трекера. Первый позволял отслеживать объект только посредством СМС. Что, сами понимаете, не совсем удобно. Поэтому было принято решение создать вторую версию, но уже для работы с сервисами 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 руб.

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

Что такое 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 модель слева.

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

Разработка

Мы из тех, кто делает все и сами. Пусть долго, пусть дорого, но в таких случаях все недочеты убираем до момента выпуска, да и винить в случае неудачи никого не нужно. Основные задачи, которые стояли при разработке нового устройства – надежность, наличие акселерометра, работа с любыми устройствами по rs-232, а также, удобство и простота инсталляции для конечного пользователя (купил – поставил – пользуешься). Никаких автоэлектриков и прочих установщиков.

GSM

Из-за перебоев с поставкой Telita в Украину, выбор был сделан в пользу модуля компании Quectel M12. Модуль довольно известный и пришел на смену модулю М10. Он имеет такой же форм фактор как и Телит (SMT), удобен в диагностике неисправностей, т.к. все его выхода выведены по бокам (никакого BGA). В большинстве своем, модуль имеет абсолютно такие же (или очень близкие) характеристики к Телиту. Тут стоит отметить, что на рынке Украины практически все модули имеют одинаковые функциональные возможности с основными различиями только в среде разработке, и тут уже каждый выбирает, что он лучше знает и в чем удобней «писать». Хочется отметить про фишку М12 в виде OpenCPU , который весьма сокращает весь процесс разработки готового девайса, и крайне удобен в освоении.

GPS

Ну, тут вообще интересная история. Изначально все разрабатывалось под чип, который использовали Uranus 625r. Но в момент заказа китайцы заявили, что этот чип снят с производства, и они на все 100% уверены, что новый чип (их же производства) нас удовлетворит чуть менее чем полностью. В процессе переговоров были согласованы pin-to-pin совместимость (а это rx,tx,reset (тут особое внимание, об этом будет написано ниже), земля), этот момент был несколько раз поднят в переписке и устных переговорах. Крайне обрадовало наличие нового Sirf IV и поддержки загрузки эфемерид для работы режима a-gps. Забегая вперед, могу сказать, что если убрать довольно большое количество брака (около 10%, который слава Богу, можно отсеить на этапе сборке устройств) качество самого приемника вполне отличное.

Сборка номер ноль

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

Вот такая вот «идеальная» трассировка:

Небольшой конфуз при разработке:

Ну и основные работники крупным планом:

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

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

Как обычно

После получения первых образцов, обычно, начинается самое интересное – это когда все вроде и правильно, и вроде бы тестировалось долго, а ничего не работает. Или работает, но не так. Просто не работает и уже вроде ничего и нельзя изменить.
Так и случилось. Пришедшие «волшебные» GPS модули просто «молчали». Ставим старые – все работает, прозваниваем новые – должно работать, но «лыжи не едут». Виной тому – использование reseta при первом старте, когда модуль обращается в первый раз к стеку. Китайцы с присущим им удивлением сказали, что «нужно было предупредить» и выслали мануал как вернуть все на место. После поднятия всей переписки и отсылки им, просто пообещали, что такое больше не повториться. Занавес.

ТТХ готового устройства

- старт за 2 секунды, AGPS
- sirf IV (возможность замены на glonass для РФ вариантов)
- память на 250000 точек
- адаптивный режим
- датчик удара\вибрации (акселерометр)
- режим маяка
- удаленный контроль и управление тарифными планами посредством прямых USSD команд
- работа без сервера посредством СМС
- и еще много,

Бонусы

Розничная стоимость устройства на данный момент составляет 180 у.е. Дилерские цены при определенных объемах падают до 110 у.е. На нашем сервисе абонентская плата до конца 2013 года полностью отсутствует при подключении любого количества устройств.
Как обычно, гарантия на 512 месяцев со дня покупки устройства (на АКБ не распространяется).

Это один из самых удачных проектов head tracker’ов, который я только встречал. Используются самые передовые технологии — акселерометр, гироскоп и компас, такие же, как и в гарнитурах виртуальной реальности Gear VR, Playstation VR, Oculus Rift и прочих. А для создания достаточно лишь минимального умения паять и более чем скромной суммы денег. А теперь по порядку.

Варианты

Итоговая стоимость: 750 рублей .

Сборка

Есть очень простая и подробная официальная инструкция . Нам же из нее нужна только таблица соединений.

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

Тут я бы дал две рекомендации. Первая: плата датчиков уже платы Arduino, а большинство подключений приходится на одну сторону (2,3,7,GNDx2), так что ее оставляем открытой (плату датчиков сдвигаем к другой стороне), а оставшиеся два провода (VCC и GND) лучше припаять до того, как склеим платы вместе, так как после этого будет уже сложнее. Вторая: сначала паять длинные провода (GND и INT), а потом уже короткие (SCL, SDA,AD0). Я, как видно на фотографии, ошибся с INT. И самое главное: не жалейте флюса! И если он нейтральный (например канифоль), то его можно не отмывать.

Кнопка просто припаивается одним концом к Arduino (10), а другим концом через провод к ближайшей земле (GND). В принципе, кнопка и так зафиксирована, но я дополнительно подклеил ее цианакрилатом.

И это все, можно пользоваться!

Улучшения

Помните, я упоминал о разъеме на два контакта в самом начале? Он нужен для упора. Клеится на суперклей прямо под кнопкой. Достаточно двух маленьких капель.

В принципе, мне нравится внешний вид устройства, да и испортить его довольно сложно. Но, для пущей надежности, все же спрятал его в термоусадку.

Индикаторы нам не интересны — все равно устройство на голове. А кнопка, в принципе, легко нажимается и через термоусадку, но я все же прорезал маленькое отверстие, а на саму кнопку приклеил маленький кусочек пластика, чтобы проще было нащупать.

Прошивка, калибровка и настройка

Тут все более, чем просто. Скачиваем официальное приложение EDTracker GUI , распаковываем и запускаем.

Выбираем версию (EDTraket2_9250) и соответствующий порт. Если нужного порта нет, можно обновить список кнопкой «Scan Ports». Когда выбрали соответствующий порт, запускаем прошивку кнопкой Flash. По окончании прошивки начнется стандартная 20-ти секундная калибровка гироскопа, при которой необходимо держать трекер неподвижно. Такая же калибровка проводится при каждом включении устройства.

  1. Справа открываем кладку Magnetometr
  2. Выставляем Sensevity примерно на 75% (3/4 шкалы)
  3. Жмем Restart и начинаем вращать наше устройство во всех возможных плоскостях
  4. Делать это нужно до тех пор, пока коэффициенты матрицы перестанут меняться, но должно накопиться не меньше 500 Points, больше — лучше

На картинке отображаются точки. Красные — сырые измерения с датчика, зеленые — пересчитанные. Все эта трехмерная картинка вращается вокруг нуля, т.е. середины сферы из зеленых точек.

Если не откалибровать компас, то отслеживание поворота головы корректно работать не будет.

Настроек тут не много:

  • Выбор режима осей (Экспоненциальный/Линейный)
  • Чувствительность по каждой оси
  • Сглаживание

Я не люблю косить глаза на монитор, поэтому использую экспоненциальный режим, чувствительность выше 100, сглаживание 75-90%. Мне так удобно.

Осталось только прикрепить к вашей любимой гарнитуре и можно вступать в бой! Единственная кнопка служит для центровки.

Впечатления

Впечатления крайне положительные. У меня уже был трекер на камере и метке (GTX vTrack MkI) и мне есть с чем сравнивать.

  • низкая стоимость
  • компактность
  • отсутствие камеры (для параноиков)
  • и самое главное — вам не нужно фиксировать свое положение перед компьютером, я люблю в процессе игры спускаться ниже и подниматься, а с камерой приходилось держать себя всегда в центре кадра
  • дребезжание в крайних положениях — расплата за высокую чувствительность и экспоненциальный режим
  • уплывает калибровка гироскопа, если гарнитура некоторое время лежит на столе, приходится перед использованием заново 20 секунд калибровать уже на голове
  • высокие значения чувствительности не сохраняются после отключения, перед каждым использованием приходится заново выставлять чувствительность — это, скорее всего, ошибка в прошивке
  • программа EDTracker UI падает с ошибкой после некоторого времени работы
  • на горячую клавишу нельзя назначить комбинацию кнопок, да и то, что программа падает периодически, делает использование HotKey невозможным. Хорошо, что достаточно кнопки на самом устройстве

Как по мне, минусы совсем незначительные. А так как ПО с открытым исходным кодом — всегда можно что-то исправить. Мне нравится устройство и я буду его использовать. Может профессиональные устройства типа TrackIR могут оказаться чем-то лучше, я не готов отказаться от тех плюсов, что дает это устройство.

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

Ярким представителем таких устройств является TrackIR. Устройство несомненно хорошее, но дорогое... его цена составляет порядка 6-9 тыс. рублей (в зависимости от версии). Я же сегодня начну серию статей и покажу на своем примере, как собрать устройство не хуже за скромные деньги. Предварительные расходы на устройство составляют до 1.5 тыс. рублей (в моем случае вышло 900 рублей).

Что нам для этого понадобится?

1. web-камера без ИК(IR-инфракрасный) фильтра (если он есть, то будем вынимать)

2. Светодиоды инфракрасные от 1 до 4 штуки (я использую 3)

Если у Вас нету web-камеры (которую придется "сломать" в случае наличия ИК фильтра), то рекомендую приобрести камеру Playstation 3 Eye. Цена этой камеры составляет около 1300 рублей, но купить ее можно дешевле. При этом камера обладает довольно широким углом обзора, что удобно, если вы не хотите случайно выпасть из "кадра" во время боя, а так же имеет высокий показатель быстродействия (до 120 кадров/сек), что так же делает трекинг более точным.

Как купить дешевле?

Способ №1:

Купить игру EyePet для PS3 в наборе с которой идет эта камера, сейчас на яндекс.маркете (СПб) я вижу ее в продаже за 890 рублей, что в 1.5 дешевле, чем покупать ее отдельно.

Способ №2:

Купить ее б/у. Я лично так и сделал, в итоге потратив смешные 400 рублей.

Как это работает?

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

Т.к. диоды используются инфракрасные, то ИК фильтра в камере быть не должно, либо его придется извлечь. Если он есть, то свет диодов будет сильно ослаблен и трекинг будет работать плохо, или вообще не работать.

Пример работы (пока не мой):

Практическая часть - удаляем ИК фильтр

Удалять ИК фильтр я буду на примере камеры Playstation 3 Eye. Процедура довольно сложная, причем не из-за того, что нужны навыки особые, а тупо тяжело выковырять линзу

1. Вытаскиваем сзади затычки с помощью ножа и откручиваем 4 болтика

2. Открываем верхнюю часть корпуса. Тут ждет засада, корпус открывается очень тяжело. Если Вас беспокоит наружный вид камеры, то клипсы, которые держат корпус расположены по одной по бокам и две сверху (еще есть снизу, но они не ломаются при грубом открытии). Если же Вам, как и мне на внешность плевать, и несколько зазубринок на корпусе не пугают, то берем плоскую отвертку и грубо начинаем отжимать корпус по бокам и сверху, и только в конце снизу. При этом боковые и верхние клипсы скорее всего будут сломаны (но это не важно, камера крепко свинчивается теми четырьмя болтами, что Вы недавно открутили).

3. Откручиваем два болта снизу, чтобы снять ножку (подставку) камеры

4. Откручиваем 3 болта сверху платы и по одному с боков (нижние не трогаем)

5. Снимаем остатки корпуса

6. Аккуратно придерживая объектив, откручиваем его сзади (два последних винтика)

7. Снимаем аккуратно объектив, не задевая матрицу... не дай бог поцарапаете - может выйти из строя!

8. И тут начинается самый геморрой. Надо ножом выковырять верхнюю линзу. Место где она стояла отмечено красным заштрихованным кружком. Я для этого очень долго и нудно проковыривал канавку вокруг линзы, втыкая туда кончик ножа (лучше использовать широкий нож), после чего только смог ее вытащить, при этом повредив саму линзу... но с учетом, что мне она больше не нужна, я ее все равно выкинул).

9. После того, как линзу вытащили, собираем все это назад

10. Для того, чтобы лишний свет не мешал четко видеть ИК диоды, надо сделать фильтр. Делается например негатива (фотопленка) или магнитной части (блина) старой дискетки 3.5 дюйма. Я использовал дискету. Вырезается кружок 1.5 см в диаметре и кладется в байонет (корпус объектива) до установки объектива в корпус, либо сверху как-то приделывается.

Полученная камера будет показывать черную картинку, но если Вы возьмете пульт от телевизора, направите на камеру и нажмете какую-либо из кнопок, то Вы увидите яркую точку от ИК излучателя. Если это произошло, то все сделано отлично.

Диоды я заказал SFH485P (их не надо стачивать, они уже имеют хороший угол свечения и хорошую длину волны 880) с ebay, т.к. найти у нас их в наличии оказалось проблемой. А точнее надо ездить искать, что меня не устраивает. В итоге получу я их недели через 2-3, и тогда смогу продолжить статью с показом живых примеров...



Понравилась статья? Поделитесь с друзьями!
Была ли эта статья полезной?
Да
Нет
Спасибо, за Ваш отзыв!
Что-то пошло не так и Ваш голос не был учтен.
Спасибо. Ваше сообщение отправлено
Нашли в тексте ошибку?
Выделите её, нажмите Ctrl + Enter и мы всё исправим!