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

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

На текущий момент на версиях openwrt 18.06 данная прошивка не работает (используйте модификацию light или standard).

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

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

История изменений »

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

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

  • Добавлена поддержка русских шрифтов в плейлист.
  • Добавлена кнопка добавления станций из базы сайта в два клика (более 700 станций).
  • Уменьшено время переключения между станциями.

V60.Full (17.03.2019)

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

V58.Full (17.03.2019)

  • Мелкие исправления.

V57.Full (15.03.2019) Важное!

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

V56.Full (12.03.2019) Важное!

  • Изменен сервер данных для стабильности.
  • Некоторая оптимизация.

V55.Full (11.03.2019)

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

V54.Full (27.02.2019) Важное!

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

V53.Full (25.02.2019) Важное!

  • Исправлена критическая ошибка. Обновляться через кнопку «Восстановление прошивки».

V52.Full (19.02.2019) Важное!

  • Оптимизирована структура работы с конфигурационным файлом.

V51.Full (13.02.2019)

  • Для AAC станций удалена загрузка обложек в веб интерфейсе, для совместимости всех трансляторов.
  • Небольшие правки в кодировке названия трека.
  • Исправлена функция подсчета трафика.

V50.Full (25.01.2019)

  • Улучшение стабильности.
  • Мелкие исправления.

V47.Full (09.01.2019)

  • Изменения для работы с новой версией управления для android.

V46.Full (08.01.2019)

  • Некоторые мелкие улучшения.

V45.Full (06.11.2018)

  • Оптимизация отображения логотипов станций.

V42.Full (03.11.2018)

  • Исправлен формат скачивания пользовательского плейлиста для последующей загрузки.

V41.Full (02.11.2018)

  • Обновление для новой версии пульта под Android.

V40.Full (01.11.2018) Важное!

  • Изменён принцип обновления прошивки.
  • Добавлены логотипы станций.
  • На данную версию лучше перейти через кнопку «Восстановление прошивки»

V37.Full (31.10.2018)

  • Мелкие исправления.

V36.Full (29.10.2018)

  • В веб интерфейс добавлена информация о трафике и времени работы.
  • Исправлена индикация % сигнала wifi соединения.
  • Добавлена функция создания wifi точки доступа, для настройки без компьютера. (При нажатии 15 сек. на кнопку WPS создается точка доступа WifiRadio с паролем 12345678, подключившись к ней, можно зайти в веб интерфейс по http://ip адрес/play/, который вы присвоили проводной сети.) *

При условии полной установки прошивки, либо замены файла /etc/config/system

V35.Full (24.10.2018)

  • Изменения в настройке wifi: теперь сеть можно выбрать из выпадающего списка.

V34.Full (23.10.2018)

  • Небольшие изменения в веб интерфейсе
  • Функция «Восстановление прошивки» теперь не затрагивает пользовательские настройки.

V33.Full (21.10.2018)

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

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

  1. роутер прошитый на openwrt с веб интерфейсом LuCI
  2. имеющий usb порт
  3. имеющий ~4 мегабайта свободной flash памяти для установки всех компонентов (можно расширить память при помощи внешней флешки)
  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):

Если позволяет память, вместо mpd-mini нужно установить mpd-full, тогда появится поддержка AAC потоков. Инструкция по расширению памяти при помощи usb флешки по этой ссылке »

opkg update
opkg install curl mpd-mini mpc kmod-usb-core kmod-usb-audio kmod-sound-core alsa-utils kmod-usb-hid triggerhappy vsftpd
wget -U "Mozilla/5.0" -O "/fw.tar.gz" "http://fw.wifiradio.su/download/wifiradio.su_full.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/

Через web интерфейс можно управлять следующими функциями:

  • Переключать станции
  • Управлять громкостью
  • Управлять избранным (для переключения usb клавиатурой или андроид приложением)
  • Загружать плейлисты
  • Добавлять и удалять станции
  • Управлять подпиской на плейлист
  • Управлять озвучкой станций
  • Настраивать звуковое устройство
  • Настраивать WiFi подключение
  • Обновлять прошивку через OTA

