Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Умный мониторинг дома с голосовым управлением через Alexa

Компоненты

Сервисы

Функции

  1. Голосовое управление светом и вентилятором через Alexa.
  2. Статус устройств («Алекса, какой статус устройств?»).
  3. Погода в доме (температура, влажность).
  4. Снимок интерьера на почту («Алекса, пришли фото гостиной»).
  5. Уведомления: проникновение (с фото), пожар, гость (с фото).

Архитектура

Arduino UNO — управление реле (получает команды по Serial от ESP8266).
ESP8266 — WiFi, опрос ThingSpeak, отправка телеметрии, срабатывание датчиков (IR, DHT), вызов PushingBox.
ThingSpeak — 8 каналов: управление (0/1/2/3), статус света, статус вентилятора, влажность, температура, алерты (взлом, пожар, гость).
Backendless — визуальная логика навыка Alexa (intents, slots, HTTP-запросы к ThingSpeak/PushingBox).
LinkIt Smart 7688 + веб-камера — MJPG-стрим, снапшоты по HTTP, проброс порта для доступа PushingBox.

Настройка ThingSpeak (8 каналов)

КаналПолеЗначения
Device Controlfield10=lightON, 1=lightOFF, 2=fanON, 3=fanOFF
Light Statusfield10=off, 1=on
Fan Statusfield10=off, 1=on
Humidityfield1значение %
Temperaturefield1значение °C
Intruder Alertfield11=alert
Fire Alertfield11=alert
Guest Alertfield11=alert

API ключи (Write/Read) и Channel ID нужны для скетчей.

Скетчи (основные фрагменты)

ESP8266: опрос ThingSpeak, управление, алерты

// Обновление темп/влажности
client.print("GET /update?key=WRITE_KEY_HUM&field1=" + humidity + " HTTP/1.1\r\nHost: api.thingspeak.com\r\nConnection: close\r\n\r\n");
// Чтение команды управления
client.print("GET /channels/CH_ID_CONTROL/field/field1/last.html HTTP/1.1\r\nHost: api.thingspeak.com\r\nConnection: close\r\n\r\n");
// Парсинг ответа → отправка байта '0'..'3' на Serial в Arduino
// Алерты через PushingBox
client.print("GET /pushingbox?devid=DEVICE_ID_FIRE HTTP/1.1\r\nHost: api.pushingbox.com\r\nConnection: close\r\n\r\n");

Arduino UNO: исполнение команд

if (Serial.available()) {
  char cmd = Serial.read();
  if (cmd=='0' && lightOff) { digitalWrite(LIGHT, LOW); lightOff=false; }
  if (cmd=='1' && !lightOff) { digitalWrite(LIGHT, HIGH); lightOff=true; }
  if (cmd=='2' && fanOff) { digitalWrite(FAN, HIGH); fanOff=false; }
  if (cmd=='3' && !fanOff) { digitalWrite(FAN, LOW); fanOff=true; }
}

ESP8266 Smart Bell (взлом/гость)

IR-датчик на GPIO0 (взлом) и GPIO2 (звонок). Дебаунс 5 мин для гостя. При срабатывании — ThingSpeak alert + PushingBox (email с фото).

Настройка LinkIt Smart 7688 + веб-камера

  1. Сброс WiFi (кнопка 20 сек), подключение к AP LinkIt, вход в веб-интерфейс (192.168.100.1).
  2. Station mode → подключение к вашему WiFi.
  3. Включение MJPG Streamer (порт 4440).
  4. Камера в USB OTG. Снапшот: https://local_ip:4440?action=snapshot.
  5. Проброс порта на роутере → внешний IP:порт. URL снапшота в PushingBox.

Настройка PushingBox

  1. Сервис: Gmail (введите свой email).
  2. Сценарии: ALERT_INTRUDER, ALERT_FIRE, ALERT_GUEST — тема/тело письма + URL снапшота для вложения.
  3. API вызова: https://api.pushingbox.com/pushingbox?devid=DEVICE_ID.

Навык Alexa через Backendless (codeless)

  1. Создайте приложение, сервис AlexaService, метод handleRequest (POST, аргумент req — Any Object).
  2. Функция sendAlexaResponse(whatToSay, waitForResponse) — формирует JSON-ответ для Alexa.
  3. Функция getIntentName() — извлекает intent из запроса.
  4. В handleRequest: switch по intent:
    • LightsOn/LightsOff/FanOn/FanOff → HTTP GET к ThingSpeak (update канала управления).
    • Weather → чтение каналов темп/влажность → формирование фразы.
    • Camera → вызов PushingBox (сценарий со снапшотом).
    • Status → чтение каналов статусов.
    • Notification → чтение алерт-каналов, озвучивание, сброс в 0.
  5. Deploy Model.

Модель интентов (JSON для Amazon Developer Console)

{
  "languageModel": {
    "intents": [
      {"name":"AMAZON.CancelIntent","samples":[]},
      {"name":"AMAZON.HelpIntent","samples":[]},
      {"name":"AMAZON.StopIntent","samples":[]},
      {"name":"Camera","samples":["please send a snapshot of my living room", "please send a photo of my home"]},
      {"name":"FanOff","samples":["turn off Fan", "switch off the Fan"]},
      {"name":"FanOn","samples":["turn on Fan", "switch on the Fan"]},
      {"name":"Introduction","samples":["what can you do", "what can you do for me"]},
      {"name":"LightsOff","samples":["turn off lights", "switch off the lights"]},
      {"name":"LightsOn","samples":["turn on lights", "switch on the lights"]},
      {"name":"Notification","samples":["what are my notifications", "read out my notifications"]},
      {"name":"Status","samples":["what is my device status", "what is the status of my devices"]},
      {"name":"Weather","samples":["what is the temperature of my home", "what is the weather"]}
    ],
    "invocationName": "my home"
  }
}

В консоли Alexa: HTTPS endpoint → URL API Backendless, SSL — вторая опция. Тестируйте в симуляторе.

Финальная сборка

Схема: ESP8266 питание 3.3В (отдельный стабилизатор от 5В powerbank!). UNO и ESP общий GND, Serial крест-накрест (TX↔RX). Реле на I2C к UNO. DHT11 к ESP. IR-датчики к ESP. LinkIt с камерой в отдельной сети с проброшенным портом.

Активация навыка: «Алекса, открой my home».

Производственный процесс

  1. Как технологии умного дома трансформируют повседневную жизнь
  2. RFID-основанная домашняя безопасность: дешёвые беспроводные решения без батарей
  3. Система мониторинга качества воздуха Smart City на базе LoRa
  4. Многопозиционная система датчиков температуры для интеграции в умный дом
  5. Датчик CO2 K30: мониторинг качества воздуха в реальном времени на Arduino
  6. Умный 3D-сенсор: голосовое управление лампой через Amazon Echo и Walabot
  7. Умная система автополива растений на Arduino Nano
  8. Arduino Home Controller с Alexa: умный дом голосовым управлением
  9. Умная система мониторинга температуры для школ: точно, в реальном времени, безопасно
  10. Погодная станция на Arduino Nano: BMP280, DHT11, UV, DS3231, OLED 0.96″