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

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

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

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

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

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

V51.Standard (14.02.2019)

  • Добавлена поддержка ID3 тегов из потока (там где передается вещателем).

V50.Standard (25.01.2019)

  • Включено принудительное воспроизведение стерео и нормализация звука.
  • Изменения в функциональности кнопок play и stop.

V47.Standard (09.01.2019)

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

V46.Standard (08.01.2019)

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

V45.Standard (06.11.2018)

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

V42.Standard (03.11.2018)

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

V41.Standard (02.11.2018)

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

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

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

V37.Standard (31.10.2018)

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

V36.Standard (29.10.2018)

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

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

V35.Standard (24.10.2018)

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

V34.Standard (22.10.2018)

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

V33.Standard (21.10.2018)

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

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

  1. роутер прошитый на openwrt с веб интерфейсом LuCI
  2. имеющий usb порт
  3. имеющий ~2.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):

opkg update
opkg install curl kmod-usb-core kmod-usb-audio kmod-sound-core alsa-utils kmod-usb-hid triggerhappy vsftpd unzip madplay
wget -U "Mozilla/5.0" -O "/fw.zip" "http://wifiradio.su/download/wifiradio.su_standard.zip"
unzip -o "/fw.zip" -d "/"
chmod -R 755 /www/cgi-bin/
chmod -R 755 /etc/wifiradio/
rm -r -f "/fw.zip"
reboot

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

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

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

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

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

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

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

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

  1. Реван Лаэда

    Или лыжи не едут или я где-то не там стою. Нет доступа к роутеру после настройки WiFi. Радио играет, пульт управления цепляется к статическому IP, но доступа ни к /play, ни к самому роутеру нет. А вот по кабелю все ок. Что я не так делаю?

  2. Алексей Фоменков

    поставил себе классная штука роутер nexx wt 3020 F Open wrt openwrt-18.06.1-ramips-mt7620-wt3020-8M-squashfs-sysupgrade хватило места на руссификацию интерфейса и 1,49 мБ осталось , ставил через PuTTY без проблем и заморочек приложение на андроиде не хочет работать станцию показывает но кнопки не влияют ни на что . Звуковуха китайская без кнопок при работе мерцает красным. Что не так с приложением? непонятно. Спасибо за софтину просто и удобно.

  3. Алексей Фоменков

    пробую ставить на orange PI zero не хочет ставлю вручную выдает ошибки на mdp-full

    Installing mpd-full (0.18.23-1) to root…
    Downloading http://downloads.openwrt.org/chaos_calmer/15.05.1/sunxi/generic/packages/packages/mpd-full_0.18.23-1_sunxi.ipk.
    Multiple packages (kmod-input-core and kmod-input-core) providing same name marked HOLD or PREFER. Using latest.
    Collected errors:
    * satisfy_dependencies_for: Cannot satisfy the following dependencies for mpd-full:
    * kernel (= 3.18.23-1-3dbff8ef8ed26481a5d3cd9723973f43) *
    * opkg_install_cmd: Cannot install package mpd-full.
    на alsa
    Collected errors:
    * satisfy_dependencies_for: Cannot satisfy the following dependencies for alsa-utils:
    * kernel (= 3.18.23-1-3dbff8ef8ed26481a5d3cd9723973f43) *
    * opkg_install_cmd: Cannot install package alsa-utils.
    может их можно заменить чем то ?

  4. Алексей Фоменков

    nexx wt3020 f а щас мучаю сяоми р 3 г все стало на чистую последнюю врт звука нет выдает
    Simple mixer control ‘Speaker’,0
    Capabilities: pvolume pswitch pswitch-joined
    Playback channels: Front Left — Front Right
    Limits: Playback 0 — 151
    Mono:
    Front Left: Playback 151 [100%] [-0.06dB] [on]
    Front Right: Playback 151 [100%] [-0.06dB] [on]
    Simple mixer control ‘Mic’,0
    Capabilities: pvolume pvolume-joined cvolume cvolume-joined pswitch pswitch-joined cswitch cswitch-joined
    Playback channels: Mono
    Capture channels: Mono
    Limits: Playback 0 — 127 Capture 0 — 16
    Mono: Playback 0 [0%] [0.00dB] [off] Capture 0 [0%] [0.00dB] [on]
    Simple mixer control ‘Auto Gain Control’,0
    Capabilities: pswitch pswitch-joined
    Playback channels: Mono
    Mono: Playback [on]

    ‘Speaker’,0 это что звук есть но уровень его 0 чтоль регуляторы кручу по виду хорошо а звука нету

  5. Михаил Пантюхов

    Можно в mpd.conf в настройках alsa заменить hardware на software.
    А я свой nexx wt3020 так и не смог подлючить, меняю конфиги, пропадает интернет и доступ к вебморде. Если конфиги не менять, то звук смены радиостанции есть, но ни один поток не воспроизводится 🙁 И еще не понятно, «полностью заменяем Ваш файл, но параметр option ifname ‘eth0’ меняем на свой» — это который в моем файле?

  6. oka676

    Добрый вечер. Вроде все получилось и работает: роутер asus wg500 с прошивкой standart. Full не захотела играть (видимо проблемы mpd и прошивки 18.06.1) Но есть ложка дегтя: при нажатии на кнопки stop и play на web-морде и в андроид-приложении проговаривается название станции и продолжается воспроизведение. Остановить воспроизведение никак не получается, кроме отключения питания. Это не есть хорошо — ведь девайс убран с глаз долой и без отключения тупо жрет интернет трафик. Как можно починить реакцию на кнопки.

    • Админ Автор

      К сожалению никак, madplay не отрабатывает остановку при воспроизведении потока. Как вариант убирать громкость в ноль.

      Наверное так и сделаю в обновлении на кнопки плей и стоп. Хотя если у Вас не безлимитный интернет, это не решение.

  7. oka676

    Значит придется попробовать установить OpenWRT более ранних версий — вроде писали, что там с mpd проблем не возникало.

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