14 октября 2011 в 18:49

Переделка видеонаблюдения под Скайлинк

Удалось подружить Скайлинк с системой видеонаблюдения. Причем это оказалось довольно просто.

Напомню, что для перехода на Скайлинк мне нужно было найти ответы на следующие вопросы:

  1. Насколько совместим маршрутизатор Edimax 3G-6200n с модемом AnyData ADU-310А. В некоторых местах было написано, что необходимо вручную поднимать соединение каждый раз после разрыва.
  2. Что вбивать в поле APN? Ведь в CDMA-стандарте такого нет.
  3. Где указать номер телефона #777, который отличается от номера 3G-GSM (*99#)?
  4. Как заставить всю систему поднимать соединение, если оно по каким-то причинам завершилось.
Часть ответов дали вот здесь. Кое-что пришлось проверять экспериментально. Для начала за 1800 руб. приобрел модем. Два месяца Интернета к нему прилагаются бесплатно. Потом карточку, скорее всего придется заменить, поскольку условия акции не позволяют менять тарифный план.

Модем был установлен вместо мегафоновского, и система приняла вот такой вид.

Ввод кабеля от антенны в систему видеонаблюдения

Система видеонаблюдения с модемом AnyData ADU-310A

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

Определение модема AnyData ADU-310A маршрутизатором Edimax 3G-6200n

Вот окно старых настроек под Мегафон.

Окно настроек модема Huawei E1550 в маршрутизаторе Edimax 3G-6200n

Для настройки модема Скайлинк необходимо оставить поле APN пустым. В качестве имени пользователя вбить «mobile», в качестве пароля «internet». При смене типа соединения с 3G на CDMA в последнем поле автоматически появится номер #777.

Окно настроек модема AnyData ADU-310A в маршрутизаторе Edimax 3G-6200n

Теперь отключим режим Failover. Этот режим предусматривает, что в случае аварии соединения 3G, будет попытка подключиться через проводный интернет (порт WAN). А если и там сбой, то маршрутизатор переходит в режим ожидания ручного старта сессии. Именно с этим и связаны отзывы людей о том, что необходимо всегда стартовать сессии вручную.

Запрет переключения на интерфейс WAN

После этих действий я перезагрузил роутер и сразу все заработало. Даже соединение модем переустанавливает в автоматическом режиме.

Jan 1 00:01:23 (none) local2.info pppd[1477]: Serial connection established.

Jan 1 00:01:23 (none) local2.debug pppd[1477]: using channel 1

Jan 1 00:01:23 (none) local2.notice pppd[1477]: Connect: ppp4 <--> /dev/ttyUSB0

Jan 1 00:01:24 (none) local2.debug pppd[1477]: rcvd [LCP ConfReq id=0x1 ]

Jan 1 00:01:24 (none) local2.debug pppd[1477]: sent [LCP ConfReq id=0x1 ]

Jan 1 00:01:24 (none) local2.debug pppd[1477]: lcp_reqci: returning CONFACK.

Jan 1 00:01:24 (none) local2.debug pppd[1477]: sent [LCP ConfAck id=0x1 ]

Jan 1 00:01:24 (none) local2.debug pppd[1477]: rcvd [LCP ConfRej id=0x1 ]

Jan 1 00:01:24 (none) local2.debug pppd[1477]: sent [LCP ConfReq id=0x2 ]

Jan 1 00:01:24 (none) local2.debug pppd[1477]: rcvd [LCP ConfAck id=0x2 ]

Jan 1 00:01:24 (none) local2.debug pppd[1477]: rcvd [CHAP Challenge id=0x1 , name = ""]

Jan 1 00:01:24 (none) local2.debug pppd[1477]: sent [CHAP Response id=0x1 <2a5f9160edf66074ad6930acd60df125>, name = "mobile"]

Jan 1 00:01:24 (none) local2.debug pppd[1477]: rcvd [CHAP Success id=0x1 ""]

Jan 1 00:01:24 (none) local2.info pppd[1477]: CHAP authentication succeeded