Управление аппаратной кнопкой WPS на роутере: (нажатие 0-1 сек.) переключение станций по кругу, долгое нажатие на кнопку (4-10 сек.) возвращает на первую станцию в списке.

Имеется возможность управлять станцией через приложение для андроид.

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

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

Если возникнут вопросы, с радостью отвечу на них.

34 комментария

  1. K0HCТАHTИH KyзьMин

    Здравствуйте. Очень заинтересовала идея сделать из роутера радио! Экспериментирую на Xiaomi MIR3G. Хочется иногда выключать (пауза или стоп). Когда можно ожидать рабочую версию full под openwrt 18.06…?

  2. oka676

    Добрый вечер. Подскажите, как правильно добавлять свою станцию? Нашел адрес потока https://online.krasnoyarskfm.ru/krasnoyarskfm_mp3. В браузере работает, в VLC работает. А при добавлении в web-морду показывает, что играет добавленная станция, а на самом деле играет следующая за ней станция.

  3. Александр Гапонов

    Здравствуйте. Можно поинтересоваться? После обновления прошивки (WifiRadio.SU v56.Full)
    Где должно отображаться определение звукового устройства? У меня ничего не отображается,
    как было на v.55 так и на этой, ничего нигде не найду. Использую роутер TL-WR842ND v.1.1
    а звуковое устройство USB звуковая карта с проводком, на нем ещё фильтр от помех.
    А в общем, всё работает превосходно. Спасибо!

    • Админ Автор

      Устройство определяется при старте роутера. Название сразу вносится в поле звукового устройства в конфиге и показывается в веб интерфейсе. У вас как ранее устройство называлось? Громкость регулируется?

  4. ZAZ-965

    День добрый, Админ.
    Чтобы заработало воспроизведение на OpenWrt17 (mpd-mini, mpd-full) и OpenWrt18 (mpd-full) в файле /etc/wifiradio/play.sh в предпоследней строке у playlist.m3u удалите расширение. В OpenWrt18 в пакете mpd-mini что-то сломали – пересобрал этот пакет с libmad вместо libmpg123 – MP3 HTTP потоки играет. Здесь https://megavolt-i.ru/threads/internet-radio-proekta-wifiradio.103/ немного «попрепарировал» ваш проект.
    И пару вопросов : зачем vsftpd (не нашел его упоминания в устанавливаемых скриптах), проект распространяется в zip файле – может попробовать перейти на tar.gz (встроенный, поддержка файловых атрибутов, а unzip лишних ~100 кБ). А в перспективе — родной ipk формат 🙂

  5. Дмитрий sdd-0

    Подскажите пожалуйста, как можно добавить озвучку названий радиостанций для радиостанций из своего плейлиста.
    И при добавлении станций через «Добавить из базы данных» при нажатии на кнопку добавить, станция не добавляется потому что в начале ссылки нет адреса роутера. Если в открывшемся окне адрес дописать руками, тогда станция добавляется. Это так и должно быть или я не так что-то сделал?
    Спасибо.

    • Админ Автор

      1. Озвучку своих станций пока добавить нельзя.
      2. При нажатии кнопки из базы данных должен передаваться Ваш ip для правильной работы. Какое используете устройство и версию openwrt?

        • Админ Автор

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

          В полях настройки Wifi поля заполнены в веб интерфейсе?

          • Дмитрий sdd-0

            После заполнения полей настройки Wifi, все нормально.
            Все остальное работает. Спасибо.
            А планируется сделать возможность озвучки своих станций?

          • Админ Автор

            К сожалению бесплатных сервисов Text-to-Speech пока нет, а за платные платить нечем 🙂 Но возможно решение найдется со временем.

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