Выключатель
Модератор: immortal
Re: Выключатель
Заказал на Али перечисленные модули и компоненты, перед Новым Годом почта, как обычно перегружена, наверное долго будут идти... Чувствую, потом еще больше вопросов будет. Вы уж меня не бросайте, только от вас и жду посильной помощи. Интернет, конечно, большой, но только здесь я нахожу понятную, доходчивую инфу и добрый человеческий подход! Благодарю вас, форумчане!
-
- Сообщения: 1138
- Зарегистрирован: Вт янв 29, 2013 9:16 am
- Откуда: Белозерск
- Благодарил (а): 16 раз
- Поблагодарили: 400 раз
- Контактная информация:
Re: Выключатель
Вот написал подробную инструкцию по выключателям в разной реализации http://xn--b1afas9b4a.xn--p1ai/archives/670vl29 писал(а):Заказал на Али перечисленные модули и компоненты, перед Новым Годом почта, как обычно перегружена, наверное долго будут идти... Чувствую, потом еще больше вопросов будет. Вы уж меня не бросайте, только от вас и жду посильной помощи. Интернет, конечно, большой, но только здесь я нахожу понятную, доходчивую инфу и добрый человеческий подход! Благодарю вас, форумчане!
Lubuntu на cubieboard2 + ds9490R
DietPi на Orange Pi PC + 1wire на esp8266 с прошивкой Homes-smart.ru
DietPi на Orange Pi PC + 1wire на esp8266 с прошивкой Homes-smart.ru
-
- Сообщения: 24
- Зарегистрирован: Вт дек 13, 2016 8:01 am
- Откуда: Екатеринбург
- Благодарил (а): 5 раз
- Поблагодарили: 1 раз
Re: Выключатель
Всем привет! Внесу свои 5 копеек.
Ремонт закончен. Естественно в подрозетнике выключателя два провода в разрыв фазы, выключатель обычный одноклавишный. Сделал из того что нашлось быстро:
1. исполнительное устройство [ac/dc 5в 700мА->WemosD1mini+RelayShild]. LED люстра подключена к нормально разомкнутым контактам реле. По сути, выключатель включает устройство, которое включает люстру. Модуль живет под натяжным потолком.
2. В МД объект типа Relay со свойством status.
Логика работы:
1. Включаем выключатель, esp загружается, запрашивает текущий статус у МД, выставляет реле в актуальное состояние.
2. Если связи с МД нет - включает реле. Можно проще - подключить люстру к нормально замкнутым контактам реле, в этом случае код упрощается, но при статусе 0 в МД необходимо будет включить реле. Это мне кажется немного неправильным, т.к. свет горит меньшую часть суток, а все остальное время реле будет с притянутым якорем.
3. Далее управляется из МД по сценариям/кнопкам методом HTTP GET. Причем статус объекта в МД устанавливает устройство отсылкой GET запроса к свойству объекта (реализация обратной связи. Статус в МД не изменится, если не получен ответ).
4. Доступность устройства проверяется через "устройства онлайн", напоминает, чтобы вернул выключатель во вкл.
Почему так и без MQTT:
1 и основное - ремонт, блин, закончен ))) Думал про умный дом, но в тонкости не вникал, а зря ((
2. Хочется сохранить возможность управления исполнительными устройствами в случае падения МД или умирания роутера. В случае падения МД задачи отправки GET запроса можно реализовать с помощью таскера или appinvertor'а. В тел на этот случай создается резервное приложение прямого управления устройствами. В случае умирания роутера - работает как обычный выключатель, устанавливая реле в 1 при отсутвии связи.
Из минусов - нарабатывание нового навыка не щелкать выключателям выходя из комнаты ))) + тщательная проработка сценариев, чтобы срабатывало когда надо. В остальном, на мой взгляд, резервирование достаточное. Без света не останешься, если компы подведут.
Повторюсь - такие сложности всего лишь из-за того, что не заложил доп провод в штробы, учту на будущее обязательно )))
Управление модулем: http://ip/status/1 - вкл, http://ip/status/0 - выкл.
Код прошивки Wemos прилагаю, шил через Arduino IDE. На чистоту кода не претендую, т.к. не программист далеко, но работает .
Ремонт закончен. Естественно в подрозетнике выключателя два провода в разрыв фазы, выключатель обычный одноклавишный. Сделал из того что нашлось быстро:
1. исполнительное устройство [ac/dc 5в 700мА->WemosD1mini+RelayShild]. LED люстра подключена к нормально разомкнутым контактам реле. По сути, выключатель включает устройство, которое включает люстру. Модуль живет под натяжным потолком.
2. В МД объект типа Relay со свойством status.
Логика работы:
1. Включаем выключатель, esp загружается, запрашивает текущий статус у МД, выставляет реле в актуальное состояние.
2. Если связи с МД нет - включает реле. Можно проще - подключить люстру к нормально замкнутым контактам реле, в этом случае код упрощается, но при статусе 0 в МД необходимо будет включить реле. Это мне кажется немного неправильным, т.к. свет горит меньшую часть суток, а все остальное время реле будет с притянутым якорем.
3. Далее управляется из МД по сценариям/кнопкам методом HTTP GET. Причем статус объекта в МД устанавливает устройство отсылкой GET запроса к свойству объекта (реализация обратной связи. Статус в МД не изменится, если не получен ответ).
4. Доступность устройства проверяется через "устройства онлайн", напоминает, чтобы вернул выключатель во вкл.
Почему так и без MQTT:
1 и основное - ремонт, блин, закончен ))) Думал про умный дом, но в тонкости не вникал, а зря ((
2. Хочется сохранить возможность управления исполнительными устройствами в случае падения МД или умирания роутера. В случае падения МД задачи отправки GET запроса можно реализовать с помощью таскера или appinvertor'а. В тел на этот случай создается резервное приложение прямого управления устройствами. В случае умирания роутера - работает как обычный выключатель, устанавливая реле в 1 при отсутвии связи.
Из минусов - нарабатывание нового навыка не щелкать выключателям выходя из комнаты ))) + тщательная проработка сценариев, чтобы срабатывало когда надо. В остальном, на мой взгляд, резервирование достаточное. Без света не останешься, если компы подведут.
Повторюсь - такие сложности всего лишь из-за того, что не заложил доп провод в штробы, учту на будущее обязательно )))
Управление модулем: http://ip/status/1 - вкл, http://ip/status/0 - выкл.
Код прошивки Wemos прилагаю, шил через Arduino IDE. На чистоту кода не претендую, т.к. не программист далеко, но работает .
код для Arduino IDEПоказать
Код: Выделить всё
#include <ESP8266WiFi.h>
const char* ssid = "***";
const char* password = "***"; // имя и пароль wifi
#define RPin D1 // пин реле
WiFiServer server(80); //заготовки для сервера и клиента (порт)
WiFiClient client;
IPAddress MDIP(192,168,1,114); //Majordomo (MD) IP
// переподключение wifi при потери связи
void WiFiReconnect(){
WiFi.disconnect();
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
}
// выполняется при загрузке один раз
void setup() {
Serial.begin(115200);
delay(10);
// подготовка пина реле
pinMode(RPin, OUTPUT);
digitalWrite(RPin, 0);
// Подключение к wifi
Serial.println();
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
// Print the IP address
Serial.println(WiFi.localIP());
delay(500);
// запрос состояния у мажордома
client.connect(MDIP, 80);
delay (500);
if (client.connected()) {
client.print("GET /objects/?object=HallLamp&op=m&m=refresh& HTTP/1.1\r\n"); //вызов метода refresh объекта HallLamp
client.print("Host: 192.168.1.114\r\n");
client.print("User-Agent: HallLamp\r\n");
client.print("Connection: close\r\n\r\n");
Serial.println("connected");
}
else {
// если МД не отвечает
Serial.println("connection failed");
digitalWrite(RPin, 1); // включаем реле
}
client.stop();
// запуск http сервера для приема команд управления
server.begin();
Serial.println("Server started");
}
// основной цикл
void loop() {
if (WiFi.status() != WL_CONNECTED) {WiFiReconnect;} // Если пропал вайфай - переподключение
// Check if a client has connected
WiFiClient client = server.available();
if (!client) {
return;
}
// Wait until the client sends some data
Serial.println("new client");
while(!client.available()){
delay(1);
}
// Read the first line of the request
String req = client.readStringUntil('\r');
Serial.println(req);
client.flush();
// Match the request
int val;
if (req.indexOf("/status/0") != -1)
val = 0;
else if (req.indexOf("/status/1") != -1)
val = 1;
else {
Serial.println("invalid request");
client.stop();
return;
}
// устанавливаем состояние реле
digitalWrite(RPin, val);
client.flush();
// ответ МД-му
String s = "HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\n<!DOCTYPE HTML>\r\n<html>\r\nGPIO is now ";
s += (val)?"On":"Off";
s += "</html>\n";
// Send the response to the client
client.print(s);
delay(1);
Serial.println("Client disonnected, send status");
client.connect(MDIP, 80);
client.print("GET /objects/?op=set&object=HallLamp&p=status&v="); //установка статуса объекта HallLamp
client.print(val);
client.print(" HTTP/1.1\r\n");
client.print("Host: 192.168.1.114\r\n");
client.print("User-Agent: HallLamp\r\n");
client.print("Connection: close\r\n\r\n");
Serial.println("connected");
client.stop();
}
Raspberry Pi 3 hdd boot
Re: Выключатель
У фирмы Xiaomi есть такой продукт: http://got.by/f4bks
Из плюсов: устанавливается вместо обычного выключателя, не надо ничего придумывать с питанием. Есть обратная связь.
Из минусов: работает только с умным домом от Xiaomi. Исполнение под китайский квадратный стакан. Цена.
Вопрос:
Можно ли своими силами изготовить подобный выключатель, который вберёт в себя все плюсы и исключит минусы?
Из плюсов: устанавливается вместо обычного выключателя, не надо ничего придумывать с питанием. Есть обратная связь.
Из минусов: работает только с умным домом от Xiaomi. Исполнение под китайский квадратный стакан. Цена.
Вопрос:
Можно ли своими силами изготовить подобный выключатель, который вберёт в себя все плюсы и исключит минусы?
- nick7zmail
- Сообщения: 7573
- Зарегистрирован: Пн окт 28, 2013 8:14 am
- Откуда: Екатеринбург
- Благодарил (а): 121 раз
- Поблагодарили: 2010 раз
Re: Выключатель
Вроде в маркете дополнений появился модуль поддержки устройств умного дома xiaomi...Правда пока что только получение данных работает...Но я думаю управление со временем тоже "взлетит"
Отправлено с моего Redmi 4 через Tapatalk
Отправлено с моего Redmi 4 через Tapatalk
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Re: Выключатель
Oтличная новость! Значит в скором времени те, кто могут себе позволить купить выключатели Xiaomi на всю квартиру, и кому не затруднительно переделать круглые отверстия в стенах смогут пользоваться данным решением.nick7zmail писал(а):Вроде в маркете дополнений появился модуль поддержки устройств умного дома xiaomi...Правда пока что только получение данных работает...Но я думаю управление со временем тоже "взлетит"
Но всё же хочется иметь альтернативную самодельную версию (дешевле и под круглый стакан).
- nick7zmail
- Сообщения: 7573
- Зарегистрирован: Пн окт 28, 2013 8:14 am
- Откуда: Екатеринбург
- Благодарил (а): 121 раз
- Поблагодарили: 2010 раз
Re: Выключатель
Я думаю xiaomi сделают под круглый стакан версии...Если их нет...А скорее всего - они даже уже есть...
Другой вопрос цена...Есть альтернативы управляемые радиопультами но без обратной связи. И стоят почти в 2 раза дешевле...Чтобы делать обратную связь - надо вай фай, nrf, или любые другие протоколы с обратной связью (zeegbee один из них, на нем и работает xiaomi)...
Во-вторых самая главная проблема это питание самого модуля (того же есп)...С паразитным питанием вообще мало представляю как это работает...
Хиаоми и те кто штампуют эти радиовыключатели как то решили эту проблему...
Как только наши решат - появятся предложения...Но далеко не факт что они будут дешевле...ибо старт производства - дело не дешевое...а ручной труд, штучные экзэмпляры - и того дороже....сама начинка выключателя будет стоить рублей 600-800, корпус рублей 200 нормальный...и чтобы окупить свой труд - минимум 40% наценки...вот и выйдут те же 1500р за штуку....
Так же есть не от xiaomi девайсы...xonyar к примеру...там цены еще негуманнее...так что xiaomi - довольно бюджетное решение на самом деле.
Другой вопрос цена...Есть альтернативы управляемые радиопультами но без обратной связи. И стоят почти в 2 раза дешевле...Чтобы делать обратную связь - надо вай фай, nrf, или любые другие протоколы с обратной связью (zeegbee один из них, на нем и работает xiaomi)...
Во-вторых самая главная проблема это питание самого модуля (того же есп)...С паразитным питанием вообще мало представляю как это работает...
Хиаоми и те кто штампуют эти радиовыключатели как то решили эту проблему...
Как только наши решат - появятся предложения...Но далеко не факт что они будут дешевле...ибо старт производства - дело не дешевое...а ручной труд, штучные экзэмпляры - и того дороже....сама начинка выключателя будет стоить рублей 600-800, корпус рублей 200 нормальный...и чтобы окупить свой труд - минимум 40% наценки...вот и выйдут те же 1500р за штуку....
Так же есть не от xiaomi девайсы...xonyar к примеру...там цены еще негуманнее...так что xiaomi - довольно бюджетное решение на самом деле.
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
- lanket
- Сообщения: 1168
- Зарегистрирован: Вт окт 14, 2014 11:27 pm
- Откуда: Санкт-Петербург
- Благодарил (а): 260 раз
- Поблагодарили: 163 раза
Re: Выключатель
https://r.tapatalk.com/shareLink?url=ht ... re_type=sfki_dix писал(а): Но всё же хочется иметь альтернативную самодельную версию (дешевле и под круглый стакан).
Отправлено с моего Redmi Note 3 через Tapatalk
Разработка голосового асистента для Мажордомо по любому ключевому слову.
Обсужение
gitHub 2й версии терминала
GitHub модуля для МД
gitHub сырого модуля 2й версии
Connect
Rasberry Pi 2, MDM, MySensors. И говорящий апельсин.
Обсужение
gitHub 2й версии терминала
GitHub модуля для МД
gitHub сырого модуля 2й версии
Connect
Rasberry Pi 2, MDM, MySensors. И говорящий апельсин.
- lanket
- Сообщения: 1168
- Зарегистрирован: Вт окт 14, 2014 11:27 pm
- Откуда: Санкт-Петербург
- Благодарил (а): 260 раз
- Поблагодарили: 163 раза
Re: Выключатель
Блин, в тапаталке нормально не скопировать ссылку.slgeo писал(а):Ссылка нерабочая
Этот форум, раздел 'настройка и программирование' далее 'MySensors '
Сенсоры и активаторы, с обратной если надо связью, радиоканал. Полная кастомаьизация.
Полная свобода фантазии для самоделкиных.
ДЁШЕВО.
Полно примеров.
Маленькие размеры с возможностью засунуть в монтажный коробку.
slgeo писал(а):Ссылка нерабочая
Отправлено с моего Redmi Note 3 через Tapatalk
Разработка голосового асистента для Мажордомо по любому ключевому слову.
Обсужение
gitHub 2й версии терминала
GitHub модуля для МД
gitHub сырого модуля 2й версии
Connect
Rasberry Pi 2, MDM, MySensors. И говорящий апельсин.
Обсужение
gitHub 2й версии терминала
GitHub модуля для МД
gitHub сырого модуля 2й версии
Connect
Rasberry Pi 2, MDM, MySensors. И говорящий апельсин.