[Приложение] Sound Direct Manager

Разработка дополнительных модулей, подключение различных приложений.

Модератор: immortal

Аватара пользователя
Bagir
Сообщения: 1615
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 212 раз
Поблагодарили: 375 раз

Re: Sound Direct Manager

Сообщение Bagir » Сб апр 11, 2015 12:15 pm

Еще по поводу клиентов. Есть интересный вариант. Прога, по указанию МД может стримить в wav файл. Остается только сделать возможным проигрывание wav файла в браузере клиента. Наподобие как сейчас можно кинуть страницу на нужны терминал. Тогда будет возможность отправлять звук не только на нужную колонку, но и на нужный терминал.
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
triada13
Сообщения: 242
Зарегистрирован: Вт мар 11, 2014 8:36 pm
Откуда: Челябинск
Благодарил (а): 107 раз
Поблагодарили: 7 раз

Re: Sound Direct Manager

Сообщение triada13 » Сб апр 11, 2015 1:19 pm

Bagir писал(а):Еще по поводу клиентов. Есть интересный вариант. Прога, по указанию МД может стримить в wav файл. Остается только сделать возможным проигрывание wav файла в браузере клиента. Наподобие как сейчас можно кинуть страницу на нужны терминал. Тогда будет возможность отправлять звук не только на нужную колонку, но и на нужный терминал.
Сереж, а зачем такой изврат? Не проще ли пойти по моему пути? Я понимаю если есть возможность прокинуть провода от звуковухи по квартире/дому, но есть люди у кого как и у меня нет такой возможности, так не проще ли пойти по моей тропинке?
код sayHook:
СпойлерПоказать

Код: Выделить всё

/* Хук на функцию say() */
$level=$params['level'];
$ph=$params['ph'];

$atr=''; // параметры
$ipdev_1='192.168.0.6:8096';
$ipdev_2='192.168.0.14:8096';

switch ($level) {
case -1: // ничего не делать. Сообщение будет написано только в чате
 return;
 break;
 
case 0: // общие не тревожные сообщения ночью переадресуются на указанный канал с пониженной громкостью 
 if (gg('NightMode.status')){ $atr='-volumemessage:30 ';}
 break;
  
case strlen($level)==1:
 // одна цифра это номер канала
 if($level==1){$ipdev=$ipdev_1;}
 if($level==2){$ipdev=$ipdev_2;}
 break;
 
/*
case 1:
 // одна цифра это номер канала
 $ipdev=$ipdev_1;
 break;

case 2:
 // одна цифра это номер канала
 $ipdev=$ipdev_2;
 break; 
*/
 
default:
 // ($level>=20) будет рассмотрен в модуле пуш сообщений. цифры 0-9 зарезервированы для групп
  
 // громкость на максимум для тревожных сообщений. цифры 0-9 могут быть использованы для включения крикуна на время в секундах
 if ($level>=30) { $atr='-volumemessage:100 '; }

 // отправка СМС сообщений можно сделать тут, пока нет отдельного модуля, следящего за уровнем $level
 // вторую цифру $level можно использовать для указания группы телефонных номеров
 if ($level>=40) { $atr.='-volumemaster:100 '; /* общую громкость тоже на максимум */ }
} 


// ******* Отправка задания принимающей программе *******

// *** Вариант передачи данных через командную строку
// Помните, что первый экземпляр sdm, который станет сервером приема сообщений, вы должны запустить сами!
//safe_exec(gg('SoundProgram').' '.$atr.$ph);

// *** Вариант передачи данных через TCP порт
// Ждать ответа от sdm не больше 1 секунды
$ctx = stream_context_create(array('http'=>array('timeout'=>1) ) ); 
// Отправка принимающей программе
$ans = trim(file_get_contents('http://'.$ipdev.'/'.$atr.urlencode($ph), 0, $ctx));
//echo($ans);
//echo($ipdev);
// Зарегистрировать ошибку, если ответ не получен
if ($ans!="ok") { registerError('sdm', 'No confirmation from the program'); } 
За это сообщение автора triada13 поблагодарил:
mirsum (Вс май 24, 2015 11:54 pm)
Рейтинг: 1.16%
Majordomo на Orange Pi Zero.
Аватара пользователя
Bagir
Сообщения: 1615
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 212 раз
Поблагодарили: 375 раз

Re: Sound Direct Manager

Сообщение Bagir » Вс апр 12, 2015 12:47 pm

Уже давно все собирался рассказать про этот вариант. sayHook позволяет отправить сообщения не обязательно в sdm. По заранее задуманному значению $level можно отправлять задачи куда угодно. Изначально я задумывал вариант с одним сервером и несколькими каналами его звуковой карты. А этот вариант показывает как можно раскидывать сообщения по разным компам, если в каждой комнате расположен свой мини ПК. Для получения ip адреса можно вообще обратиться к базе данных если у вас там зарегистрированы все терминалы. Более того, варианты можно легко комбинировать! Если позволяет расположение, то от одного такого мини ПК можно развести колонки в смежные комнаты. А sayHook будет знать что и куда отправлять. На какой ip и на какой канал. Я задумал 1-9 зон для мультирума. Ну как бы хватит в большинстве случаев. Конечно же можно легко внести свои изменения, если этого мало.
Проигрывание wav файла в браузере все же очень бы надо. Это решит задачу мультирума, если в комнате нет стационарной колонки оповещателя. Тот же будильник в терминале из мобильного телефона был бы очень клёвый. Да и если мы просто открываем страницу МД с мобильного устройства. Это позволит отправлять голосовые сообщения именно ему.
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
ингвар
Сообщения: 142
Зарегистрирован: Вт ноя 25, 2014 2:06 pm
Благодарил (а): 33 раза
Поблагодарили: 0

