Инструменты пользователя

Инструменты сайта


примеры_конфигураций

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
Последняя версия Следующая версия справа и слева
примеры_конфигураций [2019/06/15 20:16]
admin
примеры_конфигураций [2021/09/13 23:35]
173.212.224.157 старая версия восстановлена (2021/01/08 13:45)
Строка 1: Строка 1:
-Для того, чтобы настроить Контроллер умного дома LightHub достаточно просто зайти в [[https://www.lazyhome.ru/portalичный Кабинет]] (после регистрации на сайте)добавить свой контроллер, используя его MAC адрес и создать его настройку в JSON онлайнедакторе.+При включении, контроллер сначала проверяет наличие записанного в памяти конфигурационного файла. (У нового контроллера конфигурационный файл отсутствует). Затем контроллер поднимает сетевые интерфейсы, подключается к интернету, идет на сайт lazyhome.ru и пытается получить конфигурационный файл JSON к своему МАС-адресу. 
 +Для создания этого файла заходим на lazyhome.ru в свой аккаунт и на странице https://www.lazyhome.ru/portal создаем конфигурационный файл для своего роутера по его МАС-адресу. Тогда контроллер его там увидит и сможет начать работать по нему. 
 + 
 +Для тогочтобы настроить Контроллер умного дома LightHub также заходим на  [[https://www.lazyhome.ru/portal|Личный Кабинет]] (после регистрации на сайте), 
 Для того чтобы начать, можете просто использовать примеры ниже, а затем доработать их по своему усмотрению Для того чтобы начать, можете просто использовать примеры ниже, а затем доработать их по своему усмотрению
  
-Далее, надо просто подключить контроллер к роутеру, имеющему выход в Интернет. После перезапуска, контроллер загрузит настройки из Личного КабинетаПосле того, как вы убедитесь, что все работает, можно будет сохранить настройки в постоянную память контроллера (команда save в CLI) и сделать его независимым от наличия доступа в интернет.+Далее, надо просто подключить контроллер к роутеру, имеющему выход в Интернет. После перезапуска, контроллер загрузит настройки с сайта lazyhome.ru.  
 + 
 +В простом случае этого достаточно. 
 + 
 +====== Если мы хотим сохранить настройки в постоянную память контроллера ====== 
 + 
 +После того, как вы убедитесь, что все работает, можно будет сохранить настройки в постоянную память контроллера (команда save в CLI) и сделать его независимым от наличия доступа в интернет. 
 +Два способа сохранения конфига в память контроллера: 
 + 
 +1. Подключаем контроллер по USB к ноутбуку. Сохраняем через эмулятор терминала (например для Макбука использую minicom). 
 + 
 +$ minicom -D /dev/tty.usbmodem14201 
 +Контроллер отвечает: 
 +'' 
 +Got IP address:192.168.88.44,  Default config server used: lazyhome.ru  
 +Config URI: http://lazyhome.ru/cnf/de-71-d5-9a-93-96.config.json                 
 +HTTP Status code: 404                                                            
 +Config retrieving failed                                                         
 +Loading Config from EEPROM       No stored config ''   
 + 
 + 
 + командой CLI 
 + 
 + 
 +2. Если контроллер уже успешно подключен к MQTT брокеру, то команду CLI можно направить в топик.  
  
-Для тех, кто не доверяет - можно разместить настройки на своем собственном http сервере, в корне. Хотя это не так удобно. Формат имени файла: http://MY_CONFIG_SERVER/cnf/12-12-12-12-12-12.config.json+Также можно разместить настройки на своем собственном http сервере, в папке cnf. Формат имени файла: http://MY_CONFIG_SERVER/cnf/12-12-12-12-12-12.config.json (вместо 12-12-12-12-12-12 ваш mac адрес)
 После этого выполнить через CLI команду <code>get <MY_CONFIG_SERVER></code> После этого выполнить через CLI команду <code>get <MY_CONFIG_SERVER></code>
 Контроллер запомнит ваш сервер и далее, будет загружать обновление конфига из этого источника. (на ESP32, STM, NRF пока не сохраняется, но сделаем) Контроллер запомнит ваш сервер и далее, будет загружать обновление конфига из этого источника. (на ESP32, STM, NRF пока не сохраняется, но сделаем)
Строка 18: Строка 46:
 После этого он сохраняется в памяти вашего устройства (на ESP32, STM, NRF пока не сохраняется, но сделаем) После этого он сохраняется в памяти вашего устройства (на ESP32, STM, NRF пока не сохраняется, но сделаем)
  
-**Пример 1: Плата ESP32-EVB**+===== Пример 1: Плата ESP32-EVB =====
 При нажатии на кнопку, переключаем оба реле и отправляем команду в MQTT топик __myhome/in/light__ При нажатии на кнопку, переключаем оба реле и отправляем команду в MQTT топик __myhome/in/light__
  
Строка 36: Строка 64:
 </code> </code>
  
-**Пример 2: Сенсор CO2 CCS811 и влажности HD1080 на ESP82**+===== Пример 2: Сенсор CO2 CCS811 и влажности HD1080 на ESP8266 ===== 
 + 
 +Данный сенсор CO2 и влажности подключен к шине I2C, поэтому номера PIN ов не используются и могут быть произвольными (уникальными в рамках раздела in) 
 +  
 +Дополнительно, считываем значение аналогового входа А0, преобразовываем к шкале 0-100 и подавляем шумы
 <code>   <code>  
   {   {
 "in":{ "in":{
           "1":{"T":5,"emit":"myhome/s_out/1"},           "1":{"T":5,"emit":"myhome/s_out/1"},
-          "2":{"T":6,"emit":"myhome/s_out/2"}+          "2":{"T":6,"emit":"myhome/s_out/2"}, 
 +          "54":{"T":64,"emit":"analog","map":[0,1024,0,100,5]}
          },          },
   "mqtt":["LHexample02","test.mosquitto.org"]   "mqtt":["LHexample02","test.mosquitto.org"]
Строка 47: Строка 80:
 </code> </code>
  
-**Пример 3: Управление диммером, RGBW лентой, реле из Node Red, контроль протечек и счетчик воды**+===== Пример 3: Управление диммером, RGBW лентой, реле из Node Red, контроль протечек и счетчик воды =====
  
-(Node-Red логика для данного примера  [[http://lazyhome.mircloud.host|развернута тут]]).  [[http://lazyhome.mircloud.host/ui|а тут дашборд]]. +<del>(Node-Red логика для данного примера  [[http://lazyhome.mircloud.host|развернута тут]]).  [[http://lazyhome.mircloud.host/ui|а тут дашборд]].</del> - я не заметил, что примеры в облаке кому-то нужны и перестал оплачивать хостинг. Сорри 
  
 Это наиболее сложный пример, использующий большинство возможностей контроллера LightHub 2.2 . Это наиболее сложный пример, использующий большинство возможностей контроллера LightHub 2.2 .
  
-Диммеры света подключены по DMX, Датчик протечки - к аналоговому входу A6 (PIN#60) а шаровый кран перекрытия воды висит на A15 (PIN#69) - (подробнее про то, какие аналоговым входам соответствуют номера PIN указано [[входы_выходы|тут]])+Диммеры света подключены по DMX, Датчик протечки - к аналоговому входу A6 (PIN#60) а шаровый кран перекрытия воды висит на A15 (PIN#69) - (подробнее про то, какие аналоговым входам соответствуют номера PIN указано [[входы_выходы|тут]])
  
-Вход №38 напрямую управляет реле, которое подключено на выход 22 +* Используется вход DMX. Предполагается что на вход подключена типовая сенсорная панель для локального управления четырьмя четырех-канальными RGBW лентами (адреса 1,5,9,13). Эти ленты отображаются на "led5","led6","led7","led8"
-Вход №39 - Master Switch - позволяет выключить сразу все или вернуть в первоначальное положение+
  
-Потенциометр, подключенный на аналоговый вход A5 (PIN#59) одновременно с NodeRed управляет DMX диммером (см 5-й параметр массива map - если значение считанное с аналогового входа, изменилось более чем на 10 пунктов, значение преобразовывается из диапазона 0-850 в диапазон 0-100 и передается на диммер)+* Вход №38 напрямую управляет реле, которое подключено на выход 22
  
-на PIN#34 и 36 подключены контакты счетчиков воды (дальнейший подсчет потребления происходит в Node Red)+* Вход №39 - Master Switch - позволяет выключить сразу все или вернуть в первоначальное положение 
 + 
 +* Потенциометр, подключенный на аналоговый вход A5 (PIN#59) одновременно с NodeRed управляет DMX диммером (см 5-й параметр массива map - если значение считанное с аналогового входа, изменилось более чем на 10 пунктов, значение преобразовывается из диапазона 0-850 в диапазон 0-100 и передается на диммер) 
 + 
 +на PIN#34 и 36 подключены контакты счетчиков воды (дальнейший подсчет потребления происходит в Node Red) 
 + 
 +* Также, на шину I2C подключены датчики температуры-влажности-CO2-летучих смесей
  
-Также, на шину I2C подключены датчики температуры-влажности-CO2-летучих смесей 
 NB: Конфигурация такого объема не уместится в Mega2560 и требует контроллера DUE NB: Конфигурация такого объема не уместится в Mega2560 и требует контроллера DUE
  
Строка 71: Строка 108:
   "dmxin":["led5","led6","led7","led8"],   "dmxin":["led5","led6","led7","led8"],
   "topics":{"root":"myhome"},   "topics":{"root":"myhome"},
- "ow":{+  "mqtt":["lh22-test-0","m2m.eclipse.org"],  
 +  "ow":{
                  "2861641227C1EFED":{"emit":"t_1","item":"thermostat"},                  "2861641227C1EFED":{"emit":"t_1","item":"thermostat"},
                  "28EE504E161601C7":{"emit":"t_2"}                  "28EE504E161601C7":{"emit":"t_2"}
Строка 112: Строка 150:
  "dimmer" :[0,33],  "dimmer" :[0,33],
  "dimmer2":[0,34],  "dimmer2":[0,34],
-   "dimmer3":[0,35],+         "dimmer3":[0,35],
  "dimmer4":[0,36],  "dimmer4":[0,36],
  "dimmer5":[0,37],  "dimmer5":[0,37],
Строка 124: Строка 162:
     },     },
  "in":{  "in":{
-   "42":{"emit":"in0"}, +    "42":{"emit":"in0"}, 
- "44":{"emit":"in1"}, +    "44":{"emit":"in1"}, 
- "46":{"emit":"in2"}, +    "46":{"emit":"in2"}, 
- "49":{"emit":"in3"}, +    "49":{"emit":"in3"}, 
- "43":{"emit":"in4"},+    "43":{"emit":"in4"},
     "45":{"emit":"in5"},     "45":{"emit":"in5"},
     "47":{"emit":"in6"},     "47":{"emit":"in6"},
Строка 159: Строка 197:
                 "10":{"T":5,"emit":"myhome/s_out/airq1"},                 "10":{"T":5,"emit":"myhome/s_out/airq1"},
                 "20":{"T":6,"emit":"myhome/s_out/humidity1"}                 "20":{"T":6,"emit":"myhome/s_out/humidity1"}
-         }+         }
-  "mqtt":["lh22-test-0","m2m.eclipse.org"]+
   }   }
      
 </code> </code>
  
-**Пример 4: Два термостата, управляющие реле на выходах 24 и 36**+===== Пример 4: Два термостата, управляющие реле на выходах 24 и 36 =====
  
  
Строка 213: Строка 250:
 </code> </code>
  
 +===== Конфиг, рекомендованный для тестирования и начала работы с LightHub 2.2 =====
 +
 +<code>
 +
 +{
 +  "dmx":[3,60],
 +  "dmxin":["led5","led6","led7","led8"],
 +  "topics":{"root":"lazyhome.ru"},
 +  "mqtt":["lazyhome.ru-UA2","test.mosquitto.org"], 
 +  "ow":{
 +                 "2861641227C1EFED":{"emit":"t_1","item":"thermostat"},
 +                 "28EE504E161601C7":{"emit":"t_2"}
 +        },
 +  "items": {
 +    "mbusdim1":[4,[1,0,3,100]],
 +    "mbusdim2":[4,[1,1,3,100]],
 +    "mbusdim3":[4,[1,2,3,100]],
 +    "mbusdim4":[4,[1,3,3,100]],
 +                "relay":[6,22],
 +                "pout1":[6,23],
 +                "pout2":[6,24],
 +                "pout3":[6,25],
 +                "pout4":[3,9],
 +                "pout5":[3,8],
 +                "pout6":[3,11],
 +                "pout7":[3,12],
 +                "pwm0" :[3,4],
 +                "pwm1" :[3,5],
 +                "pwm2" :[3,6],
 +                "pwm3" :[3,7],
 +                "pwm10":[3,10],
 +                "thermostat":[5,2,33],
 + "unprot0":[6,33],
 + "unprot1":[6,32],
 + "unprot2":[6,31],
 + "unprot3":[6,30],
 + "unprot4":[6,29],
 + "unprot5":[6,28],
 + "unprot6":[6,27],
 + "unprot7":[6,26],
 + "led": [1,1],
 + "led2":[1,5],
 + "led3":[1,9],
 + "led4":[1,13],
 + "led5":[1,17],
 + "led6":[1,21],
 + "led7":[1,25],
 + "led8":[1,29],
 + "dimmer" :[0,33],
 + "dimmer2":[0,34],
 +   "dimmer3":[0,35],
 + "dimmer4":[0,36],
 + "dimmer5":[0,37],
 + "dimmer6":[0,38],
 + "dimmers":[7,["dimmer","dimmer2","dimmer3","dimmer4","dimmer5","dimmer6"]],
 + "leds":[7,["led","led2","led3","led4","led5","led6"]],
 + "mbuses":[7,["mbusdim1","mbusdim2","mbusdim3","mbusdim4"]],
 + "all":[7,["dimmers","uouts","relays","leds","mbuses"]],
 + "relays":[7,["relay","pout1","pout2","pout3","pout4","pout5","pout6","pout7"]],
 + "uouts":[7,["unprot0","unprot1","unprot2","unprot3","unprot4","unprot5","unprot6","unprot7"]]
 +    },
 + "in":{
 +    "42":{"emit":"in0"},
 +    "44":{"emit":"in1"},
 +    "46":{"emit":"in2"},
 +    "49":{"emit":"in3"},
 +    "43":{"emit":"in4"},
 +    "45":{"emit":"in5"},
 +    "47":{"emit":"in6"},
 +    "48":{"emit":"in7"},
 +    "34":{"emit":"in8"},
 +    "36":{"emit":"in9","item":"unprot0","scmd":"TOGGLE","rcmd":""},
 +    "38":{"emit":"in10","item":"dimmers","scmd":"TOGGLE","rcmd":""},
 +    "40":{"emit":"in11","item":"leds","scmd":"TOGGLE","rcmd":""},
 +    "35":{"emit":"in12","item":"mbuses","scmd":"TOGGLE","rcmd":""},
 +    "37":{"emit":"in13","item":"relays","scmd":"TOGGLE","rcmd":""},
 +    "39":{"emit":"in14","item":"uouts","scmd":"TOGGLE","rcmd":""},
 +    "41":{"emit":"in15","item":"all","scmd":"TOGGLE","rcmd":""},  
 +    
 +                "54":{"T":66,"emit":"myhome/in/a00","map":[0,1024,0,1024,10]},
 +                "55":{"T":66,"emit":"myhome/in/a01","map":[0,1024,0,1024,10]},
 +                "56":{"T":66,"emit":"myhome/in/a02","map":[0,1024,0,1024,10]},
 +                "57":{"T":66,"emit":"myhome/in/a03","map":[0,1024,0,1024,10]},
 +                "58":{"T":66,"emit":"myhome/in/a04","map":[0,1024,0,1024,10]},
 +                "59":{"T":66,"emit":"myhome/in/a05","map":[0,1024,0,1024,10]},
 +                "60":{"T":66,"emit":"myhome/in/a06","map":[0,1024,0,1024,10]},
 +                "61":{"T":66,"emit":"myhome/in/a07","map":[0,1024,0,1024,10]},
 +                "62":{"T":66,"emit":"myhome/in/a08","map":[0,1024,0,1024,10]},
 +                "63":{"T":66,"emit":"myhome/in/a09","map":[0,1024,0,1024,10]},
 +                "64":{"T":66,"emit":"myhome/in/a10","map":[0,1024,0,1024,10]},
 +                "65":{"T":66,"emit":"myhome/in/a11","map":[0,1024,0,1024,10]},
 +                "66":{"T":0,"emit":"myhome/in/d12"},
 +                "67":{"T":0,"emit":"myhome/in/d13"},
 +                "68":{"T":0,"emit":"myhome/in/d14"},
 +                "69":{"T":0,"emit":"myhome/in/d15"},  
 +                "10":{"T":15,"emit":"myhome/s_out/airq1"},
 +                "20":{"T":16,"emit":"myhome/s_out/humidity1"}
 +         }
 +  }
 +  
 +</code>
примеры_конфигураций.txt · Последнее изменение: 2021/09/25 04:16 — 176.31.125.95