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

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

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

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

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

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

V113.Light (14.04.2020) Важное!

  • Критическое исправление.

V111.Light (25.03.2020) Важное!

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

V110.Light (20.03.2020) Важное!

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

V106.Light (29.02.2020) Важное!

  • Исправлена и оптимизирована работа модуля переподключения

V103.Light (22.02.2020)

  • Добавлена функция вкл\выкл уведомления о наличии обновления
  • Добавлена функция вкл\выкл автообновления прошивки

V100.Light (28.01.2020)

  • Исправлены некоторые ошибки

V99.Light (23.12.2019)

  • Исправлены критические ошибки
  • Изменен погодный сервер (openweathermap.org)

V93.Light (01.12.2019)

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

V92.Light (22.11.2019)

  • Исправлено произношение погоды.

V91.Light (13.11.2019)

  • Оптимизация размера прошивки.

V89.Light (09.11.2019)

  • Добавлена кнопка Mute/Unmute в веб интерфейс.
  • Доработано состояние прогресса громкости.

V88.Light (23.10.2019)

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

V87.Light (22.10.2019)

  • Добавлена возможность листать избранные станции вперед и назад (/www/cgi-bin/wr_nextfav и /www/cgi-bin/wr_prevfav). Функции можно привязать на пульт управления.

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

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

V85.Light (30.09.2019)

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

V84.Light (06.08.2019)

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

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

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

  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 'lan'

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

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 "/tmp/fw.tar.gz" "http://fw.wifiradio.su/download/wifiradio.su_light.tar.gz"
tar -xvzf "/tmp/fw.tar.gz" -C "/"
chmod -R 755 /www/cgi-bin/
chmod -R 755 /etc/wifiradio/
rm -r -f "/tmp/fw.tar.gz"
reboot

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

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

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

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

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

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

 

Подписаться
Уведомление о
43 Комментарий
Старые
Новые Популярные
Inline Feedbacks
View all comments
Alex Dudenkov
Alex Dudenkov
1 год назад

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

Илья Акимов
Илья Акимов
2 месяцев назад
Ответ для  Админ

объясните как это только кодами?
можно пожалуйста подробную инструкцию или помогите по дискорду или если вы в уфе еще лучше можем встретится ктотнибудь мне поможет кто в этом шарит!

Alex Dudenkov
Alex Dudenkov
1 год назад

Друзья, прошивка 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.

M P
M P
1 год назад

может кому пригодится . замените в файле 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 }’)

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

Юрий Пономарёв
Юрий Пономарёв
1 год назад

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

Юрий Пономарёв
Юрий Пономарёв
1 год назад
Ответ для  Админ

Спасибо за информацию, как придёт проверю, отпишусь.

Юрий Пономарёв
Юрий Пономарёв
8 месяцев назад
Ответ для  Админ

По итогу, такой модуль работает, но работает только со своим пультом, мне же нужно было подключить пульт от AV ресивера. Из ситуации вышел следующим образом: Была куплена плата NodeMCU (ESP8266) к ней подпаян ик приёмник. В скетчах есть пример как считать передаваемый код от ик пульта. Принцип работы такой: еспшка подключается к вайфай сети, после этого монитор через ик приёмник сигналы, когда поступает сигнал нужный сигнатуры, выполняется команда типа http://…/cgi-bin/wr_reboot. Работает без сбоев. Могу отправить вам скетч или подробно расписать, что и как делал. Для меня это было не тривиально так как с ардуинами и программированием дела раньше не имел.… Подробнее »

Юрий Пономарёв
Юрий Пономарёв
8 месяцев назад
Ответ для  Админ

Именно так. ESP физически с роутером никак не связана.

Владимир Баринов
Владимир Баринов
1 год назад

Роутер NEXX WT3020
Работало, пока случайно не накатил полную версию, которой не хватило места.

Пытаюсь поставить обычную версию — пишет, нет места. Как почистить?

Владимир Баринов
Владимир Баринов
1 год назад

Спасибо, помогло!

