Sonoff, умная розетка

Helion

✩✩✩✩✩✩✩
а можно на ардуино реализовать умную розетку по типу Sonoff?
минус Sonoff - все храниться на сервере. отключится/потеряется связь с сервером и все макросы не работают. при этом хаотически ищет подключение, потребляя больше питания.

вот хотелось бы что бы настройки выключателя хранились на самом устройстве, работало независимо есть ли интернет, особенно работа по таймерам
ну и конечно все плюшки от sonoff - типо управлением вне дома,.
а так же еще допилить RF модуль, чтоб по пульту на какой нить частоте 433 можно было подключить

у меня дома есть розетки, лампы для цветов включаются в определенное время, но инет пропадет - и ничего не работает. но нет возможности по RF включать
есть выключатели на свет, там дополнительно модуль RF есть, идешь по лестнице домой, на пультике нажал - свет в коридоре загорелся. но с инетом таже проблема. не будет wi-fi и не работает.

вообще б цены не было б такому устройству
 

Vit_But

✩✩✩✩✩✩✩
26 Янв 2019
28
8
Тут надо понмать , для чего это нужно. Свет над цветами по таймеру и зачем мудрить, зачем через инет ? Свет в коредоре с пульта, а чем дачик движения плох? И пульт насить не нужно. И для чего управление через инет? На ардуино можно это все сделать, но смысл- если только очень хочется поколхозить и сделать самому.
 

Helion

✩✩✩✩✩✩✩
Тут надо понмать , для чего это нужно. Свет над цветами по таймеру и зачем мудрить, зачем через инет ? Свет в коредоре с пульта, а чем дачик движения плох? И пульт насить не нужно. И для чего управление через инет? На ардуино можно это все сделать, но смысл- если только очень хочется поколхозить и сделать самому.
вот как раз дело в специфике. и просто хочется 1 коробочку модернизировать типо "все в одном"
к примеру что именно:
коридор, можно датчик поставить. но это опять же - надо 2 устройства. выключатель, датчик.
у меня проблема в другом - в коридоре никогда свет никто не выключает, так вот таймер поставить чтоб через полчаса см выключался. как в сонофф. + коридор длинный - на другом конце поставить RF выключатель к первому. зимой возвращаюсь домой с покупками. свет включился к примеру либо с пульта, пока поднимаешься по лестнице, либо по тому же датчику движения.

для цветов - программы освещения задавать.

инет может да и не совсем нужен. в принципе не нужен, просто может удаленно с работы. я к примеру так 3д принтер выключаю. у меня простенький.

много функций уже в sonoff есть, вот только в розетке - нет RF модуля, а вот само устройство класс. если бы туда RF добавили бы и настройки сохранялись бы в устройстве а не на сервере. то как раз то что нужно. вот это самые минусы его. что без сервера он почти не работает.

поэтому и хочется в одной коробочке все соединить, и распихать по всем местам и не думать что где то одно где то другое. ту же вытяжку на него посадить к примеру. в sonoff можно тоже задавать программы типо по включению одного, включается другое и так далее.
 

Shadowe

✩✩✩✩✩✩✩
31 Май 2023
1
0
Оформи код соответствующим тэгом
Задался подобного рода действом, однако модуль сможет управлять и розеткой, планирую реализовать на ESP8266 (D1 mini), работать будет как от Wi-fi так и через инет.
Если есть у кого советы, предложения жду с не терпением пока скидываю что на воял, есть проблема фактического исполнения команды

#include <ESP8266WiFi.h>
#include <PubSubClient.h>

const char* ssid = "";
const char* password = "";
const char* mqtt_server = "m5.wqtt.ru";
const char* mqtt_username = "";
const char* mqtt_password = "";
const int mqtt_port = 8062;

const char* topic = "test/esp8266";
const int relayPin = 4;

WiFiClient espClient;
PubSubClient client(espClient);

void setup_wifi() {
delay(10);
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");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());
}

void setup() {
pinMode(relayPin, OUTPUT);
Serial.begin(9600);
setup_wifi();
client.setServer(mqtt_server, mqtt_port);
client.setCallback(callback);
}

void callback(char* topic, byte* payload, unsigned int length) {
Serial.print("Message arrived in topic: ");
Serial.println(topic);
Serial.print("Message:");
for (int i = 0; i < length; i++) {
Serial.print((char)payload);
}
Serial.println();

if (strcmp(topic, "test/esp8266") == 0) {
if ((char)payload[0] == '0') {
digitalWrite(relayPin, LOW);
} else {
digitalWrite(relayPin, HIGH);
}
}
}

void reconnect() {
while (!client.connected()) {
Serial.print("Attempting MQTT connection...");
if (client.connect("ESP8266Client", mqtt_username, mqtt_password )) {
Serial.println("connected");
client.subscribe(topic);
} else {
Serial.print("failed, rc=");
Serial.print(client.state());
Serial.println(" try again in 5 seconds");
delay(5000);
}
}
}

void loop() {
if (!client.connected()) {
reconnect();
}
client.loop();

if (WiFi.status() != WL_CONNECTED) {
setup_wifi();
}

// publish relay state to port
if (digitalRead(relayPin)) {
Serial.println("Relay is ON");
} else {
Serial.println("Relay is OFF");
}
}
 

Вложения

Изменено:

Shaitan

★★★✩✩✩✩
17 Фев 2020
149
142
Библиотека GyverHub умеет с MQTT сервером работать, и через него к умному дому цебляться.