Jan 1 00:01:24 (none) local2.notice pppd[1477]: CHAP authentication succeeded

Jan 1 00:01:24 (none) local2.debug pppd[1477]: sent [CCP ConfReq id=0x1 ]

Jan 1 00:01:24 (none) local2.debug pppd[1477]: sent [IPCP ConfReq id=0x1 ]

Jan 1 00:01:24 (none) local2.debug pppd[1477]: rcvd [IPCP ConfReq id=0x1 ]

Jan 1 00:01:24 (none) local2.debug pppd[1477]: ipcp: returning Configure-ACK

Jan 1 00:01:24 (none) local2.debug pppd[1477]: sent [IPCP ConfAck id=0x1 ]

Jan 1 00:01:24 (none) local2.debug pppd[1477]: rcvd [LCP ProtRej id=0x1 80 fd 01 01 00 07 15 03 2f]

Jan 1 00:01:24 (none) local2.debug pppd[1477]: Protocol-Reject for 'Compression Control Protocol' (0x80fd) received

Jan 1 00:01:24 (none) local2.debug pppd[1477]: rcvd [IPCP ConfNak id=0x1 ]

Jan 1 00:01:24 (none) local2.debug pppd[1477]: sent [IPCP ConfReq id=0x2 ]

Jan 1 00:01:24 (none) local2.debug pppd[1477]: rcvd [IPCP ConfAck id=0x2 ]

Jan 1 00:01:24 (none) local2.debug pppd[1477]: ipcp: up

Jan 1 00:01:24 (none) local2.warn pppd[1477]: Local IP address changed to 92.36.85.50

Jan 1 00:01:24 (none) local2.warn pppd[1477]: Remote IP address changed to 212.119.97.90

Jan 1 00:01:24 (none) local2.debug pppd[1477]: sent [IP data] 45 00 00 3c 00 00 40 00 ...

Jan 1 00:01:24 (none) local2.debug pppd[1477]: Script /etc/ppp/ip-up started (pid 1591)

Sep 25 10:57:15 (none) local2.info pppd[1477]: System time change detected.

Sep 25 10:57:17 (none) daemon.notice miniupnpd[1983]: HTTP listening on port 5000

Sep 25 10:57:22 (none) user.notice /bin/ez-ipupdate[2065]: ez-ipupdate Version 3.0.10, Copyright © 1998—2000 Angus Mackay.

Sep 25 10:57:22 (none) user.notice /bin/ez-ipupdate[2065]: /bin/ez-ipupdate started for interface ppp4 host x.dyndns-ip.com using server members.dyndns.org and service dyndns

Sep 25 10:57:23 (none) user.notice /bin/ez-ipupdate[2065]: successful update for ppp4->92.36.85.50 (x.dyndns-ip.com)

Sep 25 10:57:23 (none) local2.debug pppd[1477]: Script /etc/ppp/ip-up finished (pid 1591), status = 0×0

Sep 25 18:57:14 (none) local2.debug pppd[1477]: rcvd [LCP ConfReq id=0x1 ]

Sep 25 18:57:14 (none) local2.debug pppd[1477]: ipcp: down

Sep 25 18:57:14 (none) local2.info pppd[1477]: Connect time 480.1 minutes.

Sep 25 18:57:14 (none) local2.info pppd[1477]: Sent 8279987 bytes, received 1856557 bytes.

Sep 25 18:57:14 (none) daemon.notice miniupnpd[1983]: received signal 15, good-bye

Sep 25 18:57:14 (none) local2.debug pppd[1477]: Script /etc/ppp/ip-down started (pid 8671)

Sep 25 18:57:14 (none) local2.debug pppd[1477]: CCP: Down event in state 1!

Sep 25 18:57:14 (none) local2.debug pppd[1477]: sent [LCP ConfReq id=0x3 ]

Sep 25 18:57:14 (none) local2.debug pppd[1477]: lcp_reqci: returning CONFACK.

