Выпуск №1. Моя конфигурация MajorDoMo!


Моя конфигурация MajorDoMo!

Этим выпуском я хочу, во-первых, выразить огромную благодарность и низкий поклон сообществу MajorDoMo, а в особенности разработчикам модулей и конечно же Сергею Джейгало – разработчику самой системы. За открытый код, за огромную базу знаний, за возможность повысить качество жизни ОГРОМНОЕ ЧЕЛОВЕЧЕСКОЕ СПАСИБО !!!

Во вторых, для тех, кто сомневается ставить или не ставить на raspberry pi, хочу описать как это работает на моей малинке и с какими проблемами я столкнулся, что пришлось дописывать.

В третьих, в текущем  выпуске моя старая реализация голосового управления системой. В 2020 году я приобрел яндекс станцию и маршрутизатор Keenetic, и на данный момент умный дом управляется через голосовой помощник Яндекс Алиса.

Ссылка на сайт majordomo.

Кто не знаком с системой по этой ссылке демонстрационное видео работы системы.

Что у меня особенного в конфигурации:

  1. Система включает колонки и запускает плейлист соответственно команде. Например я говорю: Анжелика (система запускает скрипт распознования речи гуглом), музыка. Если колонки не были включены, включаются и играет музыка с папки «Музыка». У меня в расшаренной папке на raspberry вся музыка сгруппирована по таким папкам как «Детская», «Этника», «Релакс», «Мантры» и пр.

Реализовано это следующим образом: После того, как устройство распознавания ключевого слова (Анжелика) распознало и передало высокий сигнал на 2 пин Wemos D1 wi fi модуля, этот модуль, который является мини сервером, отправляет запрос на малинку http://192.168.0.101:80/objects/?script=commandRPI, по которому вызывается сценарий запускающий bash скрипт на распберри:

exec('sudo /home/pi/script/stt.sh');

Далее отрабатывается скрипт распознавания гуглом команды:

#!/bin/bash
export AUDIODEV="hw:0"
echo "speaking ..."
arecord -B --buffer-time=1000000 -f S16_LE -r 16000 -d 5 -D plughw:1,0 /home/pi/script/send.wav

echo "waw-flac"
flac -f  /home/pi/script/send.wav -o /home/pi/script/send.flac

echo "Converting..."
curl -X POST --data-binary @/home/pi/script/send.flac --header 'Content-Type: audio/x-flac; rate=16000;' 'https://www.google.com/speech-api/v2/recognize?output=json&lang=ru-ru&key=ВставьтеСвойКлючGoogleAPISpeech' |  cut -d\" -f8 > stt 
value=`cat stt`
arr=("$value")
echo ${arr[@]} | cut -d ' ' --output-delimiter=' ' -f 1- > stt2
echo 'http://192.168.0.101/command.php?qry='> stt1
echo "`cat stt1``cat stt2`" > stt4
value2=`cat stt4`

curl ${value2// /%20}

В этом скрипте распознанная гуглом команда добавляется к запросу '://192.168.0.101/command.php?qry=' и запускается шаблон соответствующий, сказанному слову. Более подробно о голосовом управлении написано в  статье по этой ссылке.

Примеры моих шаблонов:

2. Как у меня на распберри запускаются плейлисты. К примеру я сказал лирика и отрабатывает код шаблона «лирика»:

if (getGlobal('Colonki'.'.'.'status')=='0') {
  callMethod('Colonki.turnon');
}
say("включаю лирику");
file("http://:12345@192.168.0.101:8080/requests/status.xml?command=pl_empty");
file("http://:12345@192.168.0.101:8080/requests/status.xml?command=in_play&input=/share/lyrica/");

 

3. Другой пример – говорю «Перемотай вперед», запускается шаблон, который реагирует на следующие распознанные гуглом фразы (период/перемотай вперед/вперед/следующая) и отрабатывает код:

exec('sudo /home/pi/script/vlcnext.sh');

Как видим запускается bash- скрипт vlcnext.sh':

#bin bush
curl -u :vlcremote http://192.168.0.101:8080/requests/status.xml?command=pl_next

4. Зарядник для планшета (монитор умного дома) включается через реле, которое как и реле колонок подключено к gpio интерфейсу распберри. Команду на включение/выключение зарядника дает планшет с запущенным на нем приложением«Tasker», в котором по событию «Процент заряда аккумулятора» меньше/больше … шлет запрос http://192.168.0.101:80/objects/?script=batOn ( или http://192.168.0.101/objects/?script=batOff) малинке, вызывающий сценарий:

exec('sudo /home/pi/script/relay01-01-up.sh');
say("Батарея разряжена!",2);

Код -скрипта «relay01-01-up.sh» включающий реле:

echo 18 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio18/direction
echo 0 > /sys/class/gpio/gpio18/value

 

5. И еще, иногда, я включаю музыку и управляю плейлистами, громкостью и пр. через смарт-часы Pebble, но об этом подробнее в другой статье

Наверх


Добавить комментарий (через VK):

Добавить комментарий к статье могут только зарегистрированные пользователи:

22.04.2020г. в 22:37 rashid_s комментировал(а):
Подскажите, в голосовое управление у Вас через компьютер или смартфон?

admin

24.04.2020г. (11:27:54)

Голосовое управление через микрокомпьютер распберри. https://askdzen.ru/web/31.html по этой ссылке описание реализации голосового управления.

Ответить

rashid_s

22.04.2020г. (22:37:08)

Подскажите, в голосовое управление у Вас через компьютер или смартфон?

Ответить

Наверх