1 2 3 4 5 6 7 8 9 10 9.5/10 9,74оценок: 35

Автоматизация инженерных систем в доме или как я обучал Дом уму-разуму

Тема в разделе "Умный дом", создана пользователем Smith2007, 09.01.15.

  1. Smith2007
    Регистрация:
    27.05.12
    Сообщения:
    1.265
    Благодарности:
    746

    Smith2007

    Живу здесь

    Smith2007

    Живу здесь

    Регистрация:
    27.05.12
    Сообщения:
    1.265
    Благодарности:
    746
    Адрес:
    Россия
    именно так. видеопоток от двух камер не высокий. (720*576*3fps)*[2..4] Но в любом случае грузить wifi глупо, когда рядом порт локалки и девайс стационарный (планшет на стене висит).

    Можно подробнее про ваш способ?
     
  2. cyrus-
    Регистрация:
    25.02.15
    Сообщения:
    133
    Благодарности:
    38

    cyrus-

    Живу здесь

    cyrus-

    Живу здесь

    Регистрация:
    25.02.15
    Сообщения:
    133
    Благодарности:
    38
    Протокол L2TP менее требователен к ресурсам процессора, чем PPTP.
    Именно по этой причине провайдеры перешли на него с ростом тарифных скоростей - экономия ресурсов.
    Разница в потребительских качествах бытовых роутеров (PPTP быстро, а L2TP часто медленно) - из за различий реализации в прошивке.
    Давно появившийся PPTP, во всех представленных на рынке роутерах работает в пространстве ядра Linux (так называемо "ядерно ускорен"), в то время как L2TP появился сравнительно недавно и в многих роутерах до 2014-2015 года выпуска работает в виде запущенного на роутере пользовательского приложения.
    Отсюда тормоза.

    Для повышения скорости L2TP достаточно поставить openwrt и настроить там пакет xl2tp на работу с модулем L2TP уровня ядра

    В 2013 году мне потребовался быстрый L2TP роутер задешево.
    Я взял DLink DIR-615.
    На заводской прошивке получилось около 14-15МБит.
    На openwrt с xl2tp - 68-70МБит L2TP.
     
  3. cyrus-
    Регистрация:
    25.02.15
    Сообщения:
    133
    Благодарности:
    38

    cyrus-

    Живу здесь

    cyrus-

    Живу здесь

    Регистрация:
    25.02.15
    Сообщения:
    133
    Благодарности:
    38
    Есть набор протоколов, стандартизирующих эмуляцию коммуникационных устройств поверх шины USB. Так же как например класс USB HID описывает устройства пользовательского ввода - клавиатуры, мыши, джостики.

    Называется оно CDC (https://ru.wikipedia.org/wiki/USB_communications_device_class)
    Этот класс описывает как эмулировать через USB последовательные порты, модемы, сетевые адаптеры.
    Соответственно Ethernet CDC это оно и есть - стандарт того как эмулировать сетевую плату через USB.
    Сейчас этот стандарт стал доминирующим, если я не ошибаюсь он по умолчанию используется в Android в режиме отладки по USB для разработчиков.

    Существуют и иные стандарты разных производителей
    http://en.wikipedia.org/wiki/Ethernet_over_USB

    Соответственно для этого самого Ethernet CDC есть драйвера под разные операционные системы.
    В openwrt данный функционал обеспечивают пакеты kmod-usb-net and kmod-usb-net-cdc-ether.
    В большинстве десктопных дистрибьюторов Linux данный драйвер тоже есть "из коробки" (вроде). То есть просто втыкаем гаджет с активированным CDC и у нас появляется "новое сетевое устройство USB0"
    Под Windows работающий драйвер только платный или демоверсия, работающая 30 минут после каждой перезагрузки системы.

    Функционал CDC в явном виде я никогда под Windows не настраивал, так как компанией гугл он скрыт и спрятан в недрах Android SDK

    То есть когда мы включаем "отладку по USB", подключаем наш планшет и пишем на компьютере например adb forward tcp 80 80, то как раз задействуется этот самый замаскированный CDC, но на виндовс адаптер не видно (на линукс ставить Android SDK не пробовал)

    Да, нужно еще уточнить что реализация Ethernet CDC на USB HOST (на "компе") и Ethernet CDC на "гаджете" это два разных драйвера. один "мастер", другой "слейв".

    Я попробую сегодня-завтра посмотреть как выглядит "отладка под USB" при подключении к Linux и расскажу вам.
     
  4. cyrus-
    Регистрация:
    25.02.15
    Сообщения:
    133
    Благодарности:
    38

    cyrus-

    Живу здесь

    cyrus-

    Живу здесь

    Регистрация:
    25.02.15
    Сообщения:
    133
    Благодарности:
    38
    Попробовал, вот что получилось.

    Bus 001 Device 002: ID 18d1:d002 Google Inc.
    Device Descriptor:
    bLength 18
    bDescriptorType 1
    bcdUSB 2.10
    bDeviceClass 0 (Defined at Interface level)
    bDeviceSubClass 0
    bDeviceProtocol 0
    bMaxPacketSize0 64
    idVendor 0x18d1 Google Inc.
    idProduct 0xd002
    bcdDevice 2.32
    iManufacturer 1 LGE
    iProduct 2 Nexus 5
    iSerial 3 093e5dee00cab41f
    bNumConfigurations 1

    Configuration Descriptor:
    bLength 9
    bDescriptorType 2
    wTotalLength 32
    bNumInterfaces 1
    bConfigurationValue 1
    iConfiguration 0
    bmAttributes 0x80
    (Bus Powered)
    MaxPower 500mA
    Interface Descriptor:
    bLength 9
    bDescriptorType 4
    bInterfaceNumber 0
    bAlternateSetting 0
    bNumEndpoints 2
    bInterfaceClass 255 Vendor Specific Class
    bInterfaceSubClass 66
    bInterfaceProtocol 1
    iInterface 0


    Смартфон с Android 4.2.2 после включения в режиме отладки по USB экспортирует по шине один единственный некий "Vendor Specific Class" от Google Inc.

    В принципе это есть ожидаемо, так как в последних версиях Android предоставляется не любому компьютеру, а только тому, к которому была выполнена привязка по криптографическому ключу.

    При первом использовании adb connect с компьютера смартфон выдает предупреждение, что "вас пытается отлаживать компьютер с отпечатком ключа таким-то, вы хотите отдаца?"

    И дальше уже для этого компьютера отладка разрешена.
    Логично предположить, что при таком раскладе телефон не отдает Ethernet CDC и прочие usb devices классы до прохождения авторизации компьютера.

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

    Вобщем не взлетело, ставить на Linux сервер Android SDK для продолжения экспериментов я пока не готов.
    Думаю, можно просто погуглить на эту тему.
     
  5. Smith2007
    Регистрация:
    27.05.12
    Сообщения:
    1.265
    Благодарности:
    746

    Smith2007

    Живу здесь

    Smith2007

    Живу здесь

    Регистрация:
    27.05.12
    Сообщения:
    1.265
    Благодарности:
    746
    Адрес:
    Россия
    на планшете есть usb host (otg кабель в комплекте). Между источником (linux) контента и планшетом (android) длина utp кабеля составляет около 25м. Будет ли работать такая схема на таком расстоянии?
     
  6. cyrus-
    Регистрация:
    25.02.15
    Сообщения:
    133
    Благодарности:
    38

    cyrus-

    Живу здесь

    cyrus-

    Живу здесь

    Регистрация:
    25.02.15
    Сообщения:
    133
    Благодарности:
    38
    25 скорее всего не будет без промежуточных хабов. Речь в данном случае про hi-speed профиль.
    Дело в том, что для обмена по USB там есть разные скоростные профили.

    Вот что говорит о себе например мой смартфон Google Nexus 5.
    wSpeedsSupported 0x000f
    Device can operate at Low Speed (1Mbps)
    Device can operate at Full Speed (12Mbps)
    Device can operate at High Speed (480Mbps)
    Device can operate at SuperSpeed (5Gbps)
    bFunctionalitySupport 1
    Lowest fully-functional device speed is Full Speed (12Mbps)

    Я использую заводские шнуры-удлинители длинной по 5 метров, мои микроконтроллеры устойчиво работают в режиме 12MBit на расстоянии в 10м (два удлинителя).
    Надо отметить, что на дешевых китайских шнурках не работает - нужно чтоб была достаточная толщина жил и экранировка.

    Что касается профиля Low Speed то он без проблем поднимается и работает на расстоянии 45-50 метров по обычной витой паре, на прошлой работе мы использовали для дистанционного подключения USB клавиатуры и мыши к серверному помещению из дежурного помещения.

    Однако, как тут справедливо о себе рассказывает само устройство, полная функциональность обеспечивается не меньше чем от 12МБит. Хотя синхронизация телефоннной книжки и отправка СМС заработает и на Low.

    Хочу отметить что указанные тут HighSpeed и SuperSpeed это скорее всего уже режимы USB3 (опрос проводился с хоста USB2).

    Да, мои попытки воткнуть именно смартфон через 10м кабель "в лоб" потерпели неудачу, возможно как раз потому что он умеет и пытается согласовать скорости выше 12 мегабит.
    Микроконтроллеры выше 12 не умеют и не пробуют, поэтому хорошо стартуют.

    Теперь про OTG и USB-хост.
    Этот функционал предназначен для соединения, при котором ваш планшет будет выступать USB Master (host).
    Что, например, позволяет подключить к планшету 4G-модем в формате USB-свистка.

    Кстати, значительная часть 4G модемов работает именно в режиме Ethernet CDC.
    Например, это 4G модемы от оператора Yota. (не знаю есть ли в вашем городе)

    Выглядит это так - втыкаем "свисток" в компьютер/ноутбук, у нас через USB появляется "подключение по локальной сети" и оттуда по DHCP выдаются настройки. А на сам usb-модем дляя настройки можно зайти по адресу 192.168.0.1 (IP-адрес "свистка" в виртуальной ethernet-сети на участке компьютер-свисток)

    Но вам для целей "смотреть камеры на планшете" явно нужен обратный функционал - чтобы как usb host выступал или ваш NAS или один из расставленных по дому роутеров с openwrt (пламенный привет Unifi), а планшет выступал на шине USB как slave.
    И это логично, учитывая что у меня на одну WiFi-точку кое где по 6 подключенных микроконтроллеров используется.

    Скажу честно, схема эта кривоватая, и имея планшет с WiFi я возможно предпочел бы запустить через WiFi.
    Описанная топология (роутер - usb-хаб - контроллеры) появилась только из-за наличия значительного количества дешевых контроллеров с LCD которые надо было как то подключить.
    Если же рассматривать схему с usb-ethernet сетевой платой, то напрямую через USB будет и надежнее, и проще и еще и питание сразу по USB будет приходить.
     
  7. Smith2007
    Регистрация:
    27.05.12
    Сообщения:
    1.265
    Благодарности:
    746

    Smith2007

    Живу здесь

    Smith2007

    Живу здесь

    Регистрация:
    27.05.12
    Сообщения:
    1.265
    Благодарности:
    746
    Адрес:
    Россия
    Нужен именно хост. Нужно зайти браузером по адресу видеорегистратора, авторизоваться и открыть нужную раскладку камер. И это только одна часть. Тут же на планшете поднят клиент openhab, который позволяет проводить мониторинг состояний подсистем в доме и при необходимости корректировать новыми установками.
    Нашел в нете вот такие девайсы
    3040778.jpg 3040779.jpg
     
  8. cyrus-
    Регистрация:
    25.02.15
    Сообщения:
    133
    Благодарности:
    38

    cyrus-

    Живу здесь

    cyrus-

    Живу здесь

    Регистрация:
    25.02.15
    Сообщения:
    133
    Благодарности:
    38
    Smith2007 у вас смешались в кучу люди, кони.

    Рассмотрим ситуацию еще раз.

    Вы хотите использовать подключение по цепочке
    Планшет -> USB -> апаратный адаптер Ethernet -> Ethernet-порт в роутере (...)-> Видеорегистратор

    Я предлагаю вам оптимизировать цепочку в виде

    Планшет -> виртуальный Ethernet CDC адаптер -> USB -> USB-порт в роутере -> Видеорегистратор

    То есть пустить ethernet-кадры сразу по шине USB, не переводя их в аппаратный Ethernet.
    Это применимо только при соблюдении расстояний и наличии в нужном месте маршрутизатора с портом USB и прошивкой, поддерживающей USB через Ethernet.

    К тем ролям, которые займут устройства поверх tcp-ip сети топология USB в данном случае не относится.

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

    Если вам надо к одному роутеру/NAS подвесить несколько планшетов - то разумно воткнуть в роутер usb-хаб, а в него много планшетов.

    В ситуации "один планшет" "один роутер" конечно можно извратится и сделать чтоб usb host был планшет, но смысла в этом не видно никакого.
     
  9. cyrus-
    Регистрация:
    25.02.15
    Сообщения:
    133
    Благодарности:
    38

    cyrus-

    Живу здесь

    cyrus-

    Живу здесь

    Регистрация:
    25.02.15
    Сообщения:
    133
    Благодарности:
    38
    Далее, оба ваших адаптера будут гхм неудобны, так как на планшете у вас явно micro или mini порт. Продаются устройства сразу с таким разьёмом, без лишних переходников.
    Но опять таки, зачем втыкать в планшет два кабеля (зарядку и usb) если можно воткнуть только один ничего не потеряв в скорости?
    Или расстояния проблемны?
     
  10. Smith2007
    Регистрация:
    27.05.12
    Сообщения:
    1.265
    Благодарности:
    746

    Smith2007

    Живу здесь

    Smith2007

    Живу здесь

    Регистрация:
    27.05.12
    Сообщения:
    1.265
    Благодарности:
    746
    Адрес:
    Россия
    Смущают расстояния в первую очередь. Сейчас тестером измерил - 26,2 м от кросса до розетки. И это на 1-ом этаже. На втором длина будет явно 30+ м.

    Посмотрел проект openwrt. Спасибо за подсказку. Новое применение открылось :)
    Если правильно понял то необходимо установить следующие модули

    Код:
    kmod-usb-core (он подтащит kmod-nls-base)
    kmod-usb-net
    kmod-usb-net-asix
    kmod-usb-net-cdc-ether
    kmod-usb-net-rndis
    kmod-usb2
    Поэкспериментирую как сниму роутер с дежурства, но в моем случае это не станет выходом.
     
  11. cyrus-
    Регистрация:
    25.02.15
    Сообщения:
    133
    Благодарности:
    38

    cyrus-

    Живу здесь

    cyrus-

    Живу здесь

    Регистрация:
    25.02.15
    Сообщения:
    133
    Благодарности:
    38
    Я не помню точный список модулей, да и состав их может меняться в зависимости от версии openwrt. Там зависимости явно прописаны как у пакетов openwrt так и у самих модулей ядра.

    Успешную подгрузку модуля вы должны увидеть в логе, а устройство usb0 в списке интерфейсов по ifconfig -a
    дальше его будет достаточно просто прописать в /etc/config/network - я добавляю все устройства usb в бридж с локалкой (туда же интерфейс vlan0 добавлен)
     
  12. cyrus-
    Регистрация:
    25.02.15
    Сообщения:
    133
    Благодарности:
    38

    cyrus-

    Живу здесь

    cyrus-

    Живу здесь

    Регистрация:
    25.02.15
    Сообщения:
    133
    Благодарности:
    38
    Вот вам мой конфиг для роутера, настроенного как точка доступа /etc/config/network

    config interface 'loopback'
    option ifname 'lo'
    option proto 'static'
    option ipaddr '127.0.0.1'
    option netmask '255.0.0.0'

    config interface 'lan'
    option ifname 'eth0 usb0 usb1 usb2 usb3 usb4 usb5 usb6 usb7 usb8'
    option type 'bridge'
    option proto 'static'
    option ipaddr '192.168.XX.XX'
    option netmask '255.255.255.0'
    option gateway '192.168.XX.1'
    option dns '8.8.8.8'

    config switch
    option reset '1'
    option enable_vlan '1'
    option name 'switch0'

    config switch_vlan
    option vlan '1'
    option ports '0 1 2 3 4 5'
    option device 'switch0'

    это решительно всё, что потребовалось мне сделать чтоб все воткнутые ethernet cdc устройства цеплялись и начинали пинговаться из локалки или через WiFi

    ну кроме установки пакетов и настройки самих контроллеров.
    контроллеры имеют однотипную прошивку, IP адреса получают по DHCP от центрального роутера (этот openwrt только как точка доступа и мост в usb)
     
  13. Smith2007
    Регистрация:
    27.05.12
    Сообщения:
    1.265
    Благодарности:
    746

    Smith2007

    Живу здесь

    Smith2007

    Живу здесь

    Регистрация:
    27.05.12
    Сообщения:
    1.265
    Благодарности:
    746
    Адрес:
    Россия
    Точки доступа установлены но запускаться от коммутатора не захотели. Вероятно не хватает напряжения. С родными PoE инжекторами завелись сразу. На инжекторах написано 24В, как и на коммутаторе.
    Монтаж самих точек оказался очень простым. 3 отверстия под план-шайбу и 4-ое под провод utp. (смонтировано пока только две точки)
    IMG_20150302_205844.jpg IMG_20150302_205912.jpg IMG_20150302_205850.jpg IMG_20150302_210343.jpg

    Программный контроллер был накануне установлен на сервер видеонаблюдения (он оказался самым свободным) на базе ubuntu 12.04
    2015-03-02 22-53-36 192.168.1.7 - UniFi - Mozilla Firefox.png 2015-03-02 22-54-18 192.168.1.7 - UniFi - Mozilla Firefox.png 2015-03-02 22-55-07 192.168.1.7 - UniFi - Mozilla Firefox.png 2015-03-02 22-56-47 192.168.1.7 - UniFi - Mozilla Firefox.png

    Позвонил с планшета по sip телефону и пошел гулять между этажами. Связь не прерывалась, а по информации с контроллера планшет переключался с одной точки на другую.
    Возможно это и не в чистом виде "бесшовность" но мне этого будет достаточно. SIP сессия не была разорвана и этого достаточно.
     
  14. cyrus-
    Регистрация:
    25.02.15
    Сообщения:
    133
    Благодарности:
    38

    cyrus-

    Живу здесь

    cyrus-

    Живу здесь

    Регистрация:
    25.02.15
    Сообщения:
    133
    Благодарности:
    38
    А что за коммутатор?
    На Ubiquti так называемый passive poe, это когда просто подана разность потенциалов по свободным жилам витой пары.
    На обычном сетевом коммутаторе (приличном) если он не специально под IPTV сделан обычно полноценный POE. Это когда на провода не подается большой ток до проведения взаимного согласования между коммутатором и нагрузкой.
    То есть нагрузка должна поддерживать протокол.
    https://ru.wikipedia.org/wiki/Power_over_Ethernet

    Я в качестве бюджетного варианта применяю просто патч-панель, в которой синяя и коричневые пары расшиты отдельно и прикручены на шину питания.
    Но это халтура, так как по нормальному на каждый из них еще надо повесить самовостанавливающийся предохранитель, чтоб КЗ в одной линии не отрубало блок питания комплексно.
    Блок питания рекомендую ставить на 48В сразу, так как многие IP камеры от 24 работать не захотят.

    А лучше продать Unifi врагам, пока не запылились) В микротике и питание нормально раздается) (через RB750up например) и еще и контроллер базовых станций не на серваке, а на железку встроенный (правда не 750 ни 260 для этого не годятся, а имеется ли уже железка с функционалом контроллера и несколькими poe портами - я не в курсе. RB951G вроде умел быть контроллером, но имеет тока один выход POE). Вариант 951G + RB260GSP + несколько точек не предлагаю)

    Насчет хендовера - а WPA2 на этом всем настроено или открытая сеть?
     
  15. asakharov
    Регистрация:
    03.10.13
    Сообщения:
    2.251
    Благодарности:
    940

    asakharov

    Живу здесь

    asakharov

    Живу здесь

    Регистрация:
    03.10.13
    Сообщения:
    2.251
    Благодарности:
    940
    Адрес:
    Москва
    Экстремист вы, батенька :)
    Я успешно запускал точки доступа UniFi AP AC на коммутаторах типа Cisco SG300-28MP