Sep 25 18:57:14 (none) local2.debug pppd[1477]: sent [LCP ConfAck id=0x1 ]

Sep 25 18:57:14 (none) local2.debug pppd[1477]: Script /etc/ppp/ip-down finished (pid 8671), status = 0×0

Sep 25 18:57:14 (none) local2.debug pppd[1477]: rcvd [LCP ConfRej id=0x3 ]

Sep 25 18:57:14 (none) local2.debug pppd[1477]: sent [LCP ConfReq id=0x4 ]

Sep 25 18:57:14 (none) local2.debug pppd[1477]: rcvd [LCP ConfAck id=0x4 ]

Sep 25 18:57:14 (none) local2.debug pppd[1477]: rcvd [CHAP Challenge id=0x1 <04330c91d1cd27b8e66432de667aee3bee5bba62e0a92e100b6cee24252240>, name = ""]

Sep 25 18:57:14 (none) local2.debug pppd[1477]: sent [CHAP Response id=0x1 <25aac3ca078e76bb31edff6dd8723837>, name = "mobile"]

Sep 25 18:57:15 (none) local2.debug pppd[1477]: rcvd [CHAP Success id=0x1 ""]

Sep 25 18:57:15 (none) local2.info pppd[1477]: CHAP authentication succeeded

Sep 25 18:57:15 (none) local2.notice pppd[1477]: CHAP authentication succeeded

Sep 25 18:57:15 (none) local2.debug pppd[1477]: sent [CCP ConfReq id=0x2 ]

Sep 25 18:57:15 (none) local2.debug pppd[1477]: sent [IPCP ConfReq id=0x3 ]

Sep 25 18:57:15 (none) local2.debug pppd[1477]: rcvd [IPCP ConfReq id=0x1 ]

Sep 25 18:57:15 (none) local2.debug pppd[1477]: ipcp: returning Configure-ACK

Sep 25 18:57:15 (none) local2.debug pppd[1477]: sent [IPCP ConfAck id=0x1 ]

Sep 25 18:57:15 (none) local2.debug pppd[1477]: rcvd [LCP ProtRej id=0x1 80 fd 01 02 00 07 15 03 2f]

Sep 25 18:57:15 (none) local2.debug pppd[1477]: Protocol-Reject for 'Compression Control Protocol' (0x80fd) received

Sep 25 18:57:15 (none) local2.debug pppd[1477]: rcvd [IPCP ConfNak id=0x3 ]

Sep 25 18:57:15 (none) local2.debug pppd[1477]: sent [IPCP ConfReq id=0x4 ]

Sep 25 18:57:15 (none) local2.debug pppd[1477]: rcvd [IPCP ConfAck id=0x4 ]

Sep 25 18:57:15 (none) local2.debug pppd[1477]: ipcp: up

Sep 25 18:57:15 (none) local2.debug pppd[1477]: Script /etc/ppp/ip-up started (pid 8674)

Sep 25 18:57:19 (none) daemon.notice miniupnpd[9088]: HTTP listening on port 5000

Sep 25 18:57:23 (none) user.notice /bin/ez-ipupdate[9196]: ez-ipupdate Version 3.0.10, Copyright © 1998—2000 Angus Mackay.

Sep 25 18:57:23 (none) user.notice /bin/ez-ipupdate[9196]: /bin/ez-ipupdate started for interface ppp4 host x.dyndns-ip.com using server members.dyndns.org and service dyndns

Sep 25 18:57:25 (none) user.notice /bin/ez-ipupdate[9196]: successful update for ppp4->92.36.85.50 (x.dyndns-ip.com)

Sep 25 18:57:25 (none) local2.debug pppd[1477]: Script /etc/ppp/ip-up finished (pid 8674), status = 0×0

Sep 26 03:05:34 (none) local2.debug pppd[1477]: rcvd [LCP ConfReq id=0x1 ]

Sep 26 03:05:34 (none) local2.debug pppd[1477]: ipcp: down

Sep 26 03:05:34 (none) local2.info pppd[1477]: Connect time 488.4 minutes.

