Как мы делали автомобильный трекер

Как мы делали автомобильный трекер

Три года назад мы решили делать простое решение: берёшь коробку, кладёшь под капот, платишь 195 рублей в месяц и всегда точно знаешь, где машина. В реальном времени.

Трекеры тогда были, и их было довольно много. Но либо это были варианты от охранных предприятий (дорогие и ориентированные на бизнес), либо такие, которые человек без IT-образования вообще не смог бы использовать. Купить для личного пользования что-то было невозможно.

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

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

А заодно мы быстро поняли, что имеющееся железо в целом нормальное, но требующее доработок и удешевления, а софт нужно было вообще писать с нуля.

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

  • Передаёт данные по запросу или в реальном времени с координатами машины.
  • Определяет координаты по GPS, ГЛОНАСС и, что важно, ближайшей станции сотовой сети.
  • Пишет трек на наш сервер в личный кабинет клиента.
  • Настраивается из личного кабинета или по IVR.
  • Оплата не за трафик или что-то ещё непонятное, а просто за услугу – одна и та же в месяц.

Подключение простое – привязать свой номер телефона как номер администратора, установить трекер в автомобиль – и всё.

Первичные тесты

За время тестов выяснилось вот что:

  • Трекер должен отдавать данные по GPRS, то есть использовать мобильный интернет, а не SMS. Почти все аналогичные решения отправляли SMS — тогда присутствие в зоне действия базовой станции вовсе не означало наличие GPRS. Мы же, видя, что ситуация очень скоро изменится, сразу заложились на такое требование. Это позволило обновлять данные в реальном времени очень часто, плюс удешевило использование (оно было тогда очень дорогим для абонента) и позволило освободить каналы. Плюс SMS иногда задерживались из-за перегрузки SMS-стека (например, под новый год), что тоже успешно решалось GPRS. При активном использовании, кстати, трекер «кушает» всего 15 мегабайт за месяц.
  • Основные проблемы с трекерами у всех были с настройками. Где-то нужен был программатор, где-то решалось подключением к десктопу, но чаще всего — пачкой SMS-команд с достаточно бедной обратной связью. Оказалось, что удобнее всего людям был телефон с IVR, где можно было просто отвечать на вопросы в духе «да» или «нет», нажимая кнопки. Плюс параллельно мы начали разработку понятного веб-интерфейса, где можно было бы посмотреть треки и другую информацию.

Как выбирали поставщика

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

Вторая итерация тестов

Мы раздали их коллегам и, что важнее, водителям. Водители сразу сказали пару очень важных штук:

  • Во-первых, стандартный интерфейс подключения питания не подходил. Где-то питание подключалось один раз «навсегда», но в примерно половине случаев водитель втыкал устройство в прикуриватель через систему переходников. Поэтому мы сразу решили включать в базовую комплектацию два шнурка — второй как раз для прикуривателя.
  • Во-вторых, мы очень долго мучились с коннектором для входа питания в устройство. В машине постоянная вибрация, поэтому кто-то использовал для прочного крепления винты, кто-то хитрые зажимы. В итоге мы приняли довольно пародоксальное, но логичное решение — RJ-45. Он прост и понятен как разъём, очевидным образом втыкается, уже содержит защёлку и вообще очень удобен водителям.

Как мы делали автомобильный трекер
Укреплённое гнездо

Как мы делали автомобильный трекер
Кабель

  • В-третьих, нужен был аккумулятор. Трекер мог остаться без питания на несколько часов если в автомобиле гнездо прикуривателя обесточивается при выключении двигателя (водители беспокоились, что его могут отключить при угоне, например) — но всё равно должен был передавать координаты.

Как мы делали автомобильный трекер
Аккумулятор очень простой и доступный по цене, держит от 4 до 6 часов.

Сами мы параллельно дошли до того, что железка должна легко крепиться на магните куда угодно к корпусу. Чпок — и встал на место. Это оказалось самым простым — сильный магнит ничему внутри не помешал.

Как мы делали автомобильный трекер
Предупреждение на серийной версии

Третья итерация

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

