Прошивка для прослушивания интернет радио на роутере. (WifiRadio.SU v86.Light)

Прошивка WifiRadio.SU Light с веб интерфейсом, для прослушивания интернет радио на роутерах с прошивкой Openwrt.

*Если погода постоянно недоступна, или нет отображения названия проигрываемых треков, возможно установлена неполноценная версия компонента wget. При таком раскладе, если необходимы эти функции и позволяет память, ставьте версию Standard.

Возможности:

  1. Поддерживаемые потоки: MP3
  2. Индикация проигрываемого трека: есть
  3. Функция Play/Stop: есть
  4. Веб интерфейс: настройки wifi, управление подписками, добавление своих станций, загрузка своих плейлистов, управление громкостью, управление переключением станций, управление избранным, управление озвучкой, управление звуковым устройством, обновление прошивки.
  5. Время переключения между станциями: ~4 сек.
  6. Поддержка приложения управлением с Android: есть
  7. При нажатии 15 сек. на кнопку WPS создается точка доступа WifiRadio с паролем 12345678, подключившись к ней, можно зайти в веб интерфейс по http://ip адрес/play/, который вы присвоили проводной сети.
История изменений

После обновления прошивки, в веб интерфейсе обязательно нужно обновить страницу клавишами CTRL+F5.

V86.Light (09.10.2019) Важное!

  • Важные изменения в работе сервера, на прошивках ранних версий полная работоспособность не гарантируется.

V85.Light (30.09.2019)

  • Добавлена возможность обновления списка профилей с сервера для дистанционного управления с USB устройств (При обновлении, файл конфигурации изменяется!).
  • Добавлен профиль управления переключением станций USB мышью.
  • Исправлена неверная работа кнопки Mute/Unmute на странице виртуального пульта управления.

V84.Light (06.08.2019)

  • Добавлена возможность выбора голоса озвучки (муж/жен).
  • Обязательно нужно выбрать голос озвучки в веб интерфейсе, и сохранить параметры после прошивки!

V80.Light (12.05.2019)

  • Добавлено оповещение при начале и завершении обновления прошивки.

V78.Light (23.04.2019) Важное!

  • Фикс громкости на служебных сообщениях и озвучке станций (при условии установленной громкости не более 90%).
  • Оптимизация веб интерфейса.
  • Добавлена возможность своего голосового приветствия при запуске.

V76.Light (22.04.2019)

  • Небольшой фикс скрипта обновления прошивки.
  • Некоторые изменения в веб интерфейсе.

V71.Light (14.04.2019) Важное!

  • Небольшой фикс скрипта обновления прошивки.
  • Добавлено новое звуковое устройство в автоопределение.

V69.Light (09.04.2019) Важное!

  • Исправлена ошибка, создающая ненужные файлы при запросах погоды и времени.

V68.Light (07.04.2019) Важное!

  • Исправлено произношение времени.

V67.Light (05.04.2019) Важное!

  • Добавлена возможность произношения погоды при старте. Включается в веб интерфейсе.

V66.Light (04.04.2019) Важное!

  • Добавлена возможность произношения времени при старте. Включается в веб интерфейсе. Необходимо настроить часовой пояс в файле /etc/config/system, либо через веб интерфейс LUCI.
  • Мелкие исправления.

V64.Light (03.04.2019) Важное!

  • Теперь любые названия станций произносятся голосом. Внимание! Не используйте спецсимволы в названиях станций, для правильной работы озвучки ( ? \ / и т.п. ).

V62.Light (26.03.2019) Важное!

  • Добавлена возможность добавлять станции из базы данных в один клик (более 1300 станций).

V61.Light (19.03.2019) Важное!

  • Добавлена поддержка русских шрифтов в плейлист.

V60.Light (17.03.2019)

  • Ползунок громкости в веб интерфейсе и пульте для андроид (необходимо обновить приложение) теперь показывает текущую громкость при загрузке.
  • Исправлена ошибка вывода некоторых id3 тегов в приложении для андроид.

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