Sep 26 03:05:34 (none) local2.info pppd[1477]: Sent 867707 bytes, received 227212 bytes.

Sep 26 03:05:34 (none) daemon.notice miniupnpd[9088]: received signal 15, good-bye

Вот скоростные параметры Скайлинка.

Измерения скорости передачи через Edimax 3G-6200n

Второй важный вопрос — это сделать так, чтобы камера сама инициировала установление соединения. Для этого в камере есть режим отсылки тестовых сообщений на почту и загрузку их на http-сервер. Чтобы максимально гарантировать работоспособность канала, я использовал обе возможности.

Но прежде я долго разбирался с одной проблемой. Я не мог понять, почему камера не хочет стучать наружу вообще. Сообразил: в камере жестко установлен IP-адрес, чтобы можно было сделать проброс трафика через Port Forwarding. Как следствие, камера не получает DNS-серверы от маршрутизатора. Поэтому первым делом прописываем DNS вручную.

Настройка DNS- и NTP-серверов в видеокамере AXIS M1011

Теперь камера наконец-то стала синхронизировать время (чего раньше не было). Я только сменил адрес неизвестного мне сервера времени на IP-адрес, который вписан в моем Маке.

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

Скрипт приема сообщений от видокамеры по протоколу HTTP

Настройка сервера HTTP для приема Events от видеокамеры

Настройка сервера HTTP для приема Events от видеокамеры

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

Почтовое сообщение, отсыаемое скриптом при активации видеокамерой

Заодно настроил почту в самой видеокамере, чтобы она самостоятельно отсылала мне служебные сообщения.

Затем настроил расписание отсылки, так называемых, триггеров. Это сообщения, которые высылаются в определенный день и час. Вот как это выглядит.

Настройка расписания отсылки сообщений от видеокамеры

Настройка отсылки уведомлений от камеры в 10:00

Теперь вроде бы все должно работать как надо.

PS: Вскоре после того (через пару суток), как я написал эту заметку, система видеонаблюдения перестала работать опять. Я уже не знал, что думать. Но приехав на объект, с возмущением на себя заметил, что автомат питания системы выключен, а автомат на аккумуляторе — включен. smile Зато теперь знаю, что от аккумулятора система работает примерно 40 часов. smile

PPS: Глюки, о которых я писал, продолжились. По состоянию на 12.10.2011 я перепрошил маршрутизатор с версии 2.21o на 2.24g с российского сайта Edimax. Вроде бы глюк пропал. По крайней мере в логах я уже начнаю видеть успешный ре-коннект.

Поделиться заметкой
Опубликовать в Google Plus
Опубликовать в LiveJournal
Опубликовать в Мой Мир
Опубликовать в Одноклассники

Материалы по теме:

Один комментарий

  • Александр
    23 января 2012 в 03:41

    Что очень приятно у Скайлинк — так это то, что не нужно заказывать услугу real IP. Тот IP адрес, который получает CDMA router от провайдера, прекрасно доступен через ddns. Остается только грамотно пробросить порты (я традиционно назначаю внешние порты 8085, 8090, 8095) — если камер несколько — и видеонаблюдение работает. Имея на даче доступ во внутреннюю сеть дома, просто расточительно использовать интернет только для наблюдения и передачи видео. Можно контролировать температуру в разных точках дома, подвала, улицы и управлять любой электрикой. Я использую вот эти устройства удаленного присутствия — www.netping.ru/catalog.aspx?id=_nping_power Это и управление нагрузками через интернет, это и контроль всего, что только возможно. Принцип доступа извне тот же самый — устройству назначается уникальный IP адрес внутри локальной сети и уникальный порт, который на роутере пробрасывается до данного устройства. Т.о. можно удаленно заходить на web интерфейс и управлять. Кроме всего, там уже есть сторожевой таймер и пингер с гибко настраиваемой логикой — что делать, если пинг пропадет.

    Ответить

Ваш комментарий:

Поля, помеченные символом * обязательны для заполнения.

CAPTCHA image