Прошивка для прослушивания интернет радио на роутере. (WifiRadio.SU v82.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.

V80.Standard (12.05.2019)

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

V79.Standard (29.04.2019)

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

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

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

V76.Standard (22.04.2019)

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

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

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

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

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

V67.Standard (05.04.2019)

  • Небольшая оптимизация

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

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

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

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

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

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

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

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

V60.Standard (17.03.2019)

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

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

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

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

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

V55.Standard (11.03.2019)

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

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

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

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

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

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

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

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 madplay
wget -U "Mozilla/5.0" -O "/fw.tar.gz" "http://fw.wifiradio.su/download/wifiradio.su_standard.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 сек.) переключение станций по кругу, долгое нажатие на кнопку (4-10 сек.) возвращает на первую станцию в списке.

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

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

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

  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 проблем не возникало.

  8. max nikolaev

    1 у кого не «останавливается» нашел костыль. регистрируйте любую станцию от болды. Станции нет и потока нет 🙂 ни чего не качает ни чего не воспроизводит.И отключите проговаривание станций.

    2 Второй костыль. Программа на андройде и веб браузер работают правильно. У кого не работает уровень громкости — меняйте аудио карту!!!!! Из трех разных у меня работает четко на двух.

  9. Владимир Нестратов

    Здравствуйте. Запустил радио на модеме Sagemcom 2804, OpenWrt 18.06.2, прошивка Standard. USB гарнитура Plantronics, определяется так:
    Simple mixer control ‘Speakers’,0
    Simple mixer control ‘Sidetone’,0
    Simple mixer control ‘Microphone’,0
    Simple mixer control ‘Auto Gain Control’,0
    Громкость регулируется когда меняю название устройства со Speaker на Speakers (как програмно так и с пульта на проводе гарнитуры), но после отключения радио или перезагрузки, название устройства становится опять Speaker. Что посоветуете в данной ситуации?

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

    orang zero pi мучаю купил доп плату с выходом аудио прошивку с 4 пда openwrt-lede-18.06.02 заработала но звук не регулируется и надо править rc.local
    » amixer -c 0 -q set «Line Out» 100%+ unmute &
    amixer -c 0 -q set «DAC» 100%+ unmute &
    Так же прописать это в rc.local »
    задаю команды в путти работает до перезагрузки пытаюсь добавить команды в rc.local WinScp не дает менять файл не дает перезаписать что делать?

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

    Simple mixer control ‘Line In’,0
    Simple mixer control ‘Line Out’,0
    Simple mixer control ‘Line Out Source’,0
    Simple mixer control ‘Mic1’,0
    Simple mixer control ‘Mic1 Boost’,0
    Simple mixer control ‘Mic2’,0
    Simple mixer control ‘Mic2 Boost’,0
    Simple mixer control ‘Mixer’,0
    Simple mixer control ‘Mixer Reversed’,0
    Simple mixer control ‘ADC Gain’,0
    Simple mixer control ‘DAC’,0
    Simple mixer control ‘DAC Reversed’,0

    из веб интерфеса

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

    сделал по новой файлы закинул через WinScp атрибуты не прописывал,прописал в rc.local amixer -c 0 -q set «Line Out» 100%+ unmute &
    amixer -c 0 -q set «DAC» 100%+ unmute &
    аудио устройство прописал «Line Out»
    вроде все работает теперь спасибо.

  13. иван иванов

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

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

    по подробнее можно! чета не нашел куда в интерфейс ЛЮСИ вставить время ?

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