Тема уже неоднократно поднималась, и даже есть варианты решения, но я Вам расскажу о еще одном. Просматривая одну из популярных онлайн площадок я наткнулся на устройство, до этого мне не известное, Broadlink RM Mini 3. Цена на тот момент была 9,90 $. Что значительно дешевле аналогов. Но были и свои недостатки о которых ниже.


image

Устройство представляет из себя цилиндр, в верхней части которого на 360 градусов располагаются ИК датчики. Управление устройством происходит через приложение. Можно управлять любой техникой, обладающей ИК приемником. Но моя цель была одна, управлять кондиционером. Что бы приехав домой, он уже успел создать комфортную температуру.

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

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

Следующий не критичный, но нюанс, управление через интернет происходит при помощи облачного сервиса производителя. Хотя в локальной сети приложение и устройство общались напрямую, отдавать управление через интернет кому то не хотелось. Никакого открытого API не существует.

С помощью сниффинга трафика на WiFi роутере выяснилось, что приложение и устройство общаются между собой UDP пакетами на 80 порту.

tcpdump -w /tmp/dump.cap host <ip устройства>


image

Было решено сделать консоль на локальном web сервере для управления кондиционером. С начало создаем пульт в фирменном приложении:

image

После чего запускаем снифер и начинаем не спеша выполнять все команды. Остановив снифер и убедившись, что количество пакетов соответствует количеству выполненных команд копируем их в web приложение. Единственное утомительно было запоминать температуру при разных скоростях вращения. Получилось следующее:

image

После чего я закрыл устройству доступ в интернет.

Весь код выложен на GitHub
Поделиться с друзьями
-->

