Skip to content

Alex5200/IotHome

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Создание умного дома

Данный умный дом основан на микроконтроллере ESP8266 и микрокомпьютере raspberry pi

Buy Me A Coffee

ESP8266

  • Для использования esp8266 нам понадобиться скачать библиотеки (ESP8266, Pubclient)
  • И любые внешние датчики Код для микроконтроллере в файле main.cpp

Raspberry pi

Настройка raspberry pi состоит в том что бы:

  • Подключить его к той же сети что и esp8266
  • Установить на него Node-red
  • Со всевозможными пакетами для голосового помошника Алисы

Использование

Код на esp8266

Библиотеки

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

Подключение к локальной сети

const char* ssid = "Имя сети";
const char* password = "Пароль сети";

Подключение к Raspberry pi

const char* mqtt_server = "IP Raspberry pi ";
Для просмотра ip raspberry pi в локально сети используют команду

hostname -I
Создание клиента сервера

WiFiClient espClient;
PubSubClient client(espClient);
Подключаем внешнее устройство
В моем случае лампу

const int lamp = 4;
Создаем таймер для проверки состояния

long now = millis();
long lastMeasure = 0;

Создаем функции для WiFi

Создаем функцию для подключения к WiFi

void setup_wifi() 
Создаем функцию для повторного подключения к WiFi

void reconnect()

Так же в этой фунции реализованна подписка на переменную лампы

  Serial.println("connected");  
  client.subscribe("room/lamp");
Присваивание esp8266 локального ip и порта node-red
В функции void setup()
  setup_wifi();
  client.setServer(mqtt_server, 1883);
  client.setCallback(callback);
В функции void loop()

В ней у нас происходит постоянная проверка функции подключение и если она не работает то включается переподключение

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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages