Меню Рубрики

Установка gsm модуля doorhan

Доработка модуля шлагбаума Doorhan GSM для управления через интернет

Недавно было решено установить в многоквартирном доме шлагбаум с управлением через GSM. Причины и необходимость этого решения остаются за рамками статьи, я же хочу написать про то, как «на коленке» сделал интерфейс для управления модулем через Интернет. И даже немного с блэкджеком, управлением базой автомобилей с мобильного телефона и фотографиями моментов въезда с уличной камеры. Возможно кто-то захочет внедрить у себя.

Предупрежу, что в статье не описано готовое решение «из коробки», а скорее proof of concept.

Часть 1. Почему такой контроллер

Перед тем, как ставить GSM-модуль был проведен некоторый обзор рынка таких систем. Хотелось получить недорогое, надежное и отработанное решение. Ну и чтобы «в наличии» было у установщиков, имелся какой-то опыт работы с ним и т.д.

Установщики на выбор предлагали либо ESIM 110/120 за

12000р с доступом в интернет, либо Doorhan GSM за

6000р с управлением через SMS или настройкой через USB-шнурок.

Вариант «сделать свой девайс из arduino + gsm модуль за $3» не рассматривался, так решение должно быть точно надежным и обкатанным. Представьте, кто-то не смог заехать домой? Потом неприятностей получишь по полной.

Так же не хотелось лотереи с покупкой устройства в Китае на Али, опять же во избежание проблем с надежностью. Хотя цены начинаются от 1500р.

Минусом ESIM120, кроме стоимости х2 было то, что для выхода в интернет использовался GPRS-интернет. Для кого-то может это и плюс, но в нашем случае тянет за собой расходы на мобильную связь — придется брать тариф с интернетом. Сейчас же на сим-карте подключен тариф без абонентской платы, и для того, чтобы номер не заблокировался, раз в 2-3 месяца планирую подключать из личного кабинета оператора какую нибудь платную подписку за 2-3 рубля в сутки, на одни сутки. Например «погоду», «анекдоты» или что там еще полезно для шлагбаума )

Про Doorhan GSM я знал, что помимо управления через SMS (мало интересно) он подключается по USB к компьютеру и через собственное ПО позволяет управлять базой номеров.

Часть 2. Проброс управления

Так как блок управления шлагбаумом планировалось ставить в 20 метрах от помещения, где расположен домовой IP-видеорегистратор и узел связи местного интернет-провайдера, то было решено взять Doorhan и «нарастить» USB через роутер вроде TP-Link MR3020 стоимостью 1200р, OpenWRT и программ из проекта USBIP

С роутером получилось даже несколько проще — нашел в закромах старый ASUS WL500gP, который для интернета не очень годится по нынешним меркам, зато имеет 2 USB порта. Его и использовал.

Для usbip пришлось поставить старую версию OpenWRT, 12.09, потому как на новых не работает этот модуль ядра. Подключение роутера к сети описывать не буду. Если у кого-то он будет не в локальной сети, возможны варианты с пробросом портов, UPNP или настройкой VPN, на ваш вкус.

Устанавливаем kmod-usbip-server и проверяем, что у нас можно экспортировать

Нам нужен busid устройства, 1-1.1 на котором располагается наш подключенный контроллер GSM. Забегая вперед, оказалось что это банальный COM->USB конвертер на чипе CH341

На компьютере с Windows устанавливаем драйвера USBIP и запускаем

где 10.16.19.19 IP-адрес нашего роутера с OpenWRT. Разумеется, для начала нужно отрыть доступ либо с вашего IP к роутеру в firewall, либо подключаться с локальной сети, либо любой из 1000 других вариантов от VPN до P2P.

Если все прошло успешно, то Windows радостно заявляет, что обнаружено новое устройство USB-to-Serial Converter CH340, даем ей драйвера и в системе появляется COM-порт.

Теперь можем запустить программку из комплекта с контроллером и управлять номерами в базе сидя дома на диване

Часть 3. Контроль въездов

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

Оказывается, GSM-модуль контроллера периодически шлет AT команды с уровнем сигнала в консоль, а так же при звонке пишет номер телефона, с которого поступает звонок. Управлять модулем AT командами не получилось, видимо они не транслируются от модуля контроллера в модуль модема.

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

Для этого на OpenWRT устанавливаем kmod-usb-serial-ch341, отключаем трансляцию USBIP командой usbip unbind -b 1-1.1 и делаем insmod ch341.

После чего прямо на роутере можно подключиться к /dev/ttyUSB0 и смотреть что там происходит со звонками в контроллере.

Читайте также:  Установка подкапотного замка самостоятельно

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

