Беспроводное устройство для управлением «умным домом» - аналог Sonoff - Своими руками
Своими руками

Беспроводное устройство для управлением «умным домом» – аналог Sonoff

>

Беспроводное устройство для управлением «умным домом» - аналог SonoffВ этой статье мастер-самодельщик расскажет нам, как можно сделать свой sonoff с помощью модуля Wi-Fi и реле esp8266 01. С помощью данного устройства можно управлять своей бытовой техникой из любой точки мира.

Sonoff Basic – это устройство, которое предоставляет пользователям возможность управления умным домом. Это беспроводной коммутатор на базе Wi-Fi, который может подключаться к широкому ряду устройств. Sonoff передает данные на облачную платформу через маршрутизатор Wi-Fi, который позволяет пользователям удаленно управлять подключенными устройствами через мобильное приложение.

ESP8266 ESP-01 – это модуль Wi-Fi, который позволяет микроконтроллерам получать доступ к сети Wi-Fi. Этот модуль представляет собой автономный SOC (System On a Chip), которому не обязательно нужен микроконтроллер для управления входами и выходами, как это реализовано на Arduino.
Инструменты и материалы:-Печатная плата;-Понижающий преобразователь Hi-Link -5В;-Реле -5В;
-ESP8266-01;
-Регулятор напряжения LD33V IC;-Транзистор MCT2E;-Транзистор BC547;-Диод IN4007;-Резистор 1 кОм;-Светодиод – 5мм;-2-контактные винтовые разъемы – 2 шт.;-Паяльные принадлежности;-Программатор;
-Лист ПВХ;
-Отвертка;
-Провод с патроном;
-Лампочка;
Беспроводное устройство для управлением «умным домом» - аналог SonoffБеспроводное устройство для управлением «умным домом» - аналог SonoffБеспроводное устройство для управлением «умным домом» - аналог SonoffБеспроводное устройство для управлением «умным домом» - аналог SonoffБеспроводное устройство для управлением «умным домом» - аналог SonoffШаг первый: схема и печатная плата
Для устройства мастер разработал схему и заказал плату.
Беспроводное устройство для управлением «умным домом» - аналог SonoffБеспроводное устройство для управлением «умным домом» - аналог SonoffПосле изготовления платы нужно произвести ее монтаж. ESP-01 работает от 3 вольт, поэтому LD33V IC используется для преобразования 5 вольт в 3,3 вольта.
Беспроводное устройство для управлением «умным домом» - аналог SonoffБеспроводное устройство для управлением «умным домом» - аналог SonoffБеспроводное устройство для управлением «умным домом» - аналог SonoffБеспроводное устройство для управлением «умным домом» - аналог SonoffБеспроводное устройство для управлением «умным домом» - аналог SonoffШаг второй: настройка ADAFRUIT MQTT
Adafruit IO-это IOT-платформа (интернета вещей), построенная на основе протокола телеметрии очередей сообщений (MQTT). MQTT-это легкий протокол, который позволяет нескольким устройствам подключаться к общему серверу, называемому брокером MQTT, и подписываться или писать в определенные пользователем разделы. Когда устройство подписано на тему, брокер будет отправлять ему уведомление при каждом изменении этой темы. MQTT лучше всего подходит для приложений с низкой скоростью передачи данных, строгими ограничениями мощности или медленным подключением к Интернету.
-Сначала нужно создать бесплатный аккаунт на сайте adafruit.io.
-Затем, перейдя в Личный кабинет, переходим Action и выбираем “create new dashboard”. Задаем имя и кликаем «create».
-Дальше переходим в раздел “create new block “. Выбираем тип блока, который мы хотим использовать, например тумблер, слайдер и т.д. Кликаем “Create block”
Беспроводное устройство для управлением «умным домом» - аналог SonoffБеспроводное устройство для управлением «умным домом» - аналог SonoffБеспроводное устройство для управлением «умным домом» - аналог SonoffБеспроводное устройство для управлением «умным домом» - аналог SonoffБеспроводное устройство для управлением «умным домом» - аналог SonoffШаг третий: программирование ESP-01
Теперь нужно запрограммировать Esp8266.
Устанавливаем ESP-01 в последовательный USB-модуль
Подключаем плату последовательного модуля Esp8266 к ПК.
Настраиваем Wifi SSID,PASS,AIO USERNAME,AIO KEY & FEED NAME (Имя пользователя и aio key можно найти, нажав на “My Key” в аккаунте adafruit. Для лучшего понимания, можно посмотреть видео перейдя по этой ссылке.)
Переходим в Инструменты> Плата > Платы ESP8266> Стандартный модуль ESP8266 (Adafruit_MQTT_Library должен быть установлен)
Выбираем правильный порт.
Загружаем код.
Беспроводное устройство для управлением «умным домом» - аналог Sonoff Показать / Скрыть текст/***************************************************
This is the code for the project DIY WIFI switch using ESP8266

Original code is from
Adafruit MQTT Library ESP8266 Example

Code edited by
Pro Maker_101
****************************************************/
#include <ESP8266WiFi.h>
#include "Adafruit_MQTT.h"
#include "Adafruit_MQTT_Client.h"
#define relay 0

/************************* WiFi Access Point *********************************/

#define WLAN_SSID "……."
#define WLAN_PASS "………."

/************************* Adafruit.io Setup *********************************/

#define AIO_SERVER "io.adafruit.com"
#define AIO_SERVERPORT 1883 // use 8883 for SSL
#define AIO_USERNAME "……….."
#define AIO_KEY "…………………….."

/************ Global State (you don't need to change this!) ******************/

