Как стать автором
Обновить

Выбирайте правильный gsm-модуль для шлагбаума

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

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

Путём не долгих раздумий решили остановиться на относительно простом способе модернизации ограждающего устройства, а именно доукомплектования его GSM-модуль. На рынке оказалось огромное количество производителй разной ценовой категории от 3500 до 15000 рублей. Решили смотреть золотую середину и... промахнулись :(

Выбрали модуль компании Нависет Домовой IP на DIN-рейке, который на тот момент заявлял самое большое количество подключаемых номеров и возможность управления с помощью мобильного приложения, а также заявлялось что это единственное устройство которое соответствует требованиям Правительства РФ о системе Безопасный город. Однако забегая вперёд - скразу же раскрою тайну: Распоряжение Правительства действительно есть (выпущено ещё причем 3 декабря 2014г. За номером 2446-р), а системы "Безопасный город" и требований к ней нет до сих пор. Это чистой воды - маркетинг.

Если с первой частью - всё худо бедно заработало сразу из коробки, за исключением того, что объем памяти у контроллера очень скудный, и к тому же перераспределить её невозможно: например, если вы как мы захотите вместо 15.000 маркетинговых номеров (не представляю себе массовые объекты с таким количеством абонентов - таких заводов в стране остались единицы, а даже в самых больших офисных зданиях и многоквартирных домах нет столько автомобилистов) увеличить поле для ввода имени абонента, то сделать это не сможете, все таблицы захардокены и естественно нельзя говорить о возможнсти добавить такие поля как фамилия или номер закрепленного машиноместа и вам придется придумывать имена в стиле Vasya15 и Masha8.

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

Модель 3G есть у производителя - но она судя по всему идет исключительно только с убогой ip-камерой, переплачивать за которую не хотелось бы - всё равно распознавание номеров штатно к контроллеру с камерой не прицепить, а объект и так оборудован камерами и прекрасно видно что за автомобиль проезжал через шлагбаум.

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

И первое с чем столкнулись естественно - это жуткий интерфейс, он просто непонятно для кого сделан и пришлось через службу поддержки, которая была очень оперативной и учтивой - сделать самой простой и нужный функционал - в виде большой "красной кнопки" ОТКРЫТЬ, её реализовали относительно быстро и она действительно оказалась красной (её расцветку тоже можно даже оказалось выбрать из нескольких предложнных цветов).

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

О данном расстройстве незамедлительно была проинформирована служба поддержки Нависет, но там радостно сообщили - что знают об этом (это не бага, а фича) и когда-нибудь что-нибудь придумают. Тут же мною было предложено реализовать защиту по imei телефона, которая реализована у большинства аналогичных устройств представленных на рынке: а именно при первичной настройке приложения считывается imei телефона и записывается в качестве идентификатора на контроллер в качестве ключа номер авторизованного телефона + imei - в результате на другом телефоне указать уже внесенный в базу контроллера номер при регистрации уже не получится, т.к. ключ номер+imei не пройдет. В этом случае осуществляется жесткая привязка телефонная номера в базе к телефонному аппарату пользователя и если он его меняет - то необходимо ручное вмешательство по удалению старой связки номер+imei, не часто - но абоненты теряют, ломают или просто покупают новые телефоны и сталкиваются в этом случае с трудностями использования приложения до вмешательства администратора и мы к этому были морально готовы. Идея была воспринята в переписке с саппортом, как здравая и её обещали по возможности реализовать. Но шли месяцы, а обновление приложения не происходило и совсем недавно один из друзей в ходе обсуждения сложившиеся проблемы предложил алгоритм, как можно было бы упростить, а именно: в модуле есть база абонентов с телефонами, при этом администратор может установить количество активаций приложения у конкретного абонента (по умолчанию одно, но мне допусти два нужно: для телефона и мультимедиа устройства автомобиля на Андроиде, где нет своей SIM-карты, но интернет она получает по Wi-Fi от того же или любого другого телефона или хотспот дома). Абонент по номеру своего телефона активирует приложение (осуществляя первичный handshake, модуль записывает в базу соответствующий уникальный хеш приложения установленного на конкретном устройстве) Когда абонент активирует приложение на новом устройстве (например заменив телефон), то запись о замене старого приложения (если количество записей больше установленного) перетирается по принципу FIFO хешем нового, тем самым предотвращаем несанкционированное копирование доступов. Вместе с посылом сигнала на открытие шлагбаума отправляется уникальный хеш приложения, модуль обрабатывает его сравнивая со значением в базе-если он есть обрабатывает команду на открытие, если нет - ничего не делает. Это предложение тоже было принято: "работаем в этом направлении, но по срокам не сориентируем". Но ожидать еще несколько месяцев не хотелось, поэтому решили покопать в еще одну задекларированную маркетинговую фишку: открытые API для управления устройством.

Хотелось попробовать реализовать легкое REST-решение для личного использования на старенькой магнитоле с Android 4.2 на который уже нельзя установить Алису. Всё хорошо по описанию, кроме одного нюанса - производитель решил умолчать о том, что свой web-сервер для получения json-команд он не предоставляет и его нужно поднимать самому фактически ради одной единственной команды ОТКРЫТЬ шлагбаум. Напомнив о себе еще раз и обещаниях выпустить защищенное от копирования приложение - служба поддержки компании объявила стоимость для "кастомного решения" в 1.5 млн рублей и 3-4 месяца работы и прекратила общение внеся адрес в спам-фильтр: вот такой бизнес по-русски. В итоге мы имеем простой GSM-модуль по цене в 2 с лишним раза выше рыночной от компании Нависет, который свои функции выполняет в полном объеме, но только по звонку, о какой либо возможности использовать его для безопасного управления по сети на текущий момент речи, к сожалению, нет.

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

Теги:
Хабы:
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.