Слава, возможно тебе поможет инструкция в картинках по регистрации брокера и настройки приложения MQTT на смартфоне из моего соседнего проекта. Там mqtt у меня работает на sim800L. Но на даче у меня почти такой же sim900, на нём немного по другому всё. Зато мимум внесений изменений в твой скетч, чтобы всё заработало. После того как я mqtt настроил СМС как то вообще не серьёзно. Онлайн рулит. Скетч позже скину
Для связи всех бутербродов, а также для связи с другим домом рядом стоящим. Один большой участок и два дома, уличное освещение должно включаться с обоих домов
сколько у вас таких бутербродов? завязаны они, как я понял через can шину. А с пасбери как работают?
Бутерброды:
1. Бутер на 96 индикаций импульсными реле
2. Бутер на 96 управлений импульсными реле
3. Бутер для управления нагрузкой маленькой - 16 реле 220В
4. Бутер для обработки всей информации и управления, а также к нему подключаются все датчики дыма, датчики движения, герконы, датчики протечки, датчики утечки газа, датчики температуры-влажности, информационные входа(наличие питания в доме, с генератора, со стабилизаторов, инфа о БРП12В), вентиляторы и свет в щите, датчики температуры приочной-вытяжной системы вентиляции. модуль MP3, модуль GSM.
5. Raspbarry нужна лишь для красивой оболочки WEB на Ajax, и для информативности об авариях через Telegram.
А кто нибудь пробовал в умном доме использовать выключатели livolo?
Обычные сенсорные выключатели, ничего нового, можно заказать только корпус рублей за 100 и наколхозить уже самим туда сенсор и подключить его к Arduino, но зачем... если вдруг глюкнет чего то, то и свет не включить.
У меня стоят обычные выключатели с пружинкой или можно купить уже готовые кнопочные выключатели.
От них протянуть кабель до щита, в щите поставить импульсное реле и к нему уже подключить светильник, где стоит сам выключатель. Всё таки механика есть механика! А Arduino имеет свойство ломаться как и все электронные приборы.
А если использовать выключатель с радио управлением то можно провода не протягивать и сэкономить много пинов.
Я, у себя в квартире, так и сделал. Приколхозил к импульсным реле отдельный контроллер и теперь могу управлять светом через обычные кнопки, радио выключатели или радио пульты и через RS485 интерфейс. Кнопки поставлю только около щита, на всякий случай. Радио выключатели https://ru.aliexpress.com/item/32890551775.html
Для индикации состояния света(вкл./выкл.), чтоб отображать текущее состояние(забыл сказать - импульсное реле имеет 2НО выхода, один используется для светильников, второй для индикации на ардуину).
почему не сделали через модуль центрального управления E293/X?
Для индикации состояния света(вкл./выкл.), чтоб отображать текущее состояние(забыл сказать - импульсное реле имеет 2НО выхода, один используется для светильников, второй для индикации на ардуину).
почему не сделали через модуль центрального управления E293/X?
1. не зачем использовать модуль
2. Модуль дороже импульсного реле на 2 НО выхода
3. вы наверное не подключали такие импульсные реле
Слава, возможно тебе поможет инструкция в картинках по регистрации брокера и настройки приложения MQTT на смартфоне из моего соседнего проекта. Там mqtt у меня работает на sim800L. Но на даче у меня почти такой же sim900, на нём немного по другому всё. Зато мимум внесений изменений в твой скетч, чтобы всё заработало. После того как я mqtt настроил СМС как то вообще не серьёзно. Онлайн рулит. Скетч позже скину
Для связи всех бутербродов, а также для связи с другим домом рядом стоящим. Один большой участок и два дома, уличное освещение должно включаться с обоих домов
Добрый день, можете схему набросать?
Схему подключения?
да
Добрый день, можете схему набросать?
Схему для бутербродов рисовал в Автокаде
Добрый день, скетч покажите
Скетча много, для каждого бутерброда свой.
Например - Скетч для бутерброда 16 РЕЛЕ
/*ПЛАТА РЕЛЕ 16шт * Загружена прошивка 18.11.19 * Адрес Платы управления 16 реле 0x0C4 */ #include <SoftwareSerial.h> #include <EEPROM.h> #include <SPI.h> #include <mcp2515.h> #include <Wire.h> // Wire.h #include "Adafruit_MCP23017.h" /*Подключение MCP23017 - Модуль расширения * MCP23017 Arduino uno Arduino Mega * SDA A4 20 * SCL A5 21 * * Адреса * Chip Hardwired Address i2C * Address A2 A1 A0 Address * 0(000) gnd gnd gnd 0x20 * 1(000) gnd gnd 3v3 0x21 * 2(000) gnd 3v3 gnd 0x22 * 3(000) gnd 3v3 3v3 0x23 * 4(000) 3v3 gnd gnd 0x24 * 5(000) 3v3 gnd 3v3 0x25 * 6(000) 3v3 3v3 gnd 0x26 * 7(000) 3v3 3v3 3v3 0x27 * */ Adafruit_MCP23017 mcp; /*Подключение MCP25515 - CAN модуль * MCP25515 Arduino Uno Arduino Mega * INT(Interrupt) 2 - * SCK(Serial Clock) 13 52 * SI(MOSI) 11 51 * SO(MISO) 12 50 * CS(Chip Select) 10 13 или 12 * GND GND GND * VCC 5V 5V */ struct can_frame canMsg; MCP2515 mcp2515(10); //CS pin int timeTestSatus = 5000; //время проверки системы unsigned long currentMillisStatus = 0; unsigned long previousMillisStatus = 0; unsigned long IntervalStatus = timeTestSatus; // Интервал для проверки int NRele = 0; int stateN1 = 0; int stateN2 = 0; int stateN3 = 0; int stateN4 = 0; int stateN5 = 0; int stateN6 = 0; int stateN7 = 0; int stateN8 = 0; int stateN9 = 0; int stateN10 = 0; int stateN11 = 0; int stateN12 = 0; int stateN13 = 0; int stateN14 = 0; int stateN15 = 0; int stateN16 = 0; void setup() { // Serial.begin(9600); // Сериал для PC // Serial.println("Arduino Start, CAN Start"); SPI.begin(); mcp2515.reset(); mcp2515.setBitrate(CAN_125KBPS); mcp2515.setNormalMode(); mcp.begin(); // use default address 0 for (int j=0;j<=16;j++){ mcp.begin(0); mcp.pinMode(j, OUTPUT); mcp.digitalWrite(j, HIGH); } stateN1 = EEPROM.read(1);ChangeStateImpulsRele(0,1,stateN1); stateN2 = EEPROM.read(2);ChangeStateImpulsRele(0,2,stateN2); stateN3 = EEPROM.read(3);ChangeStateImpulsRele(0,3,stateN3); stateN4 = EEPROM.read(4);ChangeStateImpulsRele(0,4,stateN4); stateN5 = EEPROM.read(5);ChangeStateImpulsRele(0,5,stateN5); stateN6 = EEPROM.read(6);ChangeStateImpulsRele(0,6,stateN6); stateN7 = EEPROM.read(7);ChangeStateImpulsRele(0,7,stateN7); stateN8 = EEPROM.read(8);ChangeStateImpulsRele(0,8,stateN8); stateN9 = EEPROM.read(9);ChangeStateImpulsRele(0,9,stateN9); stateN10 = EEPROM.read(10);ChangeStateImpulsRele(0,10,stateN10); stateN11 = EEPROM.read(11);ChangeStateImpulsRele(0,11,stateN11); stateN12 = EEPROM.read(12);ChangeStateImpulsRele(0,12,stateN12); stateN13 = EEPROM.read(13);ChangeStateImpulsRele(0,13,stateN13); stateN14 = EEPROM.read(14);ChangeStateImpulsRele(0,14,stateN14); stateN15 = EEPROM.read(15);ChangeStateImpulsRele(0,15,stateN15); stateN16 = EEPROM.read(16);ChangeStateImpulsRele(0,16,stateN16); } void loop() { //Наш адрес 0x0C4 // Слушаем CAN if (mcp2515.readMessage(&canMsg) == MCP2515::ERROR_OK) { if (canMsg.can_id == 0x0C3){ // Serial.print("Пришло смс с главной платы: "); // PrintCanData(); //Получили комманду: if (canMsg.data[0] == 4){//Адресованно плате реле16 if (canMsg.data[1] == 1){//Комманда для включения реле NRele = canMsg.data[2]; //ChangeStateImpulsRele(AddresMCP,PinMCP,on/off) switch (NRele) { case 1: ChangeStateImpulsRele(0,NRele,1); break; case 2: ChangeStateImpulsRele(0,NRele,1); break; case 3: ChangeStateImpulsRele(0,NRele,1); break; case 4: ChangeStateImpulsRele(0,NRele,1); break; case 5: ChangeStateImpulsRele(0,NRele,1); break; case 6: ChangeStateImpulsRele(0,NRele,1); break; case 7: ChangeStateImpulsRele(0,NRele,1); break; case 8: ChangeStateImpulsRele(0,NRele,1); break; case 9: ChangeStateImpulsRele(0,NRele,1); break; case 10: ChangeStateImpulsRele(0,NRele,1); break; case 11: ChangeStateImpulsRele(0,NRele,1); break; case 12: ChangeStateImpulsRele(0,NRele,1); break; case 13: ChangeStateImpulsRele(0,NRele,1); break; case 14: ChangeStateImpulsRele(0,NRele,1); break; case 15: ChangeStateImpulsRele(0,NRele,1); break; case 16: ChangeStateImpulsRele(0,NRele,1); break; NRele = 0; } goto exit1; } if (canMsg.data[1] == 2){//Комманда для выключения реле NRele = canMsg.data[2]; //ChangeStateImpulsRele(AddresMCP,PinMCP,on/off) switch (NRele) { case 1: ChangeStateImpulsRele(0,NRele,0); break; case 2: ChangeStateImpulsRele(0,NRele,0); break; case 3: ChangeStateImpulsRele(0,NRele,0); break; case 4: ChangeStateImpulsRele(0,NRele,0); break; case 5: ChangeStateImpulsRele(0,NRele,0); break; case 6: ChangeStateImpulsRele(0,NRele,0); break; case 7: ChangeStateImpulsRele(0,NRele,0); break; case 8: ChangeStateImpulsRele(0,NRele,0); break; case 9: ChangeStateImpulsRele(0,NRele,0); break; case 10: ChangeStateImpulsRele(0,NRele,0); break; case 11: ChangeStateImpulsRele(0,NRele,0); break; case 12: ChangeStateImpulsRele(0,NRele,0); break; case 13: ChangeStateImpulsRele(0,NRele,0); break; case 14: ChangeStateImpulsRele(0,NRele,0); break; case 15: ChangeStateImpulsRele(0,NRele,0); break; case 16: ChangeStateImpulsRele(0,NRele,0); break; NRele = 0; } goto exit1; } if (canMsg.data[1] == 3){//Комманда для выключения всех реле for (int j=0;j<=16;j++){ // mcp.begin(0); mcp.pinMode(j, OUTPUT); mcp.digitalWrite(j, HIGH); EEPROM.write((j+1),0); // delay(100);// обязательная задержка } goto exit1; } if (canMsg.data[1] == 4){//Комманда для включения всех реле for (int j=0;j<=16;j++){ // mcp.begin(0); mcp.pinMode(j, OUTPUT); mcp.digitalWrite(j, LOW); EEPROM.write((j+1),1); // delay(100);// обязательная задержка } } exit1: //Пришла комманда "Ты Тут?", для отправки обратно if (canMsg.data[1] == 9){ //Начало сообщения canMsg.can_id = 0x0C4; //Номер отправляемого устройства canMsg.can_dlc = 0x2; //Кол-во данных canMsg.data[0] = 9; //Говорим, что это состояние системы canMsg.data[1] = 1; //Я ТУТ! //Отправляем подготовленное сообщение SendCan(canMsg); } } } } // Отправка состояния системы на связи currentMillisStatus = millis(); if(currentMillisStatus - previousMillisStatus > IntervalStatus) { previousMillisStatus = currentMillisStatus; //Начало сообщения canMsg.can_id = 0x0C4; //Номер отправляемого устройства canMsg.can_dlc = 0x2; //Кол-во данных canMsg.data[0] = 9; //Говорим, что это состояние системы canMsg.data[1] = 1; //Я ТУТ! //Отправляем подготовленное сообщение SendCan(canMsg); } } void ChangeStateImpulsRele(int MCPBegin, int MCPPin, int state){ // mcp.begin(MCPBegin); mcp.pinMode((MCPPin-1), OUTPUT); if (state == 0){ mcp.digitalWrite((MCPPin-1), HIGH); EEPROM.write(MCPPin,state); PodgotovkaSendCan(MCPPin,state); // delay(100); } if (state == 1){ mcp.digitalWrite((MCPPin-1), LOW); EEPROM.write(MCPPin,state); PodgotovkaSendCan(MCPPin,state); // delay(100); } } void PodgotovkaSendCan(int Nrele, int StateRele){ canMsg.can_id = 0x0C4; //Номер отправляемого устройства canMsg.can_dlc = 0x3; //Кол-во данных canMsg.data[0] = 1; //Говорим, что это состояние реле canMsg.data[1] = Nrele; //номер реле canMsg.data[2] = StateRele; //состояние реле //Отправляем подготовленное сообщение SendCan(canMsg); } void SendCan(struct can_frame canMsg){ mcp2515.sendMessage(&canMsg); // Serial.print("Отправка: "); // PrintCanData(); delay(23); } //void PrintCanData(){ // Serial.print(canMsg.can_id, HEX); // print ID // Serial.print(" "); // Serial.print(canMsg.can_dlc, HEX); // print DLC // Serial.print(" "); // for (int i = 0; i<canMsg.can_dlc; i++) { // print the data // Serial.print(canMsg.data[i],HEX); // Serial.print(" "); // } // Serial.println(); //}доброе утро, спасибо. А что залито в плате индикации и плате управления импульсами
сколько у вас таких бутербродов? завязаны они, как я понял через can шину. А с пасбери как работают?
доброе утро, спасибо. А что залито в плате индикации и плате управления импульсами
Большой код, обрезал чутка
/*ПЛАТА индикаций 96шт * Загружена прошивка 15.10.19 * Адрес Индикационной платы 0x0C2 */ #include <SoftwareSerial.h> #include <EEPROM.h> #include <SPI.h> #include <mcp2515.h> #include <Wire.h> // Wire.h #include "Adafruit_MCP23017.h" ----------------- Куча переменных ---------------- void setup() { // Serial.begin(9600); // Сериал для PC // Serial.println("Arduino Start, CAN Start"); SPI.begin(); mcp2515.reset(); mcp2515.setBitrate(CAN_125KBPS); mcp2515.setNormalMode(); // Serial.println("Start"); } void loop() { StatusIndication(); //Адрес Малинки 0x0A0 //Адрес главной платы с GSM 0x0C3 //Адрес Индикационной платы 0x0C2 //Адрес Платы управления 16 реле 0x0C4 //Адрес платы управелния 95 реле 0х0С5 //Наш адрес 0x0C2 //Формат: //ID устройства- ID нашего устройства //DLC количество данных в сообщении //Сообщение // Слушаем CAN if (mcp2515.readMessage(&canMsg) == MCP2515::ERROR_OK) { if (canMsg.can_id == 0x0C3){ // Serial.print("Пришло смс с Малинки: "); // PrintCanData(); //Получили комманду: if (canMsg.data[0] == 2){//Адресованно плате индикации if (canMsg.data[1] == 1){ //НАПИСАТЬ функцию } if (canMsg.data[1] == 2){ //НАПИСАТЬ функцию } if (canMsg.data[1] == 9){ //Начало сообщения canMsg.can_id = 0x0C2; //Номер отправляемого устройства canMsg.can_dlc = 0x2; //Кол-во данных canMsg.data[0] = 9; //Говорим, что это состояние системы canMsg.data[1] = 1; //ПРосто 1 //Отправляем подготовленное сообщение SendCan(canMsg); } } } } // Отправка состояния системы на связи currentMillisStatus = millis(); if(currentMillisStatus - previousMillisStatus > IntervalStatus) { previousMillisStatus = currentMillisStatus; //Начало сообщения canMsg.can_id = 0x0C2; //Номер отправляемого устройства canMsg.can_dlc = 0x2; //Кол-во данных canMsg.data[0] = 9; //Говорим, что это состояние системы canMsg.data[1] = 1; //ПРосто 1 //Отправляем подготовленное сообщение SendCan(canMsg); } }//end loop void PodgotovkaSendCanDataStatusIndication(int d1, int d2){ //Начало сообщения canMsg.can_id = 0x0C2; //Номер отправляемого устройства, т.е. это устройство canMsg.can_dlc = 0x3; //Кол-во данных canMsg.data[0] = 1; //Говорим, что 1 -это состояние индикации canMsg.data[1] = d1; // Номер индикации canMsg.data[2] = d2; // Состояние индикации SendCan(canMsg);//Отправляем подготовленное сообщение } void SendCan(struct can_frame canMsg){ mcp2515.sendMessage(&canMsg); // Serial.print("Отправка: "); // PrintCanData(); delay(20); } void StatusIndication(){ //Слушаем модуль №0 mcp.begin(0); // use default address 0 //Состояние индикации №1 StateInd = mcp.digitalRead(8);//address=0, A0-#1 NumInd = 1; //Номер индикации if (StateInd == 1 && flagInd1 == 0){ PodgotovkaSendCanDataStatusIndication(NumInd, StateInd);//Подготовка к отправке flagInd1 = 1; }else if (StateInd == 0 && flagInd1 == 1){ PodgotovkaSendCanDataStatusIndication(NumInd, StateInd);//Подготовка к отправке flagInd1 = 0; } //Состояние индикации №2 StateInd = mcp.digitalRead(9);//address=0, A1-#2 NumInd = 2; //Номер индикации if (StateInd == 1 && flagInd2 == 0){ PodgotovkaSendCanDataStatusIndication(NumInd, StateInd);//Подготовка к отправке flagInd2 = 1; }else if (StateInd == 0 && flagInd2 == 1){ PodgotovkaSendCanDataStatusIndication(NumInd, StateInd);//Подготовка к отправке flagInd2 = 0; } -------------- И так делее }И для платы управления:
/*ПЛАТА управлений 96шт * Загружена прошивка * Адрес Управленческой платы 0x0C5 */ #include "Arduino.h" #include <SoftwareSerial.h> #include <EEPROM.h> #include <SPI.h> #include <mcp2515.h> #include <Wire.h> // Wire.h #include "Adafruit_MCP23017.h" ----------- куча переменных ----------- void setup() { // Serial.begin(9600); // Сериал для PC // Serial.println("Arduino Start, CAN Start"); // ClearAddresDataEEPROM(); //Очистка памяти SPI.begin(); mcp2515.reset(); mcp2515.setBitrate(CAN_125KBPS); mcp2515.setNormalMode(); delayImpuls = EEPROM.read(10); // Serial.print("Задержка:"); // Serial.println(delayImpuls); } void loop() { //Адрес Малинки 0x0A0 //Адрес главной платы с GSM 0x0C3 //Адрес Индикационной платы 0x0C2 //Адрес Платы управления 16 реле 0x0C4 //Адрес платы управелния 95 реле 0х0С5 //Наш адрес 0х0С5 //Формат: //ID устройства- ID нашего устройства //DLC количество данных в сообщении //Сообщение // Слушаем CAN if (mcp2515.readMessage(&canMsg) == MCP2515::ERROR_OK) { if (canMsg.can_id == 0x0C3){ // Serial.print("Пришло смс с Малинки: "); // PrintCanData(); //Получили комманду: if (canMsg.data[0] == 5){//Адресованно плате упр.96 if (canMsg.data[1] == 1){//Переключение по одной реле NImpulsRele = canMsg.data[2]; // Serial.print("Переключить реле №: "); // Serial.println(NImpulsRele); //CMP address; CMP Pin; switch (NImpulsRele) { case 1: ChangeStateImpulsRele(0,8); break; case 2: ChangeStateImpulsRele(0,9); break; --------- case 96: ChangeStateImpulsRele(5,7); break; } } if (canMsg.data[1] == 2){//Записываем время задержки для переключения реле tempTimeDelayRele = canMsg.data[2]; EEPROM.write(10,tempTimeDelayRele); delayImpuls = EEPROM.read(10); } if (canMsg.data[1] == 9){//Пришла комманда "Ты Тут?", для отправки обратно //Начало сообщения canMsg.can_id = 0x0C5; //Номер отправляемого устройства canMsg.can_dlc = 0x2; //Кол-во данных canMsg.data[0] = 9; //Говорим, что это состояние системы canMsg.data[1] = 1; //ПРосто 1 //Отправляем подготовленное сообщение SendCan(canMsg); } } } } // Отправка состояния системы на связи currentMillisStatus = millis(); if(currentMillisStatus - previousMillisStatus > IntervalStatus) { previousMillisStatus = currentMillisStatus; //Начало сообщения canMsg.can_id = 0x0C5; //Номер отправляемого устройства canMsg.can_dlc = 0x2; //Кол-во данных canMsg.data[0] = 9; //Говорим, что это состояние системы canMsg.data[1] = 1; //ПРосто 1 //Отправляем подготовленное сообщение SendCan(canMsg); } } void SendCan(struct can_frame canMsg){ mcp2515.sendMessage(&canMsg); // Serial.print("Отправка: "); // PrintCanData(); delay(20); } void ChangeStateImpulsRele(int MCPBegin, int MCPPin){ mcp.begin(MCPBegin); mcp.pinMode(MCPPin, OUTPUT); mcp.digitalWrite(MCPPin, HIGH); delay(delayImpuls); mcp.begin(MCPBegin); mcp.pinMode(MCPPin, OUTPUT); mcp.digitalWrite(MCPPin, LOW); } // Очистка EEPROM void ClearAddresDataEEPROM(){ for (i=0; i<=100; i++){ EEPROM.write(i,0); } }сколько у вас таких бутербродов? завязаны они, как я понял через can шину. А с пасбери как работают?
Бутерброды:
1. Бутер на 96 индикаций импульсными реле
2. Бутер на 96 управлений импульсными реле
3. Бутер для управления нагрузкой маленькой - 16 реле 220В
4. Бутер для обработки всей информации и управления, а также к нему подключаются все датчики дыма, датчики движения, герконы, датчики протечки, датчики утечки газа, датчики температуры-влажности, информационные входа(наличие питания в доме, с генератора, со стабилизаторов, инфа о БРП12В), вентиляторы и свет в щите, датчики температуры приочной-вытяжной системы вентиляции. модуль MP3, модуль GSM.
5. Raspbarry нужна лишь для красивой оболочки WEB на Ajax, и для информативности об авариях через Telegram.
А кто нибудь пробовал в умном доме использовать выключатели livolo?
Обычные сенсорные выключатели, ничего нового, можно заказать только корпус рублей за 100 и наколхозить уже самим туда сенсор и подключить его к Arduino, но зачем... если вдруг глюкнет чего то, то и свет не включить.
У меня стоят обычные выключатели с пружинкой или можно купить уже готовые кнопочные выключатели.
От них протянуть кабель до щита, в щите поставить импульсное реле и к нему уже подключить светильник, где стоит сам выключатель. Всё таки механика есть механика! А Arduino имеет свойство ломаться как и все электронные приборы.
Да пробовали! Один человека даже LIVOLO library написал https://forum.arduino.cc/index.php?topic=153525.0
Вот здесь активно обсуждали вопросы препарирования и переделки http://we.easyelectronics.ru/Shematech/preparirovanie-sensornogo-vyklyuc...
А если использовать выключатель с радио управлением то можно провода не протягивать и сэкономить много пинов.
Я, у себя в квартире, так и сделал. Приколхозил к импульсным реле отдельный контроллер и теперь могу управлять светом через обычные кнопки, радио выключатели или радио пульты и через RS485 интерфейс. Кнопки поставлю только около щита, на всякий случай. Радио выключатели https://ru.aliexpress.com/item/32890551775.html
Радио выключатели https://ru.aliexpress.com/item/32890551775.html
А что к ним еще нужно? Не умный дом, а зональное освещение хочу по участку, вроде гору провода сэкономить можно?
Приёмник на ту же частоту, что и выключатель (433 или 315). Лучше супергетеродинный, я такого типа брал https://ru.aliexpress.com/item/32878945000.html
Антенны я брал отдельно, но бывают и в комплекте. https://ru.aliexpress.com/item/32816097343.html
Благодарю, почитаю, что за звери и с чем едят.))))
добрый день, спасибо за информацию.
У вас есть фото силовой части (электрики) одного из объектов?
добрый день, спасибо за информацию.
У вас есть фото силовой части (электрики) одного из объектов?
Фото щита импульсных реле
Для индикации состояния света(вкл./выкл.), чтоб отображать текущее состояние(забыл сказать - импульсное реле имеет 2НО выхода, один используется для светильников, второй для индикации на ардуину).
почему не сделали через модуль центрального управления E293/X?
Для индикации состояния света(вкл./выкл.), чтоб отображать текущее состояние(забыл сказать - импульсное реле имеет 2НО выхода, один используется для светильников, второй для индикации на ардуину).
почему не сделали через модуль центрального управления E293/X?
1. не зачем использовать модуль
2. Модуль дороже импульсного реле на 2 НО выхода
3. вы наверное не подключали такие импульсные реле
Спасибо, да я не работал еще с импульсными реле. хочу сначала в этом разобраться. интересует их подключение с реализацией мастер кнопки
Спасибо, да я не работал еще с импульсными реле. хочу сначала в этом разобраться. интересует их подключение с реализацией мастер кнопки
Привет, я использовал в проекте вот такие импульсные реле "Реле электромеханическое E290-16-20/24 ABB"
Впечатляет. Масштабный вы человек, на мелочи не размениваетесь. Или вам зарплату импульсными реле выдают?
Впечатляет. Масштабный вы человек, на мелочи не размениваетесь. Или вам зарплату импульсными реле выдают?
Есть время и идеи для разработки. ЗП рублями, вам же неверное релюшками выдают.