В это время начали ломаться кабели питания. Оплётка замерзала — в сильные морозы мы его ещё не испытывали. Пришлось искать специальные морозостойкие варианты и тестировать их. Мы их замораживали, а потом сгибали и разгибали несколько сотен раз. В итоге остановились на силиконовой оплётке.

Беспокоились о том, что магнит на трекере заставит некоторых крепить его скрытно где-нибудь внизу машины, что скажется на качестве приёма сигнала — проверили, всё равно ловит уверенно.

Портал

В это время был готов первый веб-интерфейс. Выглядел он инженерно и больше смахивал на расширенную консоль, но уже позволял полноценные тесты с живыми людьми. Следующей итерацией он стал таким, каким должен был быть. Можно было смотреть движение по карте в реальном времени, историю за 3 месяца, быстро ставить машину на охрану, плюс ловить разные предупреждения в виде SMS от сервера вроде того, что аккумулятор почти что сел (очень полезно зимой). Как вы понимаете, мы сделали ещё одну важную вещь – связь была не напрямую с трекером, а с нашим сервером, который конфигурировал трекер:

Как мы делали автомобильный трекер
Упрощённая архитектура решения

Самые частые действия – постановку и отключения режима охраны – мы вынести на короткие номера, звонок на которые, соответственно, активировал нужные режимы. В режиме охраны при отключении питания или движении сразу приходит SMS об этом событии.

Карты

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

В это время начались проблемы с прыжками в треках. Дело в том, что кроме GPS и ГЛОНАСС, мы находили положение автомобиля по ближайшей базовой станции. В случае, когда GPS не было (тоннель, например или колодец из домов, либо пара минут после холодного старта устройства), координаты скакали на несколько километров. Дело
в том, что мы использовали не триангуляцию (её вообще никто не использует — это один из мифов определения положения по базовым станциям), а просто уровень сигнала до ближайшей известной. Пришлось писать очень такую приблизительную и грубую модель поведения автомобиля для исключения сложных случаев. Например, допущение, что трекер не может двигаться со скоростью выше 250 км/ч, позволило убрать 90% ошибочных положений.

Иногда трекер терял связь с базовой станцией, либо делал реконнект на переходе от одной БС к другой. Потребовался небольшой буфер, куда можно было складывать данные между сеансами связи и потом отправлять их пакетом.

Да! Забыл сказать про SIM. Мы использовали обычные SIM-карты, для чего пришлось уменьшать наводки от GSM-модуля. Для большей надежности можно, конечно, вставить и специальную термо-SIM-карту. Если посмотрите на железку – там нет слота под маленькую встраиваемую SIM: из-за большого размера аккумулятора мы выбрали снижение цены за счёт пары лишних миллиметров толщины.

Итог

В результате мы сделали простую и практичную штуку, понятную каждому. Для сравнения:

  • GPS-сигнализация стоила около 10 тысяч рублей + подключение.
  • ЧОПы брали от 700 рублей в месяц за то, что смотрели за вашей машиной (и исключали только угон, но не давали возможность свободно видеть машину на карте).
  • Другие трекеры не были массовыми и стоили на 2-3 тысячи рублей минимум дороже, требовали специальных знаний, не все были готовы к морозам и обходились раза в три дороже в эксплуатации (в частности, из-за стоимости SMS).

Наш трекер стоит 3900, абонплата – 195 рублей в месяц. За абонплату можно ездить по всей стране, но за границей РФ уже начнут списываться дополнительные деньги.

Как мы делали автомобильный трекер
Готовое устройство (серийная модель)

Как мы делали автомобильный трекер
Упаковка

Как мы делали автомобильный трекер
Комплект поставки. Я очень хотел, чтобы там сразу была отвёртка, чтобы не пришлось искать – благо она совсем дешевая.

image
Отдельная гордость – всё сделано у нас.

Сейчас наш трекер продаётся в Северо-Западном регионе. Всё идёт к тому, что мы будем использовать их во всей сети «Билайн» по России довольно скоро.

Вот так. Если интересно – расскажу ещё пару историй разработки железа у нас.

Автор: Beeline_spb_lab

Источник

Оставить комментарий