По аналогии с «Умным домом» предлагаю некоторые решения для небольших фирм, учебных и спортивных заведений, торговых центров на базе ALT Linux сервера, который назвал для себя «Умный сервер».
Решение первое:
Звуковой сервер
Сервер ALT Linux объявляет об открытии и закрытии. Воспроизводит по расписанию звуковые ролики. В остальное время транслирует интернет радиостанции. Сделано по принципу "Включил и забыл"
Бюджетный вариант. Собрано на базе старенького системного блока. Протестировано и работает уже не один год в конкретных Торговых центрах. Вначале в режиме командной строки, теперь с веб интерфейсом. Предлагается в виде лабораторной работы, на основании которой можно установить и настроить звуковой сервер самостоятельно.
Лабораторная работа № 1
Опробовать можно на базе Virtualbox. А так берем обыкновенный системный блок со звукой картой. Устанавливаем ALT Linux 7.0 Server.
Шаг № 1
Ставим:
[root@server ~]#apt-get install mpg123 mpg321 vlc;apt-get install alsa-utils alsamixer-qt4 amixer
[root@server ~]#apt-get install gnome-mplayer tzdata
Для нас важно правильное время.
[root@server ~]#apt-get install ntp-server
[root@server ~]#service ntpd stop;ntpdate ntp0.zenon.net;service ntpd start;
[root@server ~]#date
[root@server ~]#service ntpd stop;ntpdate -q ntp0.zenon.net;service ntpd start;
[root@server ~]#date
Шаг № 2
Подгружаем звуковой файл. Назовем его reklama.mp3. Воспроизводим
[vova@zvyk ~]$ mpg123 reklama.mp3
либо
[vova@zvyk ~]$ mpg123 /home/vova/reklama.mp3
изменяем громкость, пробуя менять уровень перед воспроизведением
[vova@zvyk ~]$amixer set Master unmute 35
или
[vova@zvyk ~]$amixer set Master unmute 15
Запускаем радиостанцию
[vova@zvyk ~]$mplayer -nocache -softvol http://listen4.vdfm.ru:8000/dacha -af extrastereo=0,volume=15
Меняем параметр volume=15 для разных уровней громкости. Проверяем.
Шаг № 3
Скрипты для запуска звуковых файлов, интернет радиостанций. Включение и выключение вещания, восстановления после обрыва связи.
Создаем каталог
[vova@zvyk ~]$mkdir zvyk
Создаем первый скрипт
[vova@zvyk ~]$mcedit /home/vova/zvyk/reklama
#!/bin/bash
amixer set Master unmute 35
mpg123 /home/vova/reklama.mp3
делаем исполняемым
[vova@zvyk ~]$chmod uga+x /home/vova/zvyk/reklama
Проверяем работу
[vova@zvyk ~]$/home/vova/zvyk/reklama
Тоже самое для радиостанции
[vova@zvyk ~]$mcedit /home/vova/zvyk/radio
#!/bin/bash
amixer set Master unmute 35
mplayer -nocache -softvol http://listen4.vdfm.ru:8000/dacha -af extrastereo=0,volume=15
делаем исполняемым
[vova@zvyk ~]$chmod uga+x /home/vova/zvyk/radio
Проверяем работу
[vova@zvyk ~]$/home/vova/zvyk/radio
Шаг № 4
Радиостанция может отвалится. В зале наступит тишина. Поэтому пишим скрипт, который будет периодически проверять и восстанавливать вещание.
[vova@zvyk ~]$mcedit /home/vova/zvyk/testing
#!/bin/bash
if
ps -ax | grep mplayer | grep nocache >> /dev/null
then
echo "радио работает"
else
killall mplayer
/home/vova/zvyk/radio
echo "выполнен перезапуск"
fi
делаем исполняемым
[vova@zvyk ~]$chmod uga+x /home/vova/zvyk/testing
Проверяем работу
[vova@zvyk ~]$/home/vova/zvyk/testing
Раз мы включаем звук, надо будет и выключать. Пишим скрипт для остановки всего.
[vova@zvyk ~]$mcedit /home/vova/zvyk/stop
#!/bin/bash
amixer set Master unmute 20;sleep 1
amixer set Master unmute 15;sleep 1
amixer set Master unmute 10;sleep 1
amixer set Master unmute 5;sleep 1
killall mplayer
sleep 1
killall mpg123
делаем исполняемым
[vova@zvyk ~]$chmod uga+x /home/vova/zvyk/stop
Проверяем работу
[vova@zvyk ~]$/home/vova/zvyk/stop
Шаг № 5
Запускаем скрипты по расписанию.
[vova@zvyk ~]$ crontab -e
нажимаем символ «a» , входим в режим редактирования
0 9 * * * mpg123 /home/vova/zvyk/reklama
0 20 * * * mpg123 /home/vova/zvyk/reklama
*/2 9-18 * * * /home/vova/zvyk/testing
2 9 * * * /home/vova/zvyk/radio
50 19 * * 1-6 /home/vova/zvyk/stop
Нажимаем Esc, затем символ дветочее, симол x, восклицательный знак. Подробнее ман по редактору vi и crontab.
Возможно позже опубликую продолжение для управления звуковым сервером через веб-интерфейс, где любой неподготовленный пользователь может сам вставлять и заменять звуковые ролики. Для этого поднимаю apache и написал примитивный сайтик. Но не берусь пока выставлять в качестве образца. Если будет интерес к теме, готов скинуть свой рабочий вариант, для доработки и публикации на форуме.