Простой умный дом своими руками

Приветствую! Несколько лет назад я увидел видео на Youtube по теме разработки умного дома, там было всё очень просто и с первого раза у меня получилось запустить, настроить и подключить к Arduino программу. Тогда я настроил «Зою» (так я её назвал) чтобы она по голосу включала свет и гирлянды, также настроил её реагировать на мат (да, иногда матерюсь). В итоге я получил простой и обучаемый умный дом с голосом Glados из компьютерной игры Portal.

Было весело, пока Зоя не начала общаться с холодильником и будить меня посреди ночи. На самом деле, холодильник был громким и иногда программа в шуме могла слышать какую-то команду и отвечать на неё, это был единственный минус. После я удалил программу, а Arduino использовал в других целях.

Немного предыстории: на Youtube канале «Temnaya faza», автор по шагам показал и рассказал о программе Freevoc, которую создал 14-летний парень из Беларуси. Сейчас ссылки где была размещена программа и инструкция к ней, нерабочие. Поэтому я сделал подробную инструкцию в этой статье и разместил ссылку на скачивание программы.

Сейчас я решил вернуться к «Зое» и мне пришлось собирать всё по частям, программу нашёл у кого-то в комментариях, а скетч для Arduino переписал из видео.

Возможности этой системы

  • Голосовое управление (можно голосом запускать программы на компьютере).
  • Голосовое управление питанием 220 В (можно включать и выключать любые приборы на 220 В).
  • Программа может отвечать на команды любым голосом (звуковые файлы можно загрузить или сгенерировать в самой программе).
  • Голосом можно вызывать CMD команды (можно голосом выключить компьютер).

Недостатки:

  • Иногда (нечасто) программа не реагирует на команды.
  • Возможно произвольное выполнение команд.
  • Не воспроизводится в программе звуковые файлы больше 100 кб.
  • После каждой перезагрузки компьютера или программы сбивается установленное имя (по умолчанию «Джарвис»).

Пошаговая инструкция по установке умного дома

Всё что нам понадобится:

  1. Программа Freevoc.
  2. Микроконтроллер Arduino (в моём случае Arduino Nano) и USB кабель.
  3. Модуль реле для ардуино.

Программа Freevoc

Важно! Антивирусы ругаются на программу, видят в ней вредоносный код. Не знаю, есть ли на самом деле в программе вирусы, поэтому принимайте решение на свой страх и риск.

Скачать FreeVoC Installer можно здесь.

После установки программы на компьютер, нужно зайти в её файлы и в папке «redist» установить 4 дополнения.


files

Инструкция по настройке

После нажатия на зелёный плюсик, откроется окно.

В поле «Команда» вводим свою команду (на которую будет реагировать программа), рядом ставите галочку если хотите чтобы команда учитывалась после произношения имени системы.
command

Ниже можно активировать отправляемую команду на Arduino.
arduino command

Дальше поле, в котором можно указать путь к звуковому файлу формата wav.
sound

В следующем поле указываем путь к программе которую нужно запустить.
prodramm

В последнем поле можно ввести данные для выполнения в командной строке, например, shutdown /s /t 10 (выключение компьютера через 10 секунд) или shutdown /a (Отмена завершения работы системы.).

Нажимая на красный крестик можно удалить ранее созданные команды.

delete command

Круглая стрелка предназначена для перезапуска программы.
restart program

Кнопка с микрофоном предназначена для генерации голоса из текста. После клика на неё нужно написать текст (который нужно озвучить), потом написать имя файла. Все звуковые файлы сохраняются в папке data внутри программы.

Поле для смены имени, после изменения нужно нажать на кнопку «Изменить имя бота», ниже есть переключатель для настройки автозагрузки.

В правой части окна есть блок настройки Ардуино, в нём указываем COM порт, к которому подключён микроконтроллер. Ниже указываем скорость (Speed) который будет прописан в скетче.
arduino

Ниже будет выводиться список всех ранее созданных команд.

Скетч

Код очень простой. В примере показано три команды, чтобы вы понимали, как добавлять ещё команды в arduino.

int val;
int val2;
int val3;
int val4;

void setup() {
  pinMode (13, OUTPUT);
  pinMode (12, OUTPUT);
  pinMode (11, OUTPUT);
  pinMode (10, OUTPUT);
  Serial.begin (9600);
bool val2 = true;
bool val3 = false;
bool val4 = false;
}
void loop() {
  val = Serial.read();
  if (val == 'Q') {
    val2 = !val2;
    digitalWrite (12, val2);
  }
  if (val == 'W') {
    val3 = !val3;
    digitalWrite (11, val3);
  }
  if (val == 'E') {
    val4 = !val4;
    digitalWrite (10, val4);
  }
}

Видео, как работает система

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

Понравилась статья? Поделиться с друзьями:
Комментарии : 6
  1. Vladimir

    Класс, очень подробно и доходчиво объяснено

  2. Алексей

    Это круто конечно, но я ещё не готов к этому. Надо будет по больше узнать это направление.

  3. Татьяна Д.

    Никогда не думала, что это возможно сделать самостоятельно, теперь буду интересоваться. Спасибо.

  4. Татьяна Х.

    Вы так обьяснили, что я тоже захотела умную программу :idea:

  5. Татьяна

    Очень интересно! Так вы создадите конкурента Алисе ;-) Остается только пожелать вам успеха!

    1. Владислав Столец (Автор)

      Спасибо) Эта система далека от Алисы

Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

Вставить формулу как
Блок
Строка
Дополнительные настройки
Цвет формулы
Цвет текста
#333333
Используйте LaTeX для набора формулы
Предпросмотр
\({}\)
Формула не набрана
Вставить