// Create an ESP8266 WiFiClient class to connect to the MQTT server.
WiFiClient client;
// or… use WiFiFlientSecure for SSL
//WiFiClientSecure client;

// Setup the MQTT client class by passing in the WiFi client and MQTT server and login details.
Adafruit_MQTT_Client mqtt(&client, AIO_SERVER, AIO_SERVERPORT, AIO_USERNAME, AIO_KEY);

/****************************** Feeds ***************************************/

// Setup a feed called 'photocell' for publishing.
// Notice MQTT paths for AIO follow the form: <username>/feeds/<feedname>
//Adafruit_MQTT_Publish photocell = Adafruit_MQTT_Publish(&mqtt, AIO_USERNAME "/feeds/photocell");

// Setup a feed called 'onoff' for subscribing to changes.
Adafruit_MQTT_Subscribe onoffbutton = Adafruit_MQTT_Subscribe(&mqtt, AIO_USERNAME "/feeds/Switch");

/*************************** Sketch Code ************************************/

// Bug workaround for Arduino 1.6.6, it seems to need a function declaration
// for some reason (only affects ESP8266, likely an arduino-builder bug).
void MQTT_connect();

void setup() {
Serial.begin(115200);
delay(10);

Serial.println(F("Adafruit MQTT demo"));

// Connect to WiFi access point.
Serial.println(); Serial.println();
Serial.print("Connecting to ");
Serial.println(WLAN_SSID);

WiFi.begin(WLAN_SSID, WLAN_PASS);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println();

Serial.println("WiFi connected");
Serial.println("IP address: "); Serial.println(WiFi.localIP());

pinMode(relay,OUTPUT);

// Setup MQTT subscription for onoff feed.
mqtt.subscribe(&onoffbutton);
}

uint32_t x=0;

void loop() {
// Ensure the connection to the MQTT server is alive (this will make the first
// connection and automatically reconnect when disconnected). See the MQTT_connect
// function definition further below.
MQTT_connect();

// this is our 'wait for incoming subscription packets' busy subloop
// try to spend your time here

Adafruit_MQTT_Subscribe *subscription;
while ((subscription = mqtt.readSubscription(1))) {
if (subscription == &onoffbutton) {
Serial.print(F("Got: "));
Serial.println((char *)onoffbutton.lastread);
uint16_t state = atoi((char *)onoffbutton.lastread);
digitalWrite(relay,state);
}
}

// ping the server to keep the mqtt connection alive
// NOT required if you are publishing once every KEEPALIVE seconds
/*
if(! mqtt.ping()) {
mqtt.disconnect();
}
*/
}

// Function to connect and reconnect as necessary to the MQTT server.
// Should be called in the loop function and it will take care if connecting.
void MQTT_connect() {ESP8266_Wifi_Switch.ino
Беспроводное устройство для управлением «умным домом» - аналог SonoffБеспроводное устройство для управлением «умным домом» - аналог SonoffБеспроводное устройство для управлением «умным домом» - аналог SonoffБеспроводное устройство для управлением «умным домом» - аналог SonoffБеспроводное устройство для управлением «умным домом» - аналог SonoffБеспроводное устройство для управлением «умным домом» - аналог SonoffБеспроводное устройство для управлением «умным домом» - аналог SonoffБеспроводное устройство для управлением «умным домом» - аналог SonoffБеспроводное устройство для управлением «умным домом» - аналог SonoffПосле программирования нужно установить модуль ESP-01 на плату.
Беспроводное устройство для управлением «умным домом» - аналог SonoffБеспроводное устройство для управлением «умным домом» - аналог SonoffБеспроводное устройство для управлением «умным домом» - аналог SonoffШаг четвертый: корпус
Корпус для платы мастер делает из ПВХ-листа. Вырезает. Склеивает.
В корпусе должно быть два отверстия для входа питания и для нагрузки.
Беспроводное устройство для управлением «умным домом» - аналог SonoffБеспроводное устройство для управлением «умным домом» - аналог SonoffБеспроводное устройство для управлением «умным домом» - аналог SonoffБеспроводное устройство для управлением «умным домом» - аналог SonoffБеспроводное устройство для управлением «умным домом» - аналог SonoffШаг пятый: подключение
Подключите питание 230 В переменного тока К клемме «IN» мастер подключает сетевой провод 230 В. К клемме «OUT» нагрузку. В качестве нагрузки он использует светодиодную лампочку.
Беспроводное устройство для управлением «умным домом» - аналог SonoffБеспроводное устройство для управлением «умным домом» - аналог SonoffБеспроводное устройство для управлением «умным домом» - аналог SonoffБеспроводное устройство для управлением «умным домом» - аналог SonoffБеспроводное устройство для управлением «умным домом» - аналог SonoffШаг шестой: приложение
Для управлением устройством мастер использует приложение « IoT OnOff® ».
Открывает приложение и устанавливает MQTT Broker.
Хост = io.adafruit.com
Порт = 1883
Имя пользователя = Имя пользователя Adafruit IO
Пароль = Ключ ввода-вывода Adafruit
Затем добавляем и устанавливаем переключатель
Publish = Username /Feeds/Feed name
Publish Value = True=1 , False=0
Для лучшего понимания процесса можно посмотреть видео по этой ссылке.
Все готово.
Беспроводное устройство для управлением «умным домом» - аналог SonoffБеспроводное устройство для управлением «умным домом» - аналог SonoffБеспроводное устройство для управлением «умным домом» - аналог SonoffВесь процесс по изготовлению такого устройства можно посмотреть на видео.

SitesReady

Только те, кто предпринимают абсурдные попытки, смогут достичь невозможного. - Альберт Эйнштейн

Follow us

Don't be shy, get in touch. We love meeting interesting people and making new friends.