Nick Voronkin
Nick Voronkin
10 месяцев назад

Добрый день!

Скажите пож-ста, эта прошивка подойдет для TP-Link 3020 c 4 Мб флеша?

mihonmix
mihonmix
6 месяцев назад

Админ, а можно в интерфейс управления прикрутить функцию будильника? Задал время, поставил на паузу. Время подошло- снялось с паузы и поет на весь дом. Так реализовано в mi home. Встаешь очень быстро.

Ванька Мацько
Ванька Мацько
6 месяцев назад

Есть такой баг после каждого обновления включаются подписки сами, хотя они и отключены в вебинтерфейсе.

Юрий Пономарёв
Юрий Пономарёв
6 месяцев назад
Ответ для  Админ

не помогло, у меня ошибка осталась. Так же после где-то в р-не 76 версии появились две проблемы: После перезагрузки приходится физически перетыкать аудиокарту. Индикация о передаче звука на карте идёт, но звука нет. Когда карточку переткнёшь и включишь следующую станцию, звук начинает проигрываться. Вторая проблема заключается в том, что в основном окне не идёт звук после переключения станций, т.е станция написано что поменялась но воспроизведения нет. Но когда заходишь в play/remote.htm то там всё переключается чётко.

Юрий Пономарёв
Юрий Пономарёв
6 месяцев назад
Ответ для  Админ

Только что попробовал, не помогает.

Юрий Пономарёв
Юрий Пономарёв
6 месяцев назад
Ответ для  Админ

С новым годом! Настройки с нуля пробовал. Звуковушку пока не могу другую попробовать, хотя и хочется что-нибудь с SPDIF.
Название устройства Speaker.
Simple mixer control ‘Speaker’,0
Simple mixer control ‘Mic’,0
Simple mixer control ‘Auto Gain Control’,0

Mastit
Mastit
5 месяцев назад

как сейчас обычно говорят «оставлю это здесь»))) потому, как прошивка там лайт
http://vfl.ru/fotos/c53f319129347248.html
http://vfl.ru/fotos/59e8897229347249.html
запилил (точнее зажёг — заказывал лазерную резку фанеры для корпуса) из бесхозно валявшейся платы от роутера dlink dir320b2 (без корпуса и с оторванной антенной), точно также бездействовавшей (из-за отсутствия для неё задач) usb звуковой карты (на вид какая-то вот такая https://aliexpress.ru/item/32598340823.html ) , купленной когда-то очень давно на ebay и специально купленной для этого рукожопства акустики SVEN 140
https://www.citilink.ru/catalog/computers_and_notebooks/acoustics/1003647/

Александр Лашманов
Александр Лашманов
4 месяцев назад

Добрый день. Подскажите пожалуйста, почему при озвучивании погоды не находит город Нижний Новгород, но находит город Горький, хотя его переименовали уже черт знает сколько лет назад.

Александр Лашманов
Александр Лашманов
1 месяц назад
Ответ для  Админ

Добрый день. Заменил пробел знаком %20, все было хорошо, погоду находила, но на днях начала говорить что погода не доступна, неправильно указано название города. Прошивка 113 light. Пробовал просто пробел, не помогло. Что не так я делаю?

Mastit
Mastit
4 месяцев назад

V101.Light (18.02.2020)
•Удалено голосовое уведомление о необходимости обновления прошивки
почему? (вроде не мешало…)

Mastit
Mastit
4 месяцев назад
Ответ для  Админ

это которая «автообновление» галка? а как работает? — просто сообщает, что надо обновиться (как раньше было) или таки обновляет автоматично?

Mastit
Mastit
4 месяцев назад
Ответ для  Админ

прошу пардону — галку в озвучке не заметил… теперь понятно, спасибо.

Илья Акимов
Илья Акимов
2 месяцев назад

объясните как это только кодами?
можно пожалуйста подробную инструкцию или помогите по дискорду или если вы в уфе еще лучше можем встретится ктотнибудь мне поможет кто в этом шарит!