Управление питанием через Mikrotik+Windows Phone

    Прочитал статью Контроллер-розетка КУБ-Пико220 от Технотроникс и решил поделиться с хабрасообществом своим велосипедом.

    Необходимо было реализовать управление электропитанием с сотового телефона. Данных решений достаточно много, причём самых разных технологических решений и ценовых рамок. Но проблема была в том, что нужно было сделать это ОЧЕНЬ срочно, как сказал заказчик — «Нужно вчера». Учитывая отдалённость от Москвы в 6000 км (и предстоящие выходные), то проблема возникла приличная.

    Полистав интернет, наткнулся на статью — http://www.lanmart.ru/blogs/mikrotik-rb750up-remote-power-management-220v/ которая очень сильно помогла, учитывая, что данный роутер был в наличии, правда использовалась, для другого, но когда ОЧЕНЬ надо можно и снять :)

    За деталями реализации добро пожаловать под кат (фото)

    Изначально решили протестировать, взяв одну розетку и действовать в точности в соответствии со статьёй.


    И ничего не заработало :) После недолгого поиска в гугле, оказалось, что после обновления прошивки и повышения версии PoE (команда в роутерах MikroTik interface ethernet poe settings upgrade), данная инструкция перестаёт соответствовать действительности так, как была добавлена проверка на сопротивление линии. А при использовании реле оно есть.

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



    И БИНГО! Оно заработало именно так, как нам было надо :)

    Далее всё было аккуратно упаковано в стандартный электрический щиток —


    И подключено. Теперь через WinBox (или веб-интерфейс, или по ssh, или через telnet) можно было управлять питанием, посылая команды
    interface ethernet set ether2 poe-out=forced-on для выключения
    и
    interface ethernet set ether2 poe-out=off для включения
    Меняя номер порта (с 2 по 5) можно было управлять конкретной розеткой.

    Далее (вспоминаем ТЗ) потребовалась управление через сотовый телефон. Вообще какой-либо проблемы уже не было — есть и WinBox под мобильные платформы, и веб-интерфейс, и множества SSH-клиентов. Так же (так как в роутере есть USB-порт) можно было подключить USB-модем и управлять через SMS. Но нас было уже не остановить.

    Так как заказчик хотел, чтобы у него было всё КАК можно проще, был взят телефон Windows Phone 8X by HTC и Microsoft Visual Studio Express 2012 for Windows Phone. И создан в нём проект MikrotikOnOff.

    Всё программирование в конце свелось к всего трём действиям —
    1. Создали форму


    2. Подключили библиотеку SSH.NET

    3. Добавили следующий код (код настроек не привожу, там стандартный IsolatedStorageSettings.ApplicationSettings)

            private string MikrotikSSHCommand(string MikrotikIP, int MikrotikSshPort, string MikrotikUser, string MikrotikPassword, string Command)
            {
                try
                {
                    ConnectionInfo sLogin = new PasswordConnectionInfo(MikrotikIP, MikrotikSshPort, MikrotikUser, MikrotikPassword);
                    SshClient sClient = new SshClient(sLogin);
                    sClient.Connect();
     
                    SshCommand appStatCmd = sClient.CreateCommand(Command);
                    appStatCmd.Execute();
     
                    sClient.Disconnect();
                    sClient.Dispose();
     
                    return appStatCmd.Result;
                }
                catch
                {
                    return "Ошибка подключения к серверу";
                }
            }        
     
     
            private void Btn_All_On_Click(object sender, RoutedEventArgs e)
            {
                MessageBox.Show(MikrotikSSHCommand(MikrotikIP, MikrotikSshPort, MikrotikUser, MikrotikPassword, "system script run 0"));
            }
     
            private void Btn_All_Off_Click(object sender, RoutedEventArgs e)
            {
                MessageBox.Show(MikrotikSSHCommand(MikrotikIP, MikrotikSshPort, MikrotikUser, MikrotikPassword, "system script run 1"));
            }
     
            private void Btn_Test_Click(object sender, RoutedEventArgs e)
            {
                MessageBox.Show(MikrotikSSHCommand(MikrotikIP, MikrotikSshPort, MikrotikUser, MikrotikPassword, "system script run 2"));
            }
     

    На этом создание программы закончилось :)

    Далее создали скрипты на микротике — можно через System — Scripts. Можно через консоль

    /system script
    add name="All On" policy=ftp,reboot,read,write,policy,test,winbox,password,sniff,sensitive,api source=\
        "interface ethernet set ether2 poe-out=off\r\
        \ninterface ethernet set ether3 poe-out=off\r\
        \ninterface ethernet set ether4 poe-out=off\r\
        \ninterface ethernet set ether5 poe-out=off"

    add name="All off" policy=ftp,reboot,read,write,policy,test,winbox,password,sniff,sensitive,api source=\
        "interface ethernet set ether2 poe-out=forced-on\r\
        \ninterface ethernet set ether3 poe-out=forced-on\r\
        \ninterface ethernet set ether4 poe-out=forced-on\r\
        \ninterface ethernet set ether5 poe-out=forced-on"

    add name=SystemIdent policy=ftp,reboot,read,write,policy,test,winbox,password,sniff,sensitive,api source=\
        "system identity print"

    И можно проверять, упаковывать и отдавать заказчику.


    Немного про плюсы и минусы данного решения —
    Плюсы
    • Стоимость — если не считать телефона, который был, то общая цена решения составила 3120 рублей (2200 сам роутер, 400 рублей ящик, 160 рублей — 4 розетки на DIN-рейку, 280 рублей — 4 реле с колодками, 80 рублей — 4 клеммных соединителя)
    • Надёжность — роутеры микротик достаточно надёжны и стабильны в работе, что позволяет не беспокоиться о том, что может зависнуть сама система управления питанием (до этого сталкивался с двумя системами удалённое управления — качество и стабильность были не на высоте)
    • Управляемость — в моём случае нужно было только удалённое управлением питанием с сотового телефона, но никто не запрещает делать более серьёзные решения с использование всевозможных средств микротика — от простейшего пинга и перезагрузки питания при не ответе, до достаточно сложных скриптовых действий с расписанием выполнения
    • 4 управляемых розетки — в большинстве решений подобного ценового уровня она одна, что достаточно неудобно
    • Простота для конечного пользователя — ему достаточно просто нажать одну кнопку для управления питанием


    Минусы
    • Электробезопасность — всё равно, учитывая некоторую «колхозность» решения, есть некоторые опасения по её защите и прочим параметрам. Делал бы сейчас — взял бы ящик побольше и натолкал к каждой розетке по диффавтомату.


    PS: Умные люди на ixbt подсказали, что необходим ещё один диод
    Джамаль: Чтобы, когда напряжение с реле снимается, бросок индуктивного тока с него не поджарил всё вокруг. Диод нужен для того, чтобы бросок тока бегал внутри образованного обмоткой и диодом замкнутого контура и тратился на нагрев обмоток и диода, а не на сжигание окрестной электроники

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

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

    UPD: Совет от пользователя NetRat
    Я бы использовал твердотельные реле. В этом случае диод не нужен и сами реле с радиатором прекрасно монтируются на динрейку.

    К примеру можно использовать, что-то вроде http://www.electronshik.ru/card/rele-g3pa-so-smennimi-silovimi-elementami-10-50160a-88159, но в таком случае возрастает цена (примерно на 8 тысяч). Но решение более красивое и правильное.

    bougakov
    Скажите, а что за реле вы использовали? Очень смахивают на автомобильные 12V 30A
    Были использованы реле 90.3777.

    Similar posts

    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 23

      +1
      И будем надеяться, что заказчик не прочитает статью.
        +1
        В этом не будет ничего страшного — он был первым кому я рассказал про комментарий о диодах. Он отказался — «И так всё работает». Тоже самое он и про дифы сказал.
          +1
          Без диодов вылетают обычно транзисторы, которые управляют реле, вопрос времени только.
        0
        Я так понимаю, что решение можно собрать на любом дешевом управляемом PoE свитче?
          +1
          на дешевом, пусть и управляемом PoE питание выдается в порт постоянно..(на 100% утверждать не могу, но те, что мне попадались были именно такими)
            0
            Думаю, что нет. У микротиков PoE своё собственное — Passive PoE. А стандартное PoE использует достаточно много проверок и не отдаёт питание, если устройство с другой стороны не скажет, что готово принимать.
            +1
            Скажите, а что за реле вы использовали? Очень смахивают на автомобильные 12V 30A — такие можно ставить в цепи переменного тока 220V?

            P.S. Хорошая статья про назначение диода при реле — easyelectronics.ru/upravlenie-moshhnoj-nagruzkoj-postoyannogo-toka-chast-1.html Там есть предложения по пущему улучшению схемы, посмотрите.
              0
              Да, обычные 90.3777. Насколько я понимаю, особых проблем это не создаёт, главное не превышать мощность потребителей. За статью большое спасибо!
              +2
              Если даже не брать во внимание стоимость роутерборда и стрельбы по блохам ядерными ракетами… в общем месье знает толк в извращениях…
                0
                Как было указано итоговая стоимость получилось всё равно меньше, чем специализированное решение. Да и стоимость в 2000 с лишним не такая уж и большая :)
                  0
                  Я скорее про то, что микротик — это все таки маршрутизатор… лично я бы заглянул в сторону atmega 48 (например) и enc28j60… даже если заказывать не у китайцев готовые платы (тот же arduino pro mini + enc28j60), то в 15-20 $ можно уложиться… + нужное кол-во транзисторов в зависимости от кол-ва каналов (если каналов надо много, используем отдельный сдвиговый регистр\их связку)… Да, по-хорошему лучше использовать что-то из realtek`ов, чем микрочиповскую микросхему (реалтек более стабильный чип, хотя и ENC работает вот уже пару лет и все ок), но я не видел готовых плат, что для новичков может оказаться камнем преткновения.
                  Насчет Вашего варианта решения задачи скажу честно — я бы до такого не додумался… особенно с микротиком… так что от меня чисто за смекалку Вам +
                0
                Вот что мне в вашей реализации совсем не нравится — так это совмещение в одном шкафу силовой и низковольтной проводки.
                  0
                  Там из слаботочки только один патчкорд, причём экранированный. Так что проблем с наводками особых нет. Плюс в конечном варианте (здесь не видно по причине, что уже с закрытой крышкой сфотано) патчкорд был в спиральной ленте (по типу http://www.elektro-master.ru/materials/lenta-spiral.htm)
                  +1
                  Я бы использовал твердотельные реле. В этом случае диод не нужен и сами реле с радиатором прекрасно монтируются на динрейку. Это дороже, зато выглядит менее колхозно. И не забудьте про быстрые предохранители в силовой цепи реле!
                    0
                    Я знаю про эти реле, но есть две проблемы — 1) В нашем небольшом городке их просто не найти и возвращаемся к проблеме с заказом и срочностью. 2) Цена — тогда была бы гораздо выше (хоть и выглядело бы это надёжнее и красивее — тут не спорю)
                    +1
                    www.ubnt.com/mfi#m-Power
                    Очень классная штука и обойдеться даже дешевле чем у вас ушло на компоненты. Сам брал себе поиграться.
                      0
                      Не спорю — одно «НО» нужно было срочно, заказывать не было времени. И несколько вопросов, как пользователю данной продукции (сам не сталкивался, а в даташите информации не нашел) — 1) Какую мощность тянет данная железка? 2) Есть ли под евровилку с заземлением? 3) Есть ли управление с сотового телефона или SSH?
                        0
                        в спецификации точно написано:
                        1. 110-125VAC, 50-60 Hz, 15 A Per Outlet, 15 A Total. Т.е. имеем 15А на автоматическом предохранителе на устройстве, значит 110-125 В переменки на входе (думаю, что для регионов этот параметр различается) * 15А суммарной нагрузки = 1650~1875 Вт, т.е. всего в такую розетку включить можно суммарно в районе 1.5 кВт… для 220В думаю что будет в районе 2кВт

                        2. есть
                        3. Напрямую через GSM нет возможности управлять, по SSH можно
                          0
                          Мощьность поддерживает достаточную, у меня питалось от одной штуки 2 фермы которые лайткоины фармили, иногда правда выбивало, но я думаю что это было связано с другим. Да есть управление через интернет из любой точки мира, через сервис ubnt cloud.
                          Помимо всего ufi это целый комплекс оборудования: датчиков и сенсоров, например сенсор температуры, движения, открытия дверей итд можно задавать реакцию на событие, например если температура выше 25 то включить розетку номер 2.
                          0
                          реквестирую такие же вопросы. =)
                          0
                          Я так понимаю, что SSH с паролем светиться в локальном WiFi — а не в Интернете?
                            0
                            Нет, как раз в интернете — весь смысл, чтобы можно было отключить из любого места.
                              0
                              Я представляю, что там твориться в логе, на предмет подбора пароля по SSH.

                          Only users with full accounts can post comments. Log in, please.