На сервере создал базу в mysql и пару табличек: с номерами телефонов наших жильцов, и с логом звонков. Стало возможно сопоставить кто в какое время открывал шлагбаум, и пытаются ли им пользоваться с неизвестных номеров.

Вторая идея, которая пришла мне в голову — сделать связку между событием открывания шлагбаума и фото этого события. Дело в том, как я упоминал выше, вокруг дома стоят AHD камеры, которые пишут на регистратор с доступом к потоку по IP. Причем одну из камер специально повернули на шлагбаум, в ожидании что его будут ломать.

Как снять jpeg с нашего китайского регистратора мне найти не удалось, хотя во многих камерах есть Preview URL. Поэтому пошел в лоб — в момент звонка получаю RTSP и делаю из него JPG.

С таким же успехом можно было писать маленькие ролики в mp4, но я посчитал это лишним.
Фотографии решил хранить блобами в MySQL. Решение по производительности так себе, зато «таскать» проектик будет проще, не нужно копировать и базу и файлы, все в базе. А нагрузка на него никакая по сути.

В результате лог въездов выглядит как-то так:

Часть 4. Загрузка номеров из SQL базы на сайте в контроллер

Если вы внимательно читали, то наверное заметили — для регистрации въездов USB порт роутера работал в режиме Serial-to-USB преобразователя, а для работы с базой номеров внутри контроллера приходилось «прокидывать» его через USBIP на домашний компьютер и там через программу для Windows вносить изменения. Это не совсем удобно, нужно было делать unbind/bind да еще на домашнем компьютере запускать usbip консольный. Ну и делать это можно было только из дома (ну либо опять RDP/VPN и проч и проч), и тем более не с телефона мобильного. Вдвойне накаляло то, что базу номеров надо было вести и в mdb-формате (программа для контролера может выгружать данные в Access) и в веб-версии.

Беглый гуглеж протокола работы Doorhan GSM ничего не дал. Не исключаю, что это какая-то китайская девайсина под маркой Doorhan, тем не менее. Поэтому вооружился монитором (сниффером) для COM-порта и снял несколько дампов при работе из оригинального приложения.

Получил что-то вроде:
Команда на очистку памяти aa 02 09 00 00 03 e8 01 00 00 00 00 ee
Ответ что все прошло хорошо aa 20 00 ee
Команда на запись одного номера +79999999999
aa 03 10 00 01 2b 37 39 39 39 39 39 39 39 39 39 39 00 00 ee

Из чего сделал такие выводы:
начало посылки АА, конец посылки ЕЕ
Ответ, что команда принята 20 00
Команда на начало записи номера 03. Потом идет количество номеров в посылке. Может быть от 1 до 5, то есть за одну посылку можно отправить сразу несколько номеров подряд, закончив посылку командой ЕЕ, и получить одно подтверждение на блок.

После команды начала записи идет 2 байта (второй точно, первый возможно будет использоваться при количестве номеров больше 256 но не проверял), указывающие порядковый номер записи в ячейке. То есть если писать в пустую память, то сначала это 1, потом 2 и так далее. После чего идет 14 байт номера телефона. Так как наши номера«входят» в 12 байт (+79999999999) то последние 2 байта заняты нулями. Вероятно для всяких международных форматов типа +10. Это не точно, сильно не вникал, потому что хватило этих данных.

Завершается посылка байтом ЕЕ.

С порядковым номером ячейки не совсем понятная ситуация. Допустим, в контроллер записано 10 номеров, память не очищали. Если отправить команду «записать номер в ячейку 5», то номер в этой ячейке после контрольной вычитки не изменится, но в контроллере будет записано 11 номеров, причем 11-й будет пустой. А если дать команду «записать номер в ячейку 11», то он запишется в нее. Вероятно это связано с командами ADD и REPLACE (добавить и изменить), которые можно слать через SMS. Но так как оригинальное приложение делает только полное стирание и последующую перезапись списка, проверить гипотезу не получается. Поэтому свой вариант делал тоже отправкой команды стирания и последовательной записи по одному номеру (для простоты).

Читайте также:  Установка полуоси уаз патриот

Итак, мы подошли к тому, чтобы писать в контроллер через последовательный порт команды на управление списком абонентов. Но порт в роутере, а база с пользователями на внешнем сервере. Переносить ее на роутер конечно можно (получится законченное решение «из коробки») но мне было лень. Пошел другим путем — прокинул /dev/ttyUSB0 по tcp с помощью пакета ser2net, который есть в поставке openwrt.

Конфиг /etc/ser2net.conf простой для неприличия

После запуска ser2net можно подключиться к роутеру telnet-ом на 3333 порт и проверить результат.