Комментарии (51)


  1. Nizametdinov
    28.07.2016 21:42

    А на самом устройстве облако залочить нельзя? Только роутером инет закрывать?


    1. FoxIK
      28.07.2016 21:53

      Нет, нельзя, устройством в любом случае обменивается информацией с ip адресом Amazon. На котором видать находится облако производителя девайся.


  1. sisaenkov
    28.07.2016 21:51

    Раз. Два.


    Возможно, данное устройство пока не поддерживается в силу своей новизны.


    1. FoxIK
      28.07.2016 21:55

      Да, я предварительно это изучил. Старшие модели получают команды в JSON формате. А данное устройство обменивается UDP пакетами, как и некоторые умные розетки от этого же производителя


      1. sisaenkov
        28.07.2016 21:56

        Теперь понятно, почему оно не еще поддерживается.
        Я, к счатью, обхожусь RM Pro.


    1. Sleuthhound
      29.07.2016 07:57

      Ценник в 320 р. за какой-то плагин сильно негуманно + держать постоянно на телефоне запущенный RM Bridge тоже бред.


      1. sisaenkov
        29.07.2016 09:36

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


  1. WildGabbay
    28.07.2016 21:56

    В этом сценарии я одного не понимаю — а как вы окна дистанционно закрываете? :)


    1. FoxIK
      28.07.2016 21:57

      Окна?


      1. WildGabbay
        28.07.2016 22:05
        +4

        Окна. Проемы такие в стенах дома :)


        1. FoxIK
          28.07.2016 22:20
          +1

          Спасибо конечно. Но с чего Вы думаете, что я их закрываю дистанционно?


          1. WildGabbay
            29.07.2016 17:47

            Так тут два варианта — или оставлять окна закрытыми, уходя из дома, или как-то закрывать их перед включением кондционера.


        1. extempl
          28.07.2016 22:29

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


          1. ZekaVasch
            29.07.2016 09:37

            у 90% кондиционеров из наружного блока идет лишь трубка с хладогентом, откуда проветривание возникает?


          1. WildGabbay
            29.07.2016 17:47

            Это просто вентилятор.


    1. L_Andrey
      29.07.2016 09:37

      А вы оставляете окна открытыми, когда уходите?


      1. bazis13
        29.07.2016 12:34

        Летом всегда открытые. Кондиционера нет. Зимой щель поменьше, еще экспериментирую с приточной вентиляцией.


      1. WildGabbay
        29.07.2016 17:48

        Да, всегда. В нашем (израильском) климате иначе трудно.


        1. L_Andrey
          29.07.2016 20:00

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


  1. alexpp
    28.07.2016 22:06

    Интересно, а кто-нибудь еще пробовал слушать, что отсылают в облака различные умные розетки, датчики и прочие показометры от известных производителей? Тех же Шаоми, Броадлинк и т.п.


  1. aivs
    28.07.2016 22:33

    Пульт от кондицонера отправляет в одном пакете всё состояние пульта, т.е. если сейчас выбран режим cool, шторки auto и температура 25, то отправляются все 3 команды, если поменять только температру, то все равно в пакете будет 3 команды.
    Здесь же на GT читал, что парень считывал команды пульта и выяснял какие команды в пакете за что отвечают.
    Вы можете также, изучить ИК пакеты и собирать свой собственный, после чего нажимать send. Возможно родное приложение такое не поддерживает, но можно использовать другие пульты-конструкторы, которые отправляют http команды вашему устройству.


  1. Wesha
    28.07.2016 23:52
    +4

    > Что бы приехав домой, он уже успел создать комфортную температуру.

    Как мне кажется, статья была бы гораздо интереснее, если бы Вы рассказали, как Вы научили кондиционер уезжать из дома.


  1. instalator
    29.07.2016 05:04

    Главный минус данного метода управления кондиционерами да и любой техникой через IR, это отсутствие обратной связи.


    1. sisaenkov
      29.07.2016 09:38

      Я на шторку кондея геркон повесил :-D


  1. miha2
    29.07.2016 06:40
    +1

    Немного в сторону от топика. Насмотрелся на системы вентиляции и кондиционирования в США. В каждом доме обязательно стоит центральная ветродуйка, которая во все помещения по отдельным дакам делает приток и забирает воздух.
    А в центральной ветродуйке уже стоят разные модули:
    — обогрев
    — кондиционер
    — осушитель
    — увлажнитель.

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

    С другой стороны есть и минусы в такой системе, на которые американцам обычно плевать:
    — тепло или холодно во всём доме. Можно конечно сделать отдельные ветродуйки на разные группы помещений, можно поставить автозаслонки и тд, но обычно этим никто не заморачивается и температура поддерживается одинаковая во всем доме. Хотя, например, в доме с 8-ю комнатами когда живут только 4-ре человека совсем непонятно, зачем обогревать или охлаждать другие.
    — приток свежего воздуха практически никто не встраивает. То есть для свежего воздуха нужно открывать традиционно окошко.

    Сплит системы вообще отсутствуют как класс. В бюджетных квартирах или маленьких домах обычно кондиционеры торчат в окнах. Так называемые оконники.


    1. Vilos
      29.07.2016 09:37

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


      1. kengaru
        29.07.2016 14:17

        1. Ключевое, что лично для себя ставлю на первое место. Убирается шумность внутреннего блока классических кондиционеров, являющаяся значительной, особенно в ночное время, как в идеальном состоянии «с завода», так и в результате неизбежного износа. Вместо этого — шум потока воздуха, но таковой несколько глуше и социальнее, бороться с ним несколько проще, чем с механическим шумом вентилятора внутренних блоков. Также — шум работы канальника по воздуховоду, но компоненты шумоподавления являются стандартными для систем венитиляции и кондиционирования.

        2. Вместо многих сплитов по помещениям (и батареи внешних блоков) или мультисплитов и их трасс с фреоном и дренажом — воздуховоды. Хорошо вписываются в двухуровневый потолок.

        3. Конденсат и его слив в канализацию — в одном месте.

        4. Обслуживание центрального блока — в одном месте

        5. Простая централизованная интеграция с подмешиванием приточки с фильтрацией и рекуперацией.

        6. Замена центрального блока и его трассы к наружному блоку — в одном месте и по одной трассе.

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


    1. VaalKIA
      29.07.2016 12:06

      >Насмотрелся на системы вентиляции и кондиционирования в США. В каждом доме обязательно стоит центральная ветродуйка, >которая во все помещения по отдельным дакам делает приток и забирает воздух.

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


  1. PlusPlus
    29.07.2016 09:37

    Вот мои изыскания на ту же тему: http://4pda.ru/forum/index.php?showtopic=573779&st=3840#entry51074568


    1. Sleuthhound
      29.07.2016 10:46

      За консольную программку спасибо огромное, вечером попробую на своем RM Pro.

      Кстати если что, то я свой брал тут, все соответствует, новая модель с 1 платой
      http://www.aliexpress.com/item/Broadlink-RM2-Smart-phone-wireless-universal-remote-control-electrical-appliances-of-your-home-by-WIFI-Infrared/1682452655.html?spm=2114.13010608.0.57.PgK1oN


  1. simple256
    29.07.2016 09:37

    подскажите, а на какой площадке вы покупали устройство за 9.90$ ??
    спасибо.


    1. FoxIK
      29.07.2016 09:39

      Gearbest по названию Broadlink Universal WIFI / IR Remote Controller. Но сейчас цена 11,99$


  1. Jaromir
    29.07.2016 09:48

    Что только не придумают лишь бы lirc не настраивать


    1. vaim
      29.07.2016 10:47

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


      1. FoxIK
        29.07.2016 10:53

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


        1. vaim
          29.07.2016 11:00

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

          Ну т.е. таймер достаточно эффективно решает вопрос. Но сам девайс я себе закажу, тупо смарт всегда под рукой, а пульт еще найти надо :)
          Ну и ладно к кондею пульт он всегда на шкафу возле кондея, туда ребенок не дотягивается пока, а вот к котокаталке его не сразу и найдешь.


          1. kovalevsky
            29.07.2016 11:12

            Оффтоп, но что за «котокаталка»?


            1. FoxIK
              29.07.2016 11:22
              +1

              Я так понимаю робот-пылесос


              1. kovalevsky
                29.07.2016 11:24

                Ах, точно, сразу не додумался


  1. Varkus
    29.07.2016 10:26

    Ожидал увидеть:
    — так, стучимся телнетом, если есть то профит, если нет идём дальше
    — распаиваемся rs232-usb на отладочный порт
    — отрубаем доступ на облака
    — правим скрипты, если всё устраивает потрошим файл прошивки для засовывания готовых скриптов


    блиин, это же гиктайм, извините, тогда всё ОК, пишиисчо


  1. NINeOneone
    29.07.2016 11:10

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


    1. FoxIK
      29.07.2016 11:23

      Думаю вам это нужно


  1. Dex_f
    29.07.2016 11:39

    Дурная голова рукам покоя не даёт.
    А не проще просто включить таймеры включения\выключения и режим работы с пульта?


    1. FoxIK
      29.07.2016 11:46

      Нет гибкого графика управления кондиционером с пульта. Не всегда бываю дома, что бы выставить таймер, а на два дня вперед не поставишь. Для меня не проще просто включить таймеры


      1. Dex_f
        29.07.2016 11:50

        Я опытным методом нашел оптимальные настройки кондиционера, и теперь, по приходу домой, меня ждёт комфортная температура и влажность.
        А всякие танцы с бубном и фапание в консоли только усложняют жизнь. А надо быть проще. :)


        1. Varkus
          29.07.2016 12:19

          Вот кто бы Вам в школе сказал: хорош фапать, заведи девушку, будь проще.


  1. terkin
    29.07.2016 12:18

    А можно узнать на каком сайте заказывали? А то я дешевле 18$ не могу найти



  1. FoxIK
    29.07.2016 12:20

    del


  1. rusfatman
    29.07.2016 13:58
    -1

    Девайс интересный. Статья что-то не очень…


  1. ElectricFromUfa
    30.07.2016 22:42

    Посмотрел снифером обмен между http-bridge и моим RM mini3 с помощью wireshark — действительно летят UDP пакеты. Круто!
    Не додумался сразу посмотреть.
    Будем пытаться прикрутить такой способ взаимодействия к majordomo
    Спасибо!