Для установки нам понадобится:

  1. роутер прошитый на openwrt с веб интерфейсом LuCI
  2. имеющий usb порт
  3. имеющий ~2 мегабайта свободной flash памяти для установки всех компонентов (хотя для этого пункта можно использовать внешнюю usb флешку)
  4. также необходим usb звуковой адаптер или usb наушники

Для начала опишу настройку wifi в режиме клиента. После настройки радио будет видеться в Вашей основной сети и иметь доступ к интернет по wifi.

Рекомендуемые настройки сети
Редактируем следующие файлы:

/etc/config/wireless (добавляем в Ваш файл)

config wifi-iface
	option network 'wwan'
	option ssid '*********' #имя Вашей точки доступа WiFi
	option encryption 'psk2' #тип шифрования Вашей точки доступа
	option device 'radio0'
	option mode 'sta'
	option key '********' #пароль Вашей точки доступа

/etc/config/network (полностью заменяем Ваш файл, но параметр option ifname ‘eth0’ меняем на свой)

config interface 'loopback'
option ifname 'lo'
option proto 'static'
option ipaddr '127.0.0.1'
option netmask '255.0.0.0'

config interface 'lan'
option ifname 'eth0'
option type 'bridge'
option proto 'static'
option netmask '255.255.255.0'
option dns '8.8.8.8' 
option ipaddr '192.168.2.1' #ip адрес для Вашего роутера openwrt по кабелю (можно не менять)
option gateway '192.168.1.254' #ip адрес Вашего роутера openwrt в домашней подсети

config interface 'wwan'
option proto 'static'
option netmask '255.255.255.0'
option gateway '192.168.1.1' #ip адрес Вашего роутера или модема с интернетом
option dns '8.8.8.8'
option ipaddr '192.168.1.254' #ip адрес Вашего роутера openwrt в домашней подсети

/etc/config/firewall (полностью заменяем Ваш файл)

config defaults
option syn_flood '1'
option input 'ACCEPT'
option output 'ACCEPT'
option forward 'ACCEPT'

config zone
option name 'lan'
option input 'ACCEPT'
option output 'ACCEPT'
option forward 'ACCEPT'
option network ' '

config zone
option name 'wan'
option network 'wan'
option input 'ACCEPT'
option output 'ACCEPT'
option forward 'ACCEPT'
option masq '1'
option mtu_fix '1'

config forwarding
option src 'lan'
option dest 'wan'

config forwarding
option src 'wan'
option dest 'lan'

config rule
option name 'Allow-DHCP-Renew'
option src 'wan'
option proto 'udp'
option dest_port '68'
option target 'ACCEPT'
option family 'ipv4'

config rule
option name 'Allow-Ping'
option src 'wan'
option proto 'icmp'
option icmp_type 'echo-request'
option family 'ipv4'
option target 'ACCEPT'

config rule
option name 'Allow-DHCPv6'
option src 'wan'
option proto 'udp'
option src_ip 'fe80::/10'
option src_port '547'
option dest_ip 'fe80::/10'
option dest_port '546'
option family 'ipv6'
option target 'ACCEPT'

config rule
option name 'Allow-ICMPv6-Input'
option src 'wan'
option proto 'icmp'
list icmp_type 'echo-request'
list icmp_type 'echo-reply'
list icmp_type 'destination-unreachable'
list icmp_type 'packet-too-big'
list icmp_type 'time-exceeded'
list icmp_type 'bad-header'
list icmp_type 'unknown-header-type'
list icmp_type 'router-solicitation'
list icmp_type 'neighbour-solicitation'
list icmp_type 'router-advertisement'
list icmp_type 'neighbour-advertisement'
option limit '1000/sec'
option family 'ipv6'
option target 'ACCEPT'

config rule
option name 'Allow-ICMPv6-Forward'
option src 'wan'
option dest '*'
option proto 'icmp'
list icmp_type 'echo-request'
list icmp_type 'echo-reply'
list icmp_type 'destination-unreachable'
list icmp_type 'packet-too-big'
list icmp_type 'time-exceeded'
list icmp_type 'bad-header'
list icmp_type 'unknown-header-type'
option limit '1000/sec'
option family 'ipv6'
option target 'ACCEPT'