Хочется сделать оговорку: после перезапуска роутера внезапно не работал cat /dev/ttyUSB0. То есть конечно работал, но в консоль писал мусор. Вспомнил, что во время экспериментов на роутере я запускал minicom, который вероятно сделал инициализацию порта. Просто установив режим 9600 8n1 результата не дало, поэтому я посмотрел с помощью stty какие настройки порта стоят в «рабочем» состоянии и вписал в rc.local инициализацию

Наверняка что-то лишнее, читатели поправят возможно. Ну и если параметры порта указать в ser2net.conf то можно не ставить на роутер пакет stty.

В результате этих манипуляций на сервере с WEB-интерфейсом у нас стала доступна консоль контроллера. Поэтому немного перепишем код обработки звонков. Писал на PHP. Весь код стыдно показывать (я же не программист в конце концов, а использовал вставки из учебника), поэтому суть:

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

На sync_phones остановлюсь чуть подробнее, потому как там реализован тот самый «не публичный» алгоритм работы GSM-контроллера Doorhan. И да, рукалицо, я использовал mysql вместо pdo или mysqli.

Часть 5. Заключение

В результате я получил (написал) WEB-интерфейс для шлагбаума, куда могу заходить через мобильный браузер, добавлять/удалять/изменять там номера жильцов нашего дома, делать пометки, с привязкой к квартире, ФИО, номеру телефона, номеру авто. Есть фотографии авто, лог въездов через шлагбаум с фото. В будущем, по логам посмотрю кто создает наибольшую нагрузку на шлагбаум — тот и будет оплачивать ремонт 🙂

Ну и бонусом получил WIFI-точку на парковке возле дома.

Цена вопроса — 0 рублей и выходной за компом.

источник

Модуль GSM-3.0

Параметр Значение Примечание
Напряжение питания, В 12/24 В AC/DC
Потребляемая мощность, Вт не более 2
Память приемника до 3500 номеров
Класс защиты IP IP65
Диапазон рабочих температур, °С -40. +55

* — В соответствии с требованиями Федерального закона от 27.07.2006 г. № 152-ФЗ «О персональных данных» я выражаю согласие на обработку ООО «ДорХан – Торговый Дом» (обслуживает сайт www.doorhan.ru, ИНН 7722174859, ОГРН 1027739654700, местонахождение: 143002, Московская область, Одинцовский район, с.Акулово, ул. Новая, д. 120) своих персональных данных без оговорок и ограничений, совершение с моими персональными данными действий, предусмотренных п.3 ч.1 ст.3 Федерального закона от 27.07.2006 г. №153-ФЗ «О персональных данных», и подтверждаю, что, давая такое согласие, действую свободно, по своей воле и в своих интересах. Согласие на обработку персональных данных дается мной в целях получения услуг, оказываемых ООО «ДорХан – Торговый Дом».

Перечень персональных данных, на обработку которых предоставляется согласие: фамилия, имя, отчество, место пребывания (город, область), номера телефонов, адреса электронной почты (E-mail).

Я выражаю свое согласие на осуществление со всеми указанными персональными данными следующих действий: сбор, запись, систематизация, накопление, хранение, уточнение (обновление или изменение), извлечение, использование, передача, распространение (предоставление, доступ), обезличивание, блокирование, уничтожение, передача, в том числе трансграничная передача, а также осуществление любых иных действий с персональными данными в соответствии с действующим законодательством. Обработка данных может осуществляться как с использованием средств автоматизации, так и без их использования (при неавтоматической обработке). При обработке персональных данных ООО «ДорХан — Торговый Дом» не ограничено в применении способов их обработки.

Настоящим я признаю и подтверждаю, что в случае необходимости ООО «ДорХан — Торговый Дом» вправе предоставлять мои персональные данные третьим лицам исключительно в целях оказания услуг, указанных в настоящем Соглашении, услуг технической поддержки, а также (в обезличенном виде) в статистических, маркетинговых и научных иных целях. Такие третьи лица имеют право на обработку персональных данных на основании настоящего согласия.

Данное согласие действует с момента проставление отметки «V» в поле слева от фразы «Принимаю условия «Соглашения на обработку персональных данных» на сайте www.doorhan.ru и до даты его отзыва мною путем направления в ООО «ДорХан — Торговый Дом» подписанного мною соответствующего письменного заявления, которое может быть направлено мной в адрес ООО «ДорХан — Торговый Дом» по почте заказным письмом с уведомлением о вручении, либо вручено лично под расписку надлежаще уполномоченному представителю ООО «ДорХан — Торговый Дом».

Читайте также:  Установка и сервис септиков

В случае получения моего письменного заявления об отзыве настоящего согласия на обработку персональных данных, ООО «ДорХан — Торговый Дом» обязано прекратить их обработку и исключить персональные данные из базы данных, в том числе электронной, за исключением сведений о фамилии, имени, отчестве.

источник

Обновлено программное обеспечение модуля GSM 3.0 до версии 3.2

