Search
Write a publication
Pull to refresh

Выбирайте правильный 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 с лишним раза выше рыночной от компании Нависет, который свои функции выполняет в полном объеме, но только по звонку, о какой либо возможности использовать его для безопасного управления по сети на текущий момент речи, к сожалению, нет.

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

Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.