config include
option path '/etc/firewall.user'

После редактирования этих файлов нужно перезагрузить роутер.

Далее устанавливаем саму прошивку.

Автоматический вариант установки через telnet или ssh (putty, xshell):

opkg update
opkg install kmod-usb-core kmod-usb-audio kmod-sound-core alsa-utils kmod-usb-hid triggerhappy madplay
wget -U "Mozilla/5.0" -O "/fw.tar.gz" "http://fw.wifiradio.su/download/wifiradio.su_light.tar.gz"
tar -xvzf "/fw.tar.gz" -C "/"
chmod -R 755 /www/cgi-bin/
chmod -R 755 /etc/wifiradio/
rm -r -f "/fw.tar.gz"
reboot

После перезагрузки заиграет радио.

Чтобы попасть в web интерфейс с настройками, необходимо в браузере открыть:

http://ip_адрес_роутера/play/

Управление аппаратной кнопкой WPS на роутере: (нажатие 0-1 сек.) следующая станция, (нажатие 2-4 сек.) предыдущая станция, нажатие на кнопку (5-9 сек.) возвращает на первую станцию в списке.

*При использовании usb клавиатуры возможны несовпадения кодов событий, поэтому нужно будет подправить файл example.conf в папке triggerhappy/triggers.d

*Также возможно придется изменить название звукового устройства для управления громкостью. Сделать это можно через веб интерфейс.

14 комментариев

  1. Alex Dudenkov

    Здравствуйте. Хорошая работа. Поставил на 842 v3. Собрал прошивку с нужными пакетами в Build. Запустилось сразу. Может быть подскажите с настройками для bluetooth или добавите в интерфейс выбор?
    Спасибо.

    • Админ Автор

      К сожалению не имею в наличии блютус устройств для разработки. Как вариант можете использовать usb bluetooth звуковой адаптер. Он определяется как обычная звуковая плата. На алиэкспрессе видел такие.

  2. Alex Dudenkov

    Друзья, прошивка tl-wr842n-v3:

    https://github.com/IoT6/owrt_audio

    В прошивке IceCast и Ices, bluetooth : alsa-utils madplay-alsa madplay-alsa mpg123 moc mpc ices icecast umurmur-openssl restund kmod-sound-core kmod-usb-audio kmod-usb-uhci kmod-usb-ohci kmod-usb-audio kmod-sound-core usbutils libsndfile alsa-utils libsndfile alsa-utils sox mpd curl kmod-usb-core kmod-usb-audio kmod-sound-core alsa-utils kmod-usb-hid triggerhappy vsftpd unzip kmod-6lowpan kmod-bluetooth kmod-bluetooth_6lowpan kmod-usb-core kmod-usb-ohci kmod-usb2 bluez-libs bluez-utils. Убрал поддержку PPPoE и IPv6.

  3. M P

    может кому пригодится . замените в файле stop.sh
    killall wget
    killall madplay

    на

    kill -9 $(ps | grep «play» | grep -v grep | awk ‘{ print $1 }’)
    kill -9 $(ps | grep «wget» | grep -v grep | awk ‘{ print $1 }’)

    и будет работать стоп нормально.

  4. Юрий Пономарёв

    Привет, безграничное спасибо вам за труд! У меня давно уже имеется потребность управлять радио с ИК пульта. Дома стоит ресивер Pioneer, к нему подключен телевизор, компьютер, Bluetooth приёмник и роутер с радио. Все основные устройства управляются с родного пульта ресивера, очень бы хотелось иметь возможность так же управлять и радио, на пульте как раз имеются не задействованные кнопки. Проблема в том, что из openwrt убрали пакет lirc и всё с ним связанное, не могли бы вы написать инструкцию для чайников каким образом из исходников собрать нужные пакеты ?

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