Специалисты Международный Концерн DoorHan усовершенствовали программное обеспечение GSM-модуля 3.0. Устройство предназначено для приема сигнала с мобильного телефона и передачи дистанционных команд для управления шлагбаумов, приводов, различных типов автоматических систем, освещения и других типов электрооборудования.

Представляем вашему вниманию новые функции программного обеспечения версии 3.2.
1. Экспорт или импорт номеров из электронных таблиц (Microsoft Excel, Open Document и т. п.).
2. Подтверждение выполнения команд через смс-информирование (функция настраивается по желанию пользователя). Если данная функция включена, то при успешном выполнении смс-команды, в ответ отправителю придет сообщение с текстом «sms accepted OK!».
3. Анти-дозвон (функция настраивается по желанию пользователя). Если данная функция включена, реле сработает на втором гудке. Функция позволяет устранить ложное срабатывание реле от авто-дозвона оператора сотовой связи.
4. Строка поиска номера, позволяющая за считанные секунды найти нужный номер из базы на 3500 номеров. Пользователю не придется перелистывать весь список вручную, достаточно ввести нужный номер в строку поиска и нажать на значок «лупа».

  • количество номеров в памяти устройства — 3 500,
  • напряжение питания — 12/24 В AC/DC,
  • потребляемая мощность — не более 2 Вт,
  • температура эксплуатации — -40. +55 °С,
  • рабочие диапазоны системы GSM/GPRS — 850/900/1 800/1 900 МГц,
  • вид связи — только 2G,
  • максимальная коммутируемая нагрузка через реле — NO 7 A / NC 5 A при

Подробнее ознакомиться с новыми функциями GSM-модуля 3.0 вы можете в инструкции, пройдя по ссылке.

Модуль GSM 3.0 с программным обеспечением 3.2 уже доступен для заказа. Подробности уточняйте у вашего персонального менеджера.

* — В соответствии с требованиями Федерального закона от 27.07.2006 г. № 152-ФЗ «О персональных данных» я выражаю согласие на обработку ООО «ДорХан – Торговый Дом» (обслуживает сайт www.doorhan.ru, ИНН 7722174859, ОГРН 1027739654700, местонахождение: 143002, Московская область, Одинцовский район, с.Акулово, ул. Новая, д. 120) своих персональных данных без оговорок и ограничений, совершение с моими персональными данными действий, предусмотренных п.3 ч.1 ст.3 Федерального закона от 27.07.2006 г. №153-ФЗ «О персональных данных», и подтверждаю, что, давая такое согласие, действую свободно, по своей воле и в своих интересах. Согласие на обработку персональных данных дается мной в целях получения услуг, оказываемых ООО «ДорХан – Торговый Дом».

Перечень персональных данных, на обработку которых предоставляется согласие: фамилия, имя, отчество, место пребывания (город, область), номера телефонов, адреса электронной почты (E-mail).

Я выражаю свое согласие на осуществление со всеми указанными персональными данными следующих действий: сбор, запись, систематизация, накопление, хранение, уточнение (обновление или изменение), извлечение, использование, передача, распространение (предоставление, доступ), обезличивание, блокирование, уничтожение, передача, в том числе трансграничная передача, а также осуществление любых иных действий с персональными данными в соответствии с действующим законодательством. Обработка данных может осуществляться как с использованием средств автоматизации, так и без их использования (при неавтоматической обработке). При обработке персональных данных ООО «ДорХан — Торговый Дом» не ограничено в применении способов их обработки.

Настоящим я признаю и подтверждаю, что в случае необходимости ООО «ДорХан — Торговый Дом» вправе предоставлять мои персональные данные третьим лицам исключительно в целях оказания услуг, указанных в настоящем Соглашении, услуг технической поддержки, а также (в обезличенном виде) в статистических, маркетинговых и научных иных целях. Такие третьи лица имеют право на обработку персональных данных на основании настоящего согласия.

Данное согласие действует с момента проставление отметки «V» в поле слева от фразы «Принимаю условия «Соглашения на обработку персональных данных» на сайте www.doorhan.ru и до даты его отзыва мною путем направления в ООО «ДорХан — Торговый Дом» подписанного мною соответствующего письменного заявления, которое может быть направлено мной в адрес ООО «ДорХан — Торговый Дом» по почте заказным письмом с уведомлением о вручении, либо вручено лично под расписку надлежаще уполномоченному представителю ООО «ДорХан — Торговый Дом».

В случае получения моего письменного заявления об отзыве настоящего согласия на обработку персональных данных, ООО «ДорХан — Торговый Дом» обязано прекратить их обработку и исключить персональные данные из базы данных, в том числе электронной, за исключением сведений о фамилии, имени, отчестве.

источник

Добавить комментарий

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