Домашняя автоматизация с openHAB: освещение и удаленное управление обогревателями. Часть 1



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

    Оглавление


    Часть 1
    Вступление
    Общее описание
    Управление нагрузкой
    Управление светом
      Выключатели
        Как выключатели взаимодействуют с OpenHAB
        Arduino Nano + Ehernet Shield
        Raspberry Pi
    my.openHAB

    Часть 2
    Управление обогревателями
      Термодатчики
      Хранение данных
      Графики
      Удаленное управление
    Впечатления от OpenHAB
      Persistence
      Интерфейсы
    Мониторинг

    Вступление


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

    После беглого поиска open-source решений для домашней автоматизации был выбран OpenHAB, довольно зрелый инструмент с модульной архитектурой, кроме того, он активно развивается. Про него уже есть статья на хабре, рекомендую ее посмотреть тем кто захочет использовать OpenHAB.
    Еще можно взглянуть на демо-интерфейс.
    Я опишу хардверную часть моего решения и попутно приведу выдержки из конфигурации OpenHAB.

    Чтобы было легче понять мою конфигурацию очень коротко опишу понятия которые используются при настройке OpenHAB:
    • Items — что-то вроде глобально доступного объекта, обычно представляет внешнее устройство или источник данных. Могут быть разных типов, например Switch для выключателя, Dimmer для диммера. Есть также String и Number, это Items которые содержат строку и число.
    • Sitemaps — описывают интерфейс. Фактически это перечисление Items с добавлением настроек отображения.
    • Rules — скрипты, которые выполняются по расписанию или по событию. События наступают при изменении состояния Items, например, когда выключатель Light_1 получил значение ON.
    • Persistence — файлы, в которых описываются правила сохранения состояния Items в разные БД.
    • Bindings — подключаемые модули, наверное можно назвать плагинами. Используются чтобы добавить в OpenHAB возможность взаимодействовать с разным хардом и софтом. Например binding для KNX или для MySQL и т.д.


    Вот какие Bindings я использую:
    Название Применение
    xmpp Получаю сообщения от OpenHAB
    mail Получение оповещений на почту
    networkhealth Мониторинг доступности хостов в сети
    myopenhab Удаленный доступ к OpenHAB
    onewire Получение от owserever данных термодатчиков
    http Взаимодействие с HTTP API
    freetts Синтез речи
    jpa Сохранение данных в PostgreSQL
    db4o Сохранение данных в db4o
    influxdb Сохранение данных в influxdb


    Про xmpp подробнее: этот биндинг дает возможность получать сообщения в гугл-чате(или другом Jabber-аккаунте) и использовать чат как консоль для отправки команд OpenHAB. Команды начинающиеся с '>' будут выполнены и результат вернется в ответном сообщении. Мне это пригодилось для отладки при написании Rules. Далее в тексте примеры команд OpenHAB начинаются с символа '>'.

    Конфигурация OpenHAB, скрипты для выключателей и т.д. доступны в репозитории homeAutomationExample

    Общее описание



    Компоненты системы:

    • Сервер (OpenHAB, InfluxDB, ...)
    • Модуль управления реле Arduino MEGA + Ehernet Shield
    • Выключатель пять кнопок Arduino Nano + Ehernet Shield
    • Выключатель пять кнопок Raspberry Pi


    На картинке веб-интерфейс OpenHAB

    Сразу было понятно, что кроме веб-интерфейса надо сделать несколько физических выключателей, т.к. пользоваться веб-интерфейсом не всегда удобно.
    Сначала я думал сделать беcпроводные выключатели, но доступные по цене и надежные варианты не нашел, возможно сейчас уже есть из чего выбрать, но тогда я решил использовать Ethernet.
    По возможности делал так, чтобы компоненты системы общались между собой по протоколу HTTP.
    Он выбран из-за простоты, прозрачности и привычности. Как альтернативу рассматривал MQTT, но понадобился бы софт для сервера, так как OpenHAB может быть только клиентом.

    Нагрузка управляется с помощью реле, сейчас их семь штук. От каждого реле идет отдельная жила кабеля, то есть для трех управляемых розеток используется 4-х жильный кабель(три для фазы и одна жила для ноля).

    Использование реле:

    • 3 розетки, к двум из них подключены обогреватели (220v)
    • 2 линии дневного освещения (220v)
    • 1 вечерний свет, лампа накаливания (12v)
    • 1 диодная лента (12v)


    Все потребители постоянного тока подключены к одному компьютерному блоку питания.

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




    Управление нагрузкой



    Хотелось сделать HTTP API для включения нагрузки. Используется для этого комбинация Arduino MEGA + Ehernet Shield + реле. Мегу купил давно, стоила она тогда целых $50, не пригодилась и лежала без дела.
    На основе рекомендаций по управлению нагрузкой c Arduino, пины к которым подключены реле инициализируются вот так:
        digitalWrite(pin, HIGH);
        pinMode(pin, OUTPUT);
    

    Так можно избежать кратковременного включения реле при включении Arduino.

    У всех реле, кроме одного, используется нормально-разомкнутый контакт(NO, Normally Open), чтобы по умолчанию вся нагрузка была выключена, например после временного отключения электричества. Исключение сделано для диодной ленты — она подключена к нормально-замкнутому контакту, для аварийного освещения.

    В целом Arduino + Ehernet Shield работают без проблем, перебои были только когда я включил их мониторинг из OpenHAB. Есть предположение что OpenHAB открывал keepalive соединение и из-за этого другие соединения не устанавливалсь.
    А еще есть неприятный момент в работе Ethernet Shield:
    ПРОБЛЕМА:
    Ehernet Shield не работает после включения питания Arduino, а только после ресета. Как я понял, это проблема первой версии шилда на чипе w5100. Вот возможный вариант решения.


    Исходники API для Arduino в репозитории minimalArduinoWebApi.
    Вот пример запроса состояния пина 40, к которому подключено реле управляющее одной из ламп:

    Запрос состояния:
        GET http://192.168.2.15/pins/40
    

    Текст ответа будет ON или OFF.

    Выключение:
        PUT http://192.168.2.15/pins/40/OFF
    


    Включение:
        PUT http://192.168.2.15/pins/40/ON
    


    Итак, есть HTTP API включения света и розеток, теперь надо как-то использовать его из OpenHAB. Каждый пин, к которому подключено реле, добавлен в конфигурацию OpenHAB как выключатель через http binding.

    Например, вот описание пина 40 из файла main.items:
    Тут определяется Switch с именем Light_1, входящий в группы Lights и DayLights:
        Switch Light_1 "First Day Light" (Lights, DayLights)
        { 
          http="
          >[ON:PUT:http://192.168.2.15/pins/40/ON]
          >[OFF:PUT:http://192.168.2.15/pins/40/OFF]
          <[http://192.168.2.15/pins/40:60000:REGEX(.*<status>(.+)</status>.*)]
          "
        }
    

    (Группы в OpenHAB удобно использовать, например, чтобы выключить весь свет или взять среднее с температурных датчиков.)
    (Переносы строк добавлены для удобства чтения, в таком виде работать не будет.)

    Строка >[ON:… определяет запрос, который выполнит OpenHAB при получении Light_1 команды ON.
    То есть если в консоль отправить:
        > Light_1.sendCommand(ON)
    

    то OpenHAB отправит запрос PUT 192.168.2.15/pins/40/ON.
    Кроме консоли управлять Light_1 можно через REST API самого OpenHAB.

    <[http://192.168.2.15/pins/40:60000:REGEX(.*(.+).*)] означает, что раз в две минуты выполняется запрос и к тексту ответа применяется регулярное выражение, результат которого определяет состояние Light_1. Короче говоря, это поллинг состояния.

    Чтобы переключатель Light_1 появился в веб-интерфейсе OpenHAB, его нужно добавить в Sitemap, например так:
        Switch item=Light_1
    


    Управление светом


    Выключатели


    Я сделал два выключателя, у каждого четыре кнопки и один стандартный выключатель. (Чтобы в предыдущем предложении не возникло рекурсии, выключатель написан курсивом и означает весь модуль с кнопками, в отличии от выключателя — обычного выключателя.)
    Сначала были сделаны только кнопки, но оказалось, что нащупывать их в темноте неудобно и я добавил обычный выключатель. Три кнопки и обычный выключатель управляют светом, а одна кнопка используется для информирования о температуре внутри и снаружи(с помошью генератора речи).

    Как выключатели взаимодействуют с OpenHAB


    При нажатии на кнопки или выключатель отправляется HTTP запрос в OpenHAB.
    Вот так можно включить Light_1 через REST API OpenHAB из Python:
        import requests
        requests.post("http://OPENHAB_URL/rest/items/Light_1", data="ON")
    


    Но чтобы использовать этот способ выключатели должны знать состояние Light_1 в OpenHAB. Чтобы, если свет выключен, отправлять команду ON и наоборот. Для этого пришлось бы использовать поллинг.
    Оказалось OpenHAB поддерживает еще такие запросы:
        GET /CMD?Light_1=TOGGLE   т.е. GET используется для изменения состояния Item ;(
    

    Этот вариант позволяет не хранить состояние, поэтому я использую его.

    И еще, для гибкости, управление происходит не напрямую через Light_1, Light_2 и т.д., а через Virtual_Switch_1, Virtual_Switch_2 и т.д. К примеру, при нажатии первой кнопки на любом из выключателей запрос отправляется на Virtual_Switch_1, а что при этом происходит определяется в virtual_switches.rules. Таким образом, если нужно будет поменять действия кнопок, то не придется перепрошивать Arduino и менять код скрипта на Raspeberry, а только поменять правила в OpenHAB.

    Пока не выбрал окончательно какие действия назначить кнопками и выключателю. Сейчас три кнопки и выключатель управляют светом, а одна используется для оповещения о температуре внутри и снаружи(через генератор речи).
    Часто при выключении света удобно чтобы он выключился не в момент нажатия кнопки, а чуть позже. Поэтому для выключателя я написал правило, чтобы он работал так:

    • если весь свет выключен, то включается свет по умолчанию (это Items из группы SmartSwitchDefaultLights)
    • если какой-то свет включен, то выключается весь дневной свет, включается свет по умолчанию и ставится таймер на 5 минут на выключение света


    Вот код этого правила:
        rule "Virtual_Switch_5"
        when
          Item Virtual_Switch_5 changed
        then
          
          /* если таймер установлен и еще не выполнен,
             то отменяем таймер и включаем свет по умолчанию */
          if(virtual_switch_off_timer != null && !virtual_switch_off_timer.hasTerminated)
          {
            virtual_switch_off_timer.cancel()
            virtual_switch_off_timer = null
            playSound('Beep_Negative.mp3')
            SmartSwitchDefaultLights.members
                                    .filter( item| item.state == OFF )
                                    .forEach( item| item.sendCommand(ON) )
          } else
          {
            // если весь свет выключен, то включаем свет по умолчанию
            if ( Lights.members.filter( item| item.state == ON ).isNullOrEmpty )
            {
              SmartSwitchDefaultLights.members.forEach( item| item.sendCommand(ON) )
            }
            else
            {
              /* выключаем дневной свет и ставим таймер
                  и если весь *вечерний* свет выключен, то включаем свет по умолчанию */
              if ( NightLights.members
                              .filter( item| item.state == ON ).isNullOrEmpty )
                SmartSwitchDefaultLights.members
                                        .filter( item| item.state == OFF )
                                        .forEach( item| item.sendCommand(ON) )
              DayLights.members
                      .filter( item| item.state == ON )
                      .forEach( item| item.sendCommand(OFF) )
              playSound('Bleep.mp3')
              virtual_switch_off_timer = createTimer( now.plusMinutes(5)) 
                                                      [|
                                                          Lights.members
                                                          .filter( item| item.state == ON )
                                                          .forEach( item| item.sendCommand(OFF) ) 
                                                      ]
            }
          }
        end
    


    Дальше я кратко опишу хардвер выключателей.

    Arduino Nano + Ehernet Shield



    Этот выключатель состоит из Arduino Nano и Ehernet Shield. Код скетча в файле light_switch.ino. Для HTTP запросов к OpenHAB используется библиотека github.com/csquared/arduino-restclient.
    Питается Arduino через pin 5v от блока питания по проводу ~10 метров длинной.
    Сначала я подключал 12v на vin т.к. думал что из-за падения напряжения использовать 5v не получится, но при 12v конечно же сильно грелся регулятор Arduino.

    Питание идет по четырем жилам UTP-кабеля, две жилы +5v и две жилы Gnd.

    В этом выключателе я использую Ehernet Shield на основе чипа ENC28J60, это бюджетный и менее распространенный вариант, по сравнению с шилдами на основе w5100.
    При его использовании нужно вместо стандартной библиотеки Ethernet подключить arduino_uip

    После этого, чтобы скрипты для стандартных модулей заработали, нужно заменить:
        #include <SPI.h>
        #include <Ethernet.h>
    

    на
        #include <UIPEthernet.h>
    


    Так же надо сделать в используемых библиотеках, если они подключают Ethernet.h
    Из 2kB доступной памяти arduino_uip использует 400-600B, это стоит учитывать.



    Raspberry Pi



    Немного странно обновлять Linux на выключателе, это я к тому что использовать Raspberry только для включения света это, конечно, не оптимально. Сейчас, кроме кнопок, к Raspberry подключен только датчик двери(геркон).

    Питание


    У Raspberry Pi есть контрольные точки для измерения напряжения во время работы. Напряжение между точками должно быть в диапазоне 4.75 — 5.25V. После подключения к линии 5V от БП напряжение было ниже минимума(слишком длинный провод) и пришлось использовать регулятор.

    Используется простой линейный регулятор 7805, который я закрепил на радиаторе. До и после регулятора установлены конденсаторы как на схеме.

    Чтобы снизить мощность, которая рассеивается на радиаторе регулятора, между ним и БП последовательно подключены три диода her801. Если считать что на каждом диоде падение напряжения составляет 1V, то на входе регулятора получаем примерно 9V. Напряжение на входе должно быть не менее чем на 2,5V выше чем выходное, то есть для 7805 7,5v на входе это минимум.

    Чтобы не было ложных срабатываний кнопки

    Код для Raspberry Pi написан на Python, смотреть можно в файле light_switch.py3

    my.openHAB


    В завершение первой части расскажу про сервис от создателей OpenHAB, он позволят подключится к OpenHABу находясь за перделами локальной сети. Для меня это удобно так как у мастерской нет отдельного внешнего ip. Подключаться можно как через браузер, так и из мобильных приложений(Android, iOS). Пока проект в закрытой бете, заявку на инвайт можно подать тут.

    Similar posts

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

    More

    Comments 75

      +2
      Все хорошо, кроме подключения обогревателей к реле. На вскидку один обогреватель потребляет мощность ~1500-2000Вт. Вы уверены что реле выдержит? ИМХО лучше не шутить с этим.
        0
        Обогреватель на картинке 1200W, второй 1500W. На реле написано 10A 250VAC, так что должно быть ОК.
        Но возможно стоит взять реле с запасом побольше.
          0
          А возможность физического прерывания есть?
          А то реле — та ещё штучка… Может поработать годик-другой, а потом вдруг «залипнуть».
            0
            Если залипнет реле к которому свет подключен, то не страшно. С обогревателями страшнее.
            На них есть «термостаты», поставил на 5, если реле залипнет то он сам будет отключаться при перегреве.
            image
            0
            Давно пора на силовых линиях, потребляющих больше 500W, использовать твердотельные реле, они как раз для этого предназначены.
              0
              Точно. У меня такие: SSR-25DA @ ebay
                0
                Избавляются от одного недостатка и получают другой — на больших токах модули сильно греются.
              0
              Не могу разглядеть на фотографии (мелковато), но «обычные» реле в таком форм-факторе идут на ток в 10A (а напряжения обычно указывается два — 250V и 12V).
              Так что — скорее всего да, потянет.
                +1
                Но там бывают ньюансы, 10А может быть указан как рабочий ток но коммутация контактов под такой нагрузкой недопустима. Надо тщательно изучить документацию от производителя на конкретное реле, там могут быть подводные камни.
                  0
                  Снял реле крупнее.
                  image

                  Документация вот тут.
                    0
                    Вы возьмите и вскройте одно реле. Я вскрывал аналогичное из программного таймера (залипло). Внешне реле выглядит вполне прилично, но внутри — прям ручной китайский самопал, кривая пайка, хлипенькие контакты. Фуфло. Кто разбирал старые советские релюшки (РЭС9-10 и тп.) поймет меня.
                      0
                      разобрал одно
                      image
                      image
                      0
                      А где нашли такое реле на 10А? На плате написано ywrobot, посмотрел у них нет таких, только на 3А.
                    +2
                    *нюансы
                      0
                      Активная нагрузка в виде обогревателя — пожалуй, наиболее комфортна для реле. А вот если влезает индуктивная — тогда да, уже гораздо хуже.
                    0
                    контактор, конечно, лучше, а лучше взять промежуточное реле с катушкой на 220 В или 12 В в колодке на DIN-рейку и им уже коммутировать…
                      0
                      Интересно. Можете посоветовать конкретную модель с катушкой на 220 В?
                      0
                      а чем реле будет лучше контактора?
                        0
                        компактнее, клацать не так громко будет, гудеть может, поменьше будет…
                    • UFO just landed and posted this here
                        0
                        в даташите на примененные в проекте реле пишут о 100тыс переключений при токе в 10А. Но не все реле такие, можно попасть на не столь хорошее реле если брать их наобум, особенно дешевые.

                        Можно прикинуть, если в день будет переключатся по 10-20 раз (мне кажется термостат будет больше переключаться) то хватит его на много лет.

                        Но если там появится реактивная нагрузка, включат тепловентилятор с двигателем… количество переключений резко упадет…
                          0
                          Посмотрел историю включения/отключения реле за две недели: в среднем 70 срабатываний в день. На 100 тыс ~ 4 года получается, не так много.
                          0
                          Там и реле всё ж чуть другие, не?
                          А залипающие контакты — увы, реальность.
                          У меня из фибаровских модулей (модуль умного дома z-wave) одно залипло через полгода — на нём висело 7 светодиодных лампочек с непонятными драйверами. А остальные пашут до сих пор. «но осадок остался».

                          К слову, реле чем и хорошо, что оно — электромеханическое, а потому в определённых пределах ремонтопригодное. Корпус аккуратно вскрыл дремелем возле контактов; сами контакты разлепил и зачистил. И работает себе дальше. С твердотельным так не выйдет; только замена.
                          • UFO just landed and posted this here
                              0
                              Нет, не обязательно. Да и это не удивительно — реле работало на нагрузку с огромным пусковым током, этим оно и убилось.

                              Конструкция у подобных реле практически одинаковая, отличия только в толщине шин(кто сколько сэкономил или в угоду компактности) и материале покрытия непосредственно контакта.
                          +1
                          Один раз веселые местные электрики оборвали ноль в подъезде, и все жильцы получили 380в в розетки. После этого я купил первый попавшийся автомат типа «барьер». От чертовски грелся, щелкал на всю квартиру, вонял пластиком при большой нагрузке (2-3 кВт). Что делать, я был глуп =) Девайс отработал пару лет, после чего завонял пластиком уж больно сильно, пришлось экстренно отключать. К тому моменту я уже что-то понимал в схемотехнике и решил починить самостоятельно.

                          К чему это я все… Там стояла дешевая релюха 24в с током коммутации 20А. Эта штука коммутировала целую квартиру, т.е. в пике до 4 кВт (если чайник и обогреватель, что было не редко). Сама реле жила безо всяких проблем вобще, а девайс дымил из-за дешевых китайских клемников.

                          Заменил на 40А реле Филипс, по моему, аж за целый доллар купленную на местном радиорынке, усилил дорожки, поставил 32А клемник, девайс живет второй год и про себя ничем не напоминает.

                          Простите, что длинно. По идее, 10А должно хватать на обогреватель. В худшем сценарии 2000/240 = 9А, если реле не оголтело-китайские, то работать будут, правда, могут со временем пригорать контакты, что чревато нагревом.
                            0
                            Не учли добавки за счет разности фаз тока и напряжения. Стандартно это корень из двух
                              0
                              Действительно. Никогда не имел дела с переменным током. =) Тогда выходит 2000/(240*1.41) ~= 5.88 А, что даже лучше (надеюсь, я с формулой в начале пятого утра не ошибся). Вопрос только, учитывают ли sqrt(2) китайцы при документировании мощности обогревателя? =) Занудства ради можно измерить сопротивление горячего и холодного ТЭНа, что масло греет… Но это уже слишком.
                                0
                                В расчете мощности обогревателя sqrt(2) не имеет никакого смысла, там все уже учтено в действующих величинах. домножив действующий ток(напряжение) на sqrt(2) мы получим амплитудное его значение.
                                +1
                                А зачем их учитывать в случае активной нагрузки (обогревателя)?
                                А напряжение и ток часто указывают вместе с мощностью. Как раз чтобы не возникало подобных вопросов. Как на чайнике: 2200Вт 220В 10А
                            0
                            Зачем же использовать LDO для преобразования 12V -> 5V?
                            Можно же взять понижающий преобразователь и радиатор тогда не понадобится.
                              0
                              7805 использовал потому что он недорогой. Вот не попался мне доступный преобразователь хотя бы на 1A.
                                0
                                Один модуль реле стоит наверно как такой преобразователь. Уж если применять модули по 50$ так уж разгуляться по полной и заказать преобразователь за 5$.
                                  0
                                  Модули реле стоили по $2.8
                                  +1
                                  Я обычно в таких случаях ставлю модуль KIS-3R33S (с модификацией на 5 вольт в виде резистора на 10K между «Adj» и землёй). Это DC-DC преобразователь с нагрузкой до 3A.
                                  У меня такие стоят для питания RPi и других 5-ти вольтовых штук.
                                  Так как это импульсный преобразователь, то нагрева практически нет.

                                  Предполагаю, что цена у такого модуля примерна равна 7805+радиатор.
                                  +2
                                  7805 — это не LDO…
                                    0
                                    Да, да, да, я ошибся в терминологии :(
                                  +3
                                  Бендер на иконке контакта порадовал :-)
                                    +6
                                    Я уже один раз жил месяц без света на кухне, поэтому теперь делаю освещение независимое от контроллера =) Вот так:



                                    По картинке должно быть понятно: реле с переключением стоит в щитке, далее трёхжильный провод до переключателя в помещении, от него — двухжильный до ламп. Включен свет или нет определяем трансформатором тока. Если контроллер сдох, реле замирает в одном из двух положений и переключатель в комнате работает как и прежде.
                                      0
                                      прекрасное решение! Вот это уже интеллектуальный дом…
                                        0
                                        Пару слов, пожалуйста, о «датчике» тока нагрузки.
                                            0
                                            Есть бесконтактные на датчике холла, как раз под ардуину. в вариантах 5А 10А и 30А
                                              0
                                              Забавно то, что там как раз и есть бесконтактный датчик (правда, не датчик холла, а транс), просто автор в схеме не совсем понятно изобразил.
                                                0
                                                Да там все понятно, просто там трансформатор… как бэ прошлый век и все такое. Типа вот такого Изоляция силовой и низкоточной цепи — 1500В, диапазон 20А, аналоговый выход и т.д. Самый крупный элемент это разъем, который можно не ставить(на 20А он пожалуй и правда будет лишним).
                                                Небось еще и дешевле будет чем классический ТТ, которому еще и нагрузка нужна.
                                                  0
                                                  А я почему-то думал, что не разрывать цепь наоборот плюс, нежели минус. Стоимость одинаковая, что у трансформатора, что у Вашего модуля — порядка 2$
                                                    0
                                                    Вот, случайно наткнулся в соседней статье: http://srv2.vanalaizer.org/picgt/cursens.jpg
                                                    Сама статья: http://geektimes.ru/post/244552/
                                                    Нафик-нафик такое
                                                      0
                                                      Такое случается с любым плохо закрученным контактом.
                                                      Как видно из фотографии, подгорел именно контакт. если подпаять провод напрямую, все будет пучком.
                                                        0
                                                        Ооо, это Вы ещё не видили, как я паяю =)
                                                          0
                                                          Паять научится можно, в отличие от механического контакта.
                                                  0
                                                  Есть, но для переменки не всё так просто, как принято для ардуинщиков
                                                    0
                                                    А в чём сложность? В том, что ток по синусоиде? Или что-то ещё, о чём я не догадываюсь?
                                                      0
                                                      Наверно, имеется в виду что придется еще и математикой заняться а не просто считать готовое значение.
                                                        0
                                                        Лично меня не интересует точное значение тока в цепи, только сам факт — есть/нет, а это, как мне кажется, не сложно. Пока не пробовал.
                                                          0
                                                          «Сам факт» — можно попробовать пару витков на геркон намотать :)
                                                            0
                                                            Геркон шибко быстрый, он будет переключаться с частотой 100Гц что в конце концов его доконает. не говоря уже о постоянном дребезжании. Лучше тогда датчик холла использовать.
                                                        0
                                                        Да, именно обработка, как уже написали выше меня.
                                                  0
                                                  А зачем Вы лампочку питаете постоянным током?
                                                    0
                                                    Ток переменный.
                                                    Если суть вопроса в обозначениях 220V+ и 220V-, то правильнее было бы указать L и N соответственно.
                                                    Если в чём-то другом, то прошу меня извинить, моего строительного образования не достаточно для того, чтобы понять, что не так.
                                                    +1
                                                    Хм… отличное использование проходного выключателя!
                                                      0
                                                      Отличное решение! Как раз думал над этой ситуацией в перспективе текущего ремонта
                                                        0
                                                        Реле должно быть поляризованным или бистабильным. Ведь если контроллер пострадает или выйдет из строя реле с высокой вероятностью переключится в устойчивое состояние(обесточено), а оно может дать неожиданное состояние «свет включен».
                                                          0
                                                          Наоборот, всё сделано ради того, чтобы система работала и без контроллера.
                                                            0
                                                            Оно работать будет, только если в очередное переключение выключить свет означает включить реле… и тут пропадает питание контроллера(предохранитель или какая иная неприятность) реле отпускает и согласно положению механического переключателя свет включается. Бистабильное реле тут нужно, оно и потребляет энергию только во время переключения. Но… я не видел таких на большую мощность, только малосигнальные и низковольтные.
                                                              0
                                                              Ну загорится свет, чего страшного-то?
                                                          0
                                                          А что за реле вы использовали?
                                                          Судя по схеме, оно работает как переключатель.
                                                            0
                                                            Да практически любое механическое. Выше в комментариях фото есть:
                                                            habrastorage.org/files/106/a98/bc9/106a98bc983542a2949d865a58b9e952.JPG
                                                              0
                                                              Так ведь эти согловские релюшки работают как ВЫключатель, а у вас ПЕРЕключатель.
                                                                0
                                                                Они работают, как переключатель. Там 3 контакта.
                                                          +2
                                                          «Я сделал два выключателя, у каждого четыре кнопки и один стандартный выключатель. (Чтобы в предыдущем предложении не возникло рекурсии, выключатель написан курсивом и означает весь модуль с кнопками, в отличии от выключателя — обычного выключателя.) „

                                                          Впечатлен подходом к изложению.
                                                            +1
                                                            MQTT запустить довольно просто. Можно на ubuntu поставить mosquitto — там даже настраивать особо нечего. У меня стоит несколько arduino по разным углам и через MQTT общается с openHAB. В ГРЩ стоит Arduino-Ethernet-PoE с LCD экраном и показывает текущие напряжения/токи по всем трём фазам, которые попадают в openHAB со счётчика через KNX :-)
                                                            А вчера вот запустил еще интересную платку — www.ti.com/tool/cc3200-launchxl — она на относительно новом чипе TI 3200 сделана. Там в одном корпусе ARM процессор и WiFi чип. Интересно то, что с недавних пор она поддерживается в Energia (http://energia.nu/) — это такая Ардуинистая среда для TI'евских плат и чипов. Почти любая библиотека для Arduino будет работать, например вот эта MQTT библиотека — github.com/knolleary/pubsubclient — просто заработала с WiFi библиотекой из Energia, и теперь можно через WiFi датчики цеплять, там где есть питание, но нет Ethernet.
                                                              0
                                                              В начале ремонта тоже думал сделать передачу управляющего сигнала на контроллеры по средствам сетевых проводов, но смутила громоздкость всей системы.
                                                                +1
                                                                Кстати, openHAB тут номинировали на премию IoT, голосуйте за openHAB! :-)
                                                                postscapes.com/internet-of-things-award/2014/iot-open-source-project

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