Re: Sound Direct Manager

Сообщение ингвар » Пт апр 17, 2015 5:59 pm

Ну как там пробы на другом компе?
Еще заметил такую штуку может поможет,когда запускаешь саму прогу( проверял на любом компе с W10 и W7 ) там есть примеры, так вот :D когда сразу нажимаешь "проверка звука" то говорит на передних (1 и 2) каналах, если потом прописать "-outputchannel:1 Проверка канала" то скажет на 1 канале,но если потом опять прописать "проверка звука" то оно почему то говорит на среднем канале системы,хотя он у меня на 5 канале, и если написать в скрипте say(timeNow()); или say(timeNow(),0); и даже say(timeNow(),5); то уже будет говорить на среднем канале до перезапуска проги, надеюсь объяснил понятно
Windows 10 + Raspberry Pi3 + ESP8266
Аватара пользователя
Bagir
Сообщения: 1615
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 212 раз
Поблагодарили: 375 раз

Re: Sound Direct Manager

Сообщение Bagir » Пт апр 17, 2015 6:24 pm

Тут такое дело получилось. Пришел я программу тестить, а там шашлык под водочку полным ходом. Говорят так случайно получилось. В общем до тестов мы не дотянули :D
А сейчас работа заела. до 20 числа можно сказать живу в офисе. Потом свобода, и сразу займусь прогой.
Собранные данные очень важны! И за них огромное спасибо. В свободную минутку я еще почитал про используемую библиотеку. Были похожие темы, так что значит дым не без огня.
Прогу эту я точно не брошу. Пользуюсь ей сам. Уже прокинул провода и настроил колонки в разных комнатах. Так что пока меритесь с трудностями. Допилим. Остается только найти подопытный комп с таким же поведением. После 20 числа второй поход к приятелю на тест :!:
И в добавок у меня в доступе появился еще один зверёнышь win7 64 с многоканальной картой. Буду пробовать и на нем тоже.
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
ингвар
Сообщения: 142
Зарегистрирован: Вт ноя 25, 2014 2:06 pm
Благодарил (а): 33 раза
Поблагодарили: 0

Re: Sound Direct Manager

Сообщение ингвар » Пт апр 17, 2015 6:57 pm

могу дать доступ по тайм виверу к моему компу если надо
и еще один момент у меня почему то говорит время после 20-00 до 23
Windows 10 + Raspberry Pi3 + ESP8266
Аватара пользователя
Bagir
Сообщения: 1615
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 212 раз
Поблагодарили: 375 раз

Re: Sound Direct Manager

Сообщение Bagir » Пт апр 17, 2015 7:05 pm

если на моих двух подопытных таких же симптомов не появится, то можно будет попробовать и с Тимой. Просто чтобы был толк, надо еще сам язык vb6 ставить. А готовый exe вы и сами легко проверите.
На счет времени и ночных сообщений. Всем этим рулит скрипт, который смотрит на свойство ночного режима. sdm просто получает задачи на каком канале проигрывать и с какой громкостью.
Надо проверить правильно ли устанавливается свойство ночного режима в МД. По задумке, сообщения с нулем или без указания канала, днем должны звучать во всех колонках. А ночью только в указанной с пониженной громкостью.
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
ингвар
Сообщения: 142
Зарегистрирован: Вт ноя 25, 2014 2:06 pm
Благодарил (а): 33 раза
Поблагодарили: 0

Re: Sound Direct Manager

Сообщение ингвар » Пт апр 17, 2015 7:49 pm

наверное Вы правы из-за того что сообщения с нулём и без не работают она и говорит днем и ночью :)
а что надо что б язык vb6 поставить это надо какую то прогу , какую, просто из языков я только php и html знаю и то по шпаргалкам :D
Windows 10 + Raspberry Pi3 + ESP8266
Аватара пользователя
Bagir
Сообщения: 1615
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 212 раз
Поблагодарили: 375 раз

Re: Sound Direct Manager

Сообщение Bagir » Пт апр 17, 2015 7:54 pm

Да, vb6 это такой же дистрибутив для установки как офис например. Просто ставится и все. Если уж не найду такой комп, то поставим.
Заберемся, со вторника я почти полностью свободен.
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
Cyoko
Сообщения: 91
Зарегистрирован: Ср июл 09, 2014 1:00 pm
Благодарил (а): 12 раз
Поблагодарили: 0

Re: Sound Direct Manager

Сообщение Cyoko » Сб апр 18, 2015 9:02 am

Bagir, если я хочу разговаривать с Алисой по смартфону, я в нужную тему попал ?
Просто я пока не очень понимаю как все работает :) Вот что хочется.....
Создать несколько пользователей, можно с разными уровнями доступа.... Для определения пользователя использовать привязанный внутренний ай пи или номер телефона, если это возможно. Далее создаем различные правила.... Например я говорю Алисе команду "Привет", она определяет какой пользователь ей сказал и какую команду, проверяет уровень доступа к этой команде.Если уровень доступа позволяет , то выполняет эту команду. В моем примере отвечает "привет <имя пользователя>"

В моем понимании необходимо добиться того чтоб звуковые команды воспринимались и записывались в некий текстовый вид. Вот для этого думаю и нужно использовать sound direct manager. Понимаю , что это все очень сложно... Но для начала , чтобы Алиса понимала речь нужно использовать sound direct manager или есть другие более предпочтительные варианты ?
Ответить