Идеи озвучить кабинет сисадмина или «Умный дом», в том числе удалённый,  посещали меня давно. Поиски в Интернет, однако, не приводили к успеху, так как аппаратные решения для таких задач, как выяснилось, стоят не малых денег (например, 2N SIP AUDIO Converter и замещающие его аналоги), а софтверные (например, Net Speakerphone) не столь надежны при удаленном использовании и требуют наличия ПК на «другом конце». Впрочем один опыт софтверной интеграции с роутером по звуку у меня был и вполне удачный.

В своих долгих поисках я случайно наткнулся на сайт белорусской компании AVS, торгующей звуковым оборудованием и нашел на нём интересный продукт – маленький сетевой стереопроигрыватель URRI MP A1 и сетевой ресивер URRI А1. Покупка и изучение этого устройства и заочное знакомство с его создателями привели в конце концов к определенным успехам: мной была создана библиотека скриптов для управления стереоресивером URRI из Роутер ОС Микротик. Но обо всем по порядку …

История

Руководителем группы, создавшей собственный сетевой проигрыватель и ресивер URRI, является белорусский предприниматель Андрей Гапеев. Работа со звуковым оборудованием, создание и реализация проектов различных  аудио-видео решений, домашних кинозалов и мультирум привели его в 2018 г. к идее сделать собственный сетевой стереоресивер. В собранной им команде программистов и инженеров (Роман Плотников — инженер программист, менеджер проекта; Дмитрий Халява —  инженер программист, Linux разработчик; Игорь Ильин -  радиотехник;  Антон Нацвалов – программист разработчик приложения для Android; Андрей Ходько – радиотехник, звукорежиссёр; Дмитрий Гавриленко — звукорежиссёр; Сергей Преснаков – радиомеханик) в 2018 г. была начата работа над стереоресивером.

Название URRI было предложено супругой Андрея и выбрано в память известного советского кинофильма 1979 г. «Приключения Электроника» по имени одного из его героев – Урри, того самого, который пытался ответить на вопрос «где у него кнопка ?». Весь 2018 год велась работа над ПО и аппаратной частью устройства. Очень много работы было проделано со звуком. Авторы понимали, что бороться за Hi-END звук им не под силу, а максимально сохранить звук таким, каким его выдает процессор, можно постараться. Для разработки схемотехники авторы ресивера обратились на завод «Зенит» (завод выпускал магнитолу Беларусь). С Зенитом было сделано несколько прототипов URRI. В дальнейшем эта работа очень помогла, за что необходимо отдельно благодарить  главного конструктора завода  Алексея Чеха.  Опыт члена команды разработчиков URRI Игоря Ильина в DIY audio помог найти правильное решение со звуком. В середине 2019 года были заказаны первые версии материнских плат стереопроигрывателя и стереоресивера.  Платы были заказаны на двух предприятиях: на белорусском предприятии «Резонит» и в Китае.   Платы пришли быстро, по качеству вопросов не возникло. Далее была продолжена работа по звуку, в которой была большая заслуга  Андрея Ходько и Дмитрия Гавриленко - звукорежиссёров, с которыми ранее был уже реализован ряд совместных проектов.

Эти работы привели к изменениям в схемотехнике устройств, что повлекло, естественно, к  заказу новой версии плат. На новых платах были отработаны этапы сборки проигрывателей и ресиверов, началось их малосерийное производство и применение в собственных звуковых проектах. В процессе эксплуатации на реальных объектах, где стереоресиверы должны были работать в режиме 12/7/365, были исправлены многие ошибки в ПО и расширен функционал устройства для режима контроля трансляции iSBC— (internet stream broadcast control).

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

При создании ПО авторы использовали кастомную сборку Linux на базе ядра 5.8.9. Отказ от использования звуковых серверов и использование одной лишь ALSA позволили добиться того звука, который и был заложен при мастеринге трека. Андрей рассказал мне в письме, что если отключить программный регулятор громкости или выставить его на максимум, и дальше регулировать уже только ручкой усилителя (присутствует только у ресивера), то можно говорить уже о звуке bit-perfect, что подтверждают на слух заядлые аудиофилы.

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

Устройства  с версией LITE предназначены покупателям, которые используют  устройство для простой задачи - прослушивание музыки и только. Версия PRO имеет расширенный функционал  и была сделана для инсталляторов, для того чтобы они могли зарабатывать на продаже устройства. Версии URRI A1 или URRI A1 PRO имеют разные прошивки - LITE и PRO и не могут участвовать в одном проекте.

Внешний вид сетевого стереоресивера URRI A1
Внешний вид сетевого стереоресивера URRI A1

Стерео ресивер способен выполнять следующие функции:

  • Воспроизведение аудио-потоков (интернет-радио) из собственной базы или указанных/ добавленных пользователем

  • Воспроизведение музыкальных файлов с USB-носителя

  • Воспроизведение музыкальных файлов с сетевого хранилища или компьютера, находящихся в единой локальной сети

  • Воспроизведение музыки с iTunes или iPhone / iPad / iPod touch через протокол AirPlay

  • Мультирум, выступая в качестве как Slave так и Master устройств

  • Использоваться в качестве стерео усилителя

  • Интеграция в систему «Умный дом»

  • Для организации системы фонового звука дома, магазина, бара, ресторана

Цена устройства – версии lite 450 белорусских рублей (около 13 тысяч российских); версия Pro стоит на 100 белорусских рублей дороже:  550 рублей (немногим меньше 16 тысяч российских). URRI медиаплейер (самый первый продукт AVS) стоит 410 белорусских рублей и сейчас, насколько я понял, практически заменен производством URRI ресиверов.

Основные характеристики аппаратной части ресивера URRI:

  • процессор  ARM Cortex А7 v7hf 1200 МГц 4 ядра;

  • DDR3 ОЗУ 512 Мб;

  • NAND Flash 16 Гб;

  • LAN Ethernet 10/100Мбит/с  встроенная в SoC;

  • Wifi адаптер 802.11 b/g/n;

  • DAC- Codek Soc;

  • усилитель TPA3110D2 Texas Instruments;

  • Мощность  2*30 Вт (4 Ом) / 2*15Вт (8 Ом)

  • Коэффициент нелинейных искажений  0,006

  • Соотношение сигнал шум  102 Дб

  • Диапазон воспроизводимых частот 20Гц-22 кГц

  • Поддерживаемые форматы  ALAC, FLAC, AAC, ACC+, MP3, WAV, APE, OGG, OPUS

  • Частота дискретизации аудио сигнала  8 - 192 кГц

  • Цифровое подключение к внешнему DAC -  USB A, 1 разъем

  • Аналоговый вход/выход   3,5 мм стерео

  • Потребляемая мощность  40 Вт

  • Потребляемая мощность в режиме ожидания  0,3 Вт

  • Размеры (ШхВхГ)   116 х 50 х 130 мм

  • Вес  450 гр.

  • черный стильный алюминиевый корпус

  • отдельный блок питания 18В-5А

  • управление устройством – собственное приложение AVS Play (для Андроид), приложение Home Bridge для Windows, APPLE и IOS.

 Как видно из аппаратных характеристик, малыш, по размерам, URRI обладает незаурядной «силой», имея весьма шустрый процессор и весьма неплохой объем оперативной и Flash-памяти. Внутри корпуса URRI представлен на удивление «полупустой» платой небольшого размера (так как практически всё интегрировано в Soc). Вторая (поменьше) - принадлежит Wifi-модулю (как я думал изначально, потом здесь мне подсказали, что это Orange Pi Zero с интегрированным Wifi-модулем)

Вид URRI ресивера при снятой верхней крышки корпуса
Вид URRI ресивера при снятой верхней крышки корпуса

Подробное описание стереоресивера URRI представлено в руководстве пользователя (можно скачать здесь) и я, разумеется, не буду его повторять. Если кратко остановиться на достоинствах можно отметить малые размеры, хороший звук, наличие по сути двух сетевых карт для подключения к сети (LAN и WIFI), возможность присоединять как пассивные 4 и 8 ОМ-ные колонки (через евроблок), так и активные колонки (через джек АUDIO OUT). Возможность подключения внешнего аудио источника к AUX через джек AUDIO IN. Ресивер поддерживает работу со звуком по протоколам DNLA (можно использовать приложение Home Media Server для Windows), а также специальные приложения для телефонов и сетевых хранилищ, таких как, например, QNAP и SYNOLOGY и протокол AirPay (для Apple). Версия PRO оснащена возможностями расширенных сетевых настроек и системой контроля трансляции, позволяющей при отсутствии основного потока не допустить «тишину в эфире» и перейти скажем к вещанию с USB-носителя. Весьма удобным инструментом управления URRI является созданное приложение для Android - AVSPlay. Для программистов важным фактом является открыто распространяемый URRI API и тем самым возможность интеграции URRI по сути в любое программное обеспечение.

Интеграция с Микротик

Почитав описание, я решил приобрести стереоресивер для изучения. Покупке URRI немало способствовал найденный мной в руководстве пользователя раздел «Умный дом», в котором значилось дословно следующее: «Для интеграции стерео ресивера в систему «Умный дом» разработаны API, которые мы можем предоставить по запросу.

 Пример API: Начать/продолжить воспроизведение

POST запрос: http://[ip-adress:port]/play»

 Конечно же такая возможность не могла не вызвать моего интереса и я сразу подумал о возможной интеграции URRI и Milrotik, посредством мощнейшего скриптового языка последнего, и в том числе универсальной команды /tool fetch, позволяющей организовать GET/POST запросы к хостам сети. Тем более, что опыт подобных работ у меня уже был при создании скриптовых библиотек для работы с различными PDU (таких как Netping, Laurent и Rodos).

За обещанным API я обратился к разработчикам и Андрей переслал мне последнюю на то время версию API 2.7.5 для URRI A1 PRO.

С этого момента началась уже моя работа по созданию библиотеки скриптов управления стереоресивером URRI для роутеров Микротик, которая заняла около 2-х недель. Работая над созданием библиотеки функций, я проверил корректность работы каждой API команды URRI. В целом всё было хорошо, за исключением выявленных некоторых багов и ошибок, без чего не обходится, как правило, не один релиз. Например, я никак не мог подключить URRI к беспроводной сети своего роутера, в том числе попробовав поменять массу настроек wifi на роутере. Ларчик в конце концов открылся просто – оказывается прошивка URRI не позволяла соединиться с Wifi-сетью, SSID которой содержала в имени специальные символы. Как только я изменил имя своей Wifi-cети произошло соединение ресивера с беспроводной сетью и URRI получил IP-адрес …

Все выявленные мной ошибки в работе API я передал разработчикам, которые обещали их исправить. Вероятно, я даже несколько утомил их своей дотошностью, но, тем не менее, Андрей Гапеев и Роман Плотников мужественно отвечали на все мои письма, содержащие ошибки и неточности в работе URRI.

Я же в итоге написал библиотеку функций управления URRI, содержащую 60 команд-функций, не поддержав в первой версии своей библиотеки только режим контроля трансляции и настройки будильников URRI. Следует отметить, что в работе мной был использован  парсер  JSON-данных JParseFunctions (https://github.com/Winand/mikrotik-json-parser), прекрасно справляющийся с парсингом JSON ответов API в многомерные ассоциативные массивы РОС, за что огромное спасибо его автору. Все остальные возможности API URRI version 2.7.5 были поддержаны для управления из Роутер ОС.

Библиотека скриптов содержится в одном скриптовом файле (свободно доступна здесь). Для установки функций в репозиторий роутера следует выполнить команду:

/import file=URRI_v03022021_red2702.rsc

                На сегодняшний день актуальной версией является версия библиотеки от 03.02.2021 г. в редакции от 27.02.2021 г. При удачном импортировании скриптов в репозитории  роутера  пользователя  должны появиться  следующие  новые  скрипты,  созданные  вдадельцем  (owner) «URRI»:

Func_URRI_start - стартовый скрипт, устанавливает функции в окружение переменных

Func_URRI_part1 - соответствующие части библиотеки функций

Func_URRI_part2

Func_URRI_part3

Func_URRI_part_Special – специальные и служебные функции

Func_URRI_call_examples – скрипт с примерами обращений к функциям библиотеки

Func_URRI_script_call_sheduller – пример сценария для Планировщика Роутер ОС

JParseFunctions – JSON –парсер для Микротик Роутер ОС

 Для установки функций библиотеки в область Environment (т.е. активации) следует выполнить команду /system script run Func_URRI_start. Функции устанавливаются в окружение в качестве глобальных переменных. Для их использования в скриптах пользователя остаётся лишь их предварительно декларировать (:global FuncURRIfuncname, где funcname – имя конкретной функции). Для удобства все имена функций работы с URRI ресивером начинаются с префикса FuncURRI, за которым следует индивидуальное имя команды/функции и параметры.

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

Все функции по API можно разделить на группы (функции воспроизведения, функции запроса параметров, специальные функции (расширенные сетевые настройки, подключения к Wifi и LAN, апгрейд прошивки, обновления базы радиостанций и т д…)

Перечень всех функций библиотеки для управления ресивером из Микротик можно посмотреть в отдельном файле по ссылке выше.

В качестве примеров кода я приведу примеры трех функций библиотеки:

 Функция FuncURRIplay

 # FuncURRIplay – главная функция воспроизведения

# включает воспроизведение с ранее установленного источника или с пресета [1-4], а также c USB (первая папка) или AUX

# если не указано - с ранее установленного источника

 :global FuncURRIplay do={

:if ([:len $0]!=0) do={

:global URRIaddr; :global URRIport

:if (([:len $URRIaddr]!=0) and ([:len $URRIport]!=0)) do={

:local StrFetchUrri; :local preset

:if ([:len $1]=0) do={:set StrFetchUrri ("http://"."$URRIaddr".":"."$URRIport"."/play")}

:if ($1="USB") do={:set StrFetchUrri ("http://"."$URRIaddr".":"."$URRIport"."/playFirstUsbFolder");}

:if ($1="AUX") do={:set StrFetchUrri ("http://"."$URRIaddr".":"."$URRIport"."/enableAUX")}

:if (([:len $1]!=0) and ($1!="USB") and ($1!="AUX")) do={:set preset ($1-1); :set StrFetchUrri ("http://"."$URRIaddr".":"."$URRIport"."/preset/"."$preset"."/play")}

:if (([:len $1]=0) or ($1="USB") or ($1="AUX") or ([:tonum $1]>0) and ([:tonum $1]<5)) do={

do {

:global URRIanswer [/tool fetch url=$StrFetchUrri mode=http http-method=post as-value output=user];

} on-error={:return "ERROR FETCH function $0"}

:global URRIanswer; :if (($URRIanswer->"status")!="finished") do={:return "ERROR"}

#:return ($URRIanswer->"data");

:global FuncGetURRIanswer; :return [$FuncGetURRIanswer ($URRIanswer->"data")];

     } else={:return "ERROR number preset mismatch"}

   } else={:return "ERROR no define address or port"}

 }

}

Функция FuncURRIvolume

# - FuncURRIvolume – функция регулирования громкости

# устанавливает громкость воспроизведения в % [0-100]

# если $1 не указан, устанавливается громкость 30%

# если параметр $2="smooth" используется алгоритм плавного регулирования громкости

# в $3 можно задать «крутизну» (шаг) спада/нарастания громкости, если не указано по умолчанию установлен «5»

:global FuncURRIvolume do={

:if ([:len $0]!=0) do={

:global URRIaddr; :global URRIport

# объявим саму себя для рекурсивного вызова !

:global FuncURRIvolume

:global FuncURRIgetVolume

:local spad 5; # величина определяющая быстроту спада/подъема громкости при плавном регулировании

:if (([:len $URRIaddr]!=0) and ([:len $URRIport]!=0)) do={

:local smooth "";

:if ([:len $2]!=0) do={:set $smooth $2}

:local volume; :local setvolume [:tonum [$FuncURRIgetVolume]]

:if ([:len $1]=0) do={:set volume 30} else={:set volume $1}

:if ([:len $3]!=0) do={:set $spad $3}

#:log warning $setvolume; #:log error $volume

:if ($setvolume!=$volume) do={

# если разница между настроенной желаемой громкостью меньше спада, то настроить громкость за один раз

:local st; :if ($setvolume>$volume) do={:set st ($setvolume-$volume)} else={:set st ($volume-$setvolume)}

:if ($st<=$spad) do={:set $smooth "";}

# работаем здесь только при плавном регулировании, используется рекурсивный вызов самой функции

:if ($smooth="smooth") do={

:while ($volume!=$setvolume) do={

:if ($volume>$setvolume) do={[$FuncURRIvolume ($setvolume+$spad)]; :set $setvolume ($setvolume+$spad); :if ($setvolume>$volume) do={[$FuncURRIvolume $volume]; :set $volume $setvolume;}}

:if ($volume<$setvolume) do={[$FuncURRIvolume ($setvolume-$spad)]; :set $setvolume ($setvolume-$spad);  :if ($setvolume<$volume) do={[$FuncURRIvolume $volume]; :set $volume $setvolume;}}

     }

   } else={

# работаем только при установке громкости сразу

:local StrFetchUrri;

:set StrFetchUrri ("http://"."$URRIaddr".":"."$URRIport"."/setVolume/"."$volume");

do {

global URRIanswer [/tool fetch url=$StrFetchUrri mode=http http-method=post as-value output=user];

} on-error={:return "ERROR FETCH function $0"}

:global URRIanswer;

:if (($URRIanswer->"status")!="finished") do={:return "ERROR"}

#:return ($URRIanswer->"data");

:global FuncGetURRIanswer; :return [$FuncGetURRIanswer ($URRIanswer->"data")];

          }

       } else={:return $volume}

   } else={:return "ERROR no define address or port"}

 }

}

Вышеприведённый код функции FuncURRIvolume интересен тем, что в ней используется рекурсивный вызов «самой себя» для плавного регулирования громкости – поэтапного повышения или понижения (см. код и комментарии к нему).

 Функция FuncURRIsettings предназначена для считывания параметров состояние ресивера (для части параметров необходимо также пользоваться функцией FuncURRIstatus).

# - FuncURRIsettings

# получить состояние устройства

:global FuncURRIsettings do={

:if ([:len $0]!=0) do={

:global URRIaddr; :global URRIport

:if (([:len $URRIaddr]!=0) and ([:len $URRIport]!=0)) do={

:local StrFetchUrri ("http://"."$URRIaddr".":"."$URRIport"."/getSettings");

do {

global URRIanswer [/tool fetch url=$StrFetchUrri mode=http http-method=post as-value output=user];

} on-error={:return "ERROR FETCH function $0"}

:global URRIanswer;

:if (($URRIanswer->"status")!="finished") do={:return "ERROR"}

/system script run JParseFunctions;

global JSONLoads;

:set URRIanswer [$JSONLoads ($URRIanswer->"data")]

:if ([:len $1]=0) do={:return $URRIanswer;} else={

:if ($1="version") do={:set URRIanswer ($URRIanswer->"deviceInfo"->"version")}

:if ($1="cpuTemp") do={:set URRIanswer ($URRIanswer->"deviceInfo"->"cpuTemp");

:local cpuTemp $URRIanswer; :local Temp "";

:for i from=0 to=([:len $cpuTemp]-1) do={:if ([:typeof [:tonum [:pick $cpuTemp $i ($i+1)]]]="num") do={:set $Temp ("$Temp"."$[:pick $cpuTemp $i ($i+1)]")}}

:return $Temp}

:if ($1="LAN") do={:set URRIanswer ($URRIanswer->"networkSettings"->"connections"->"LAN")}

:if ($1="WLAN") do={:set URRIanswer ($URRIanswer->"networkSettings"->"connections"->"WLAN")}

:if ($1="autoPlay") do={:set URRIanswer ($URRIanswer->"audioSettings"->"autoPlay"->"value")}

:if ($1="autoUpgrade") do={:set URRIanswer ($URRIanswer->"deviceInfo"->"autoUpgrade")}

:return $URRIanswer;}

   } else={:return "ERROR no define address or port"}

 }

}

 Функция выше наглядно демонстрирует мощные возможности JSON-парсера для Микротик, позволяющего без всяких проблем перевести ответ API прошивки из JSON в многомерный ассоциативный массив и потом уже работать с ним, извлекая все или какой-либо один требуемый параметр настроек URRI.

 Отмечу, что по сравнению с возможностями API, мной, для изюминки, были реализованы некоторые дополнительные возможности работы с URRI. В качестве примера можно привести вышеприведенную функцию установки громкости с плавным програмным регулированием (постепенным нарастанием или спадом) FuncURRIvolume или функцию FuncURRIScope, позволяющeй провести сканирование по пресетам, USB- и входу AUX с поочередным воспроизведением из этих источников в течение заданного времени и количества «кругов» воспроизведения.

Также в модуль скрипов были добавлены служебные функции, содержащиеся в части «Speсial» и необходимые для составления сценариев воспроизведения и работы многих основных функций библиотеки.

Используя функции библиотеки скриптов для URRI и Планировщика Микротик РОС можно спланировать график «вещания» с URRI по зарание составленному сценарию, а также реализовать «озвучивание» различных важных событий на роутере.

В качестве примера приведу небольшой скрипт-сценарий для воспроизведения с URRI-ресивера, который можно поместить в CRON (Планировщик, Scheduler) роутера Микротик. В скрипте задействована специальная служебная функция [$FuncSchedFuncAdd], которая может планировать задания планировщика в заданную дату и время или «на лету»:

 

# пример скрипта, сценария, добавляющего задания в планировщик роутера для URRI

 # объявляем функцию добавления функций в планировщик

:global FuncSchedFuncAdd

 # добавить проигрывание пресета 2 в указанную дату и время

[$FuncSchedFuncAdd "FuncURRIplay 2"  feb/06/2021 "02:45:00"]

 # добавить плавное регулирование громкости

[$FuncSchedFuncAdd "FuncURRIvolume 60 smooth 10" feb/06/2021 "02:45:15" "00:00:00"]

 # добавить воспроизведение USB

[$FuncSchedFuncAdd "FuncURRIplay USB"  feb/06/2021 "02:47:00" "00:00:00"]

 # добавить остановку воспроизведения

[$FuncSchedFuncAdd "FuncURRIstop"  feb/06/2021 "02:48:00"]

 # добавить включение обзорного проигрывания с пресетов и USB в один круг

:delay 10s;

[$FuncSchedFuncAdd "FuncURRIscope exAUX"]

 # добавить включение радиопотока радио Брест:

:delay 120s;

[$FuncURRIradio "BrestRadio" "http://93.84.112.253:8039/stream"]

 

Каждая функция библиотеки «завернута» в обработку ошибок, которая не позволяет остановить исполнение скриптов при возникновении внештатных ситуаций. При различных типах ошибок (неправильно заданных параметрах функций, отсутствие доступности ресивера в сети и т д…) соответствующее сообщение об ошибке будет возвращено вызывающему скрипту.

Заключение

 Теперь мой Микротик обладает не только винтовкой-трехлинейкой (динамиком-пищалкой), способной воспроизводить простые однотональные мелодии командой :beep. «Вооруженный» дополнительным пулемётом в сети (стереоресивером URRI), Микротик, с помощью библиотеки скриптов может озвучивать любые события, происходящие в сети (например, подключения/отключения wifi-пользователей, vpn-пользователей, попытки несанкционированных входа на роутер, сообщения о критических ошибках и т д…) Для этого необходимо лишь записать соответствующие «джинглы» (в том числе смыслоголосовые), разместить их на USB-носителе и вызывать воспроизведение с соответствующих папок USB по мере необходимости. Это очень удобно, скажем, если URRI и стереоколонки аудио системы расположены непосредственно в кабинете администратора сети. Используя несколько URRI, объединенных в систему мультирум, и роутер Микротик можно совсем не дорого реализовать систему офисного оповещения об экстренных ситуациях, собраниях, событиях на работе и т д...

Также можно организовать воспроизведение музыки и специальных голосовых сообщений на удаленных объектах, на которых, например, сторож, как таковой отсутствует, но есть видеонаблюдение. При видеофиксации проникновения на объект современная видеокамера может не только самостоятельно оповестить удаленную охрану, но и подать «сигнал» в сеть, например в виде передачи фото объекта, а значит появления трафика от определенного IP через определенный порт. Далее роутер микротик, приняв тревожный сигнал, управляя воспроизведением на URRI-ресивере может отпугнуть воров, сообщив им в соответствующей форме, что мы про них думаем и что их скоро сцапают стражи правопорядка …

       Надо сказать, что авторы проекта не стоят на месте постоянно совершенствуют свой продукт (URRI-ресивер), обновляют прошивку и дополняют базу радиостанций. В планах разработчиков сделать смарт-радио и интерьерную смарт-картину для конечного пользователя - аналогичные URRI хабы для «Умного дома». В данное время коллектив разработчиков URRI занимается подключением системы Noolite к URRI-ресиверу для взаимодействия с беспроводными датчиками и выключателями и фактически уже реализовал данный функционал, о чём свидетельствует появление соответствующей новой кнопки в AVSplay приложении.

Желаю дальнейших успехов авторскому коллективу разработчиков URRI и благодарю отдельно Андрея Гапеева и Романа Плотникова за предоставленный  API и пояснения в работе прошивки URRI в ходе создании скриптовой библиотеки функций для роутеров Микротик, а также предоставленные материалы об истории создания ресивера.

Серков Сергей Владимирович (Sertik), 27.10.2021 г.

Комментарии (49)


  1. dimao79
    30.10.2021 11:03
    +7

    Краткий смысл статьи - семь человек прикрутили внешний ЦАП к Orange Pi Zero и подняли не нем MPD за один год.

    Какой смысл покупки данного девайса, если можно взять роутер с USB и подключить туда внешний ЦАП, и поднять MPD на самом роутере?


  1. vbifkol
    30.10.2021 11:13
    +6

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


    1. dimao79
      30.10.2021 11:48

      Девайсом за 10 баксов, или сколько там сейчас на Али стоит Pi Zero? И рекламы тут две, как мне кажется, этого девайса и Микротиков, только о которых этот автор и пишет.


      1. Sertik13 Автор
        30.10.2021 12:25
        +2

        Ни URRI ни Микротик я не рекламирую. Глупо думать что компания Микротик платит людям, имеющим хобби программирования скриптов для РоутерОС (ни одного такого факта я уверен не известно). Что касается URRI - тоже мимо, если бы его создатели были заинтересованы в такой рекламе, они предоставили бы мне URRI-ресивер бесплатно, чтобы я написал то, что написал. Однако такого факта не было - URRI я покупал.


        1. dimao79
          30.10.2021 13:36

          А список разработчиков с их ролями в разработке и технические характеристики китайского одноплатника были в инструкции по эксплуатации данного купленного Вами ресивера.

          Верим-верим!


          1. Sertik13 Автор
            30.10.2021 16:19
            +1

            В статье ясно сказано, если Вы читали внимательно, что после моей просьбы к группе разработчиков URRI предоставить API началась наша переписка. "А список разработчиков ... и технические характеристики" ... как и историю создания URRI мне в письме рассказал руководитель проекта Андрей Гапеев, а верить или нет это Ваше дело. Диванных критиков много, а людей способных не только сделать что-то своё, но и наладить серийное производство, пройдя все этапы получения лицензии, сертификатов и т д... очень мало. И я от души рад за авторов.


  1. Sertik13 Автор
    30.10.2021 11:56
    +1

    Нет господа, рекламы тут нет вообще, с роутерами Микротик я работаю больше 5 лет и могу точно сказать что Микротик ни на какой роутер не променяю, я их настоящий фанат !

    URRI если честно мне очень понравился, особенно тем, что у него грамотно сделанный открытый API и это для меня было самым главным в выборе. Ну какой сетевой ресивер может этим похвастаться и сколько он при этом стоит ? Да и поддержки никакой. А в случае с URRI его авторы были контактны и открыты. Так что Ваши комментарии явно мимо.


    1. dimao79
      30.10.2021 12:09
      +1

      Ну какой сетевой ресивер может этим похвастаться

      Любой, сделанный на основе любого одноплатника на Линуксе - Raspberry/Orange/Banana, тысячи их.

      Любой, на основе роутера, поддерживающего сторонние репы и имеющий хотя бы один USB для подключение звуковушки. У меня такой "сетевой ресивер" был сделан лет 10 назад на основе Асуса WL500-GPv2 с Олеговской прошивкой. Сейчас тем же занимается Кинетик Viva.

      А то, что это реклама - говорит тот факт, что Вы даже минимально не разобрались в устройстве, которое "интегрировали"

      Внутри корпуса URRI представлен на удивление «полупустой» платой небольшого размера (так как практически всё интегрировано в Soc). Вторая (поменьше) - принадлежит Wifi-модулю.

      Вторая плата "поменьше" это и есть одноплатник Orange Pi Zero, а не "WiFi-модуль" в Вашей терминологии.


      1. Sertik13 Автор
        30.10.2021 12:20

        У меня не было задачи разбираться в устройстве. Я не инженер. За коррекцию по wifi-модулю - спасибо (пусть это Orange Pi Zero), я не собирался разбираться в схемотехнике устройства, моим желанием было написать скриптовую библиотеку для РоутерОс Микротик, в том числе нужную мне для интеграции URRI в мой собственный "Умный дом". Ценовая категория URRI меня лично вполне устраивает. Это всё же малосерийное производство, а не на коленке сделанный  "сетевой ресивер" лет 10 назад на основе Асуса WL500-GPv2 с Олеговской прошивкой". Ещё раз для непонятливых объясняю - я никакими другими роутерами кроме Микротик не пользуюсь, тем более китайскими мыльницами.


        1. dimao79
          30.10.2021 13:32
          +2

          Ваша скриптовая библиотека, которой Вы оправдываете нерекламный характер статьи, не нужна. MPD / VLC отлично умеют управлятся по сети, имеют много приложений для управления с десктопа и телефона, и в лишнем слое "скриптовых библиотек" вряд ли нуждаются.

          тем более китайскими мыльницами

          Это Асус китайская мыльница? Ну лан, Вы не пользуетесь китайскими мыльницами, Вы пользуетесь конструктором на основе китайского одноплатника, китайского ЦАПа и китайского же мощником, в виде отдельных модулей.

          Это другое.


          1. Sertik13 Автор
            30.10.2021 16:23
            +1

            dimao79, что-то Вас статья сильно задела. Если Вам не интересно, так проходите мимо ...

            Насчет нужна или не нужна скриптовая библиотека - это не Вам решать. Нам удобно управлять URRI скриптами РоутерОс, почему - я объяснил в статье. Я занимаюсь тем, что пишу скрипты на изменённом LUA RouterOs Микротик и больше ни на чём, зачем мне какой-то демон MPD ? Даже в страшном сне он мне ну нужен.


  1. Left2
    30.10.2021 16:28

    Вторая (поменьше) - принадлежит Wifi-модулю.

    Это не WiFi-модуль, это Orange Pi Zero, китайский одноплатник класса RPI ZeroW - чемпион по дешивизне среди одноплатников (< $10 в розницу с доставкой из Поднебесной). Вообще прикольный бизнес - взять одноплатник за 8 баксов, добавить корпус и DAC (еще баксов на 20 в сумме), написать прошивочку и продавать это за 150-200. Не-не не подумайте - я рад за ребят что они нашли свою нишу и решение придумали простое и экономически выгодное, раз люди покупают - то оно им нужно, но если конкретно вы хотите поковыряться в потрохах линукса на одноплатнике - то все это можно собрать чуть не на порядок дешевле.


    1. StraNNicK
      30.10.2021 19:14

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

      это как я когда покупал автомобиль, мне очень многие говорили, -- да зачем ты берёшь новый, возьми старый, к нему нужно совсем немного руки приложить.

      И каждый, вот буквально каждый раз, вообще без исключения, оказывалось, что немного руки приложить -- это потратить очень много времени и сил, если ты не занимаешься этой предметной областью постоянно (и всегда такие, -- не, ну а ты что хотел? Тут же разбираться надо!).

      Я не хочу сказать, что этот URRI -- что-то прям хорошее (я просто не знаю), но я совершенно точно знаю, что если бы мне была нужна такая железка, то мне бы было проще и дешевле заплатить несчастные 16 т.р., чем сидеть и ковыряться в потрохах линукса на одноплатнике.
      Одно дело, когда оно интересно, но совсем другое -- когда не.


      1. Left2
        31.10.2021 14:20

        Так в том-то то и дело что автор сидел и ковырялся в линуксе (на роутере а не на одноплатнике - но суть-то та же самая) :) Раз все равно ковыряться - проще взять "голый" одноплатник и прицепить все к нему ручками, благо информации по нему хватает - и как mpd на нем поднять, и как звук настроить и т.п. Заодно прикрутить ir-приемник (датчик стоит копейки) и взять ДУшку от чего угодно (в ящике стола как правило валяется несколько штук) - чтобы ножками к крутилке не ходить. Короче, там непаханое поле для развлечений, было бы желание.


        1. StraNNicK
          31.10.2021 18:26

          как человек копавшийся в микротике и немножко в одноплатниках, скромно замечу, что это очень мягко говоря не одно и то же. И что это далеко не всеми воспринимается как развлечение.

          Понимаете, вот вы сходу пишете "взять ДУшку от чего угодно (в ящике стола как правило валяется несколько штук)". Я вот заглянул в ящик своего стола -- представляете, ни одной нет (чем бы они ни были).

          Вы впадаете в то же заблуждение, в которое впадают многие искренние энтузиасты своего дела "это легко можно сделать с помощью подручных вещей, которые есть у каждого, если не в ящике стола, то в гараже точно -- паяльника, пары-тройки одноплатников, небольшого фотополимерного принтера и реактора термоядерного синтеза!".

          Далеко не у всех есть даже паяльник. Не говоря о свободном времени и желании заниматься чем-то, что кажется очень интересным вам.
          Вот вы бы стали настраивать IPSec-клиент на микротике с dual-WAN без крайней необходимости?


          1. DaemonGloom
            01.11.2021 09:36

            ДУ в данном случае — пульт дистанционного управления. От старого телевизора, dvd-плеера или ещё чего-нибудь подобного.


          1. Left2
            01.11.2021 11:42

            как человек копавшийся в микротике и немножко в одноплатниках, скромно замечу, что это очень мягко говоря не одно и то же

            я вот не понимаю почему, честно. Раскройте мысль если не трудно.

            про ду-шки там уже ответили - ну, наверное можно найти квартиру/дом где не валяется ни одной от старого устройства - ну тогда можно за копейки купить в ближайшем подземном переходе любую какая понравится.

            Вы впадаете в то же заблуждение, в которое впадают многие искренние энтузиасты своего дела "это легко можно сделать с помощью подручных вещей, которые есть у каждого, если не в ящике стола, то в гараже точно -- паяльника, пары-тройки одноплатников, небольшого фотополимерного принтера и реактора термоядерного синтеза!".

            Ну вот смотрите, Вы на это смотрите вот так вот. Я смотрю примерно так: человек пишет статью как он при помощи эксклюзивной пилочки для ногтей ценой в 200 баков выпилил шкатулку из фанеры. Ему говорят - парень, ты конечно молодец, и это твои деньги и твое время - но в мире есть куча народа которые делают шкатулки из фанеры и удобнее и проще это делать лобзиком. Да и пилочка для ногтей твоя судя по фото - ну определенно сделана на базе полотна от лобзика. Так что если тебе нравится делать шкатулки из фанеры - то переходи на темную сторону - в интернете тонны материалов по выпиливанию лобзиком. Ну а если тебе хочется именно этой пилочкой это делать - это опять же твой выбор, тебе решать куда тратить деньги и свободное время, просто пусть люди которые это прочитают - знают что есть и куда более дешевые и простые способы это делать. И да, лобзики продаются свободно и недорого, на них не нужно получать отдельную лицензию, за 3 недели они приедут в 99.9% локаций где живут люди.

            Вот вы бы стали настраивать IPSec-клиент на микротике с dual-WAN без крайней необходимости?

            Почему нет? Там нет ни высокого напряжения ни каких-нить злобных химикатов, да даже спалить устройство шансы крайне низки. Как говорится - "семь бед - один hard reset"


            1. dimao79
              02.11.2021 10:16

              Похоже, что это:

              про ду-шки там уже ответили - ну, наверное можно найти квартиру/дом где не валяется ни одной от старого устройства - ну тогда можно за копейки купить в ближайшем подземном переходе любую какая понравится.

              Задел на следующую модификацию с поддержкой пультов ИК ДУ и голосовым управлением, путем интеграции еще одной китайской платы с того же Али

              Не, к парням претензий нет, что-то сделали, пытаются продавать, когда поняли что не взлетает - решили прорекламироваться. Но между нормальной рекламой своего продукта от разрабов и этой джинсой - пропасть, в этом и проблема.


              1. Left2
                02.11.2021 11:22

                Это штатная шапка от Orange Pi Zero, ага - и IR на ней почти бесполезен потому что сломаешь моск придумывая как разместить его в корпусе. Но никто не мешает взять почти любой IR транзистор (я помнится 5 штук на алиэкспрессе покупал за доллар) - и прицепить к любому GPIO, благо даже на Zero с ее куцой колодкой их дофига.

                Не, к парням претензий нет, что-то сделали, пытаются продавать

                Вот-вот, может там у них мегааудиософт какой-то и вся радость этого дивайса именно в ём, а на каком железе его гонять - вопрос не принципиальный. Но если мы хотим озвучивать события от роутера то 99.9% пользователей для этого нафиг не нужно сверхчистое звучание - так что задача решается в разы и разы проще и дешевле.

                ПыСы - я вот поигравшись с такими штуками сейчас стараюсь на роутер ничего лишнего не ставить - слишком критичная штука для всего дома, пусть занимается чисто сетью и ничем больше, а ошибки в скриптах и каком-нить entware-софте могут запросто его подвесить в самый неудобный момент. Так что все баловство с умным домом - на отдельном одноплатнике, благо опять же - они копеечные нынче.


                1. dimao79
                  02.11.2021 17:07

                  Вот-вот, может там у них мегааудиософт какой-то и вся радость этого дивайса именно в ём, а на каком железе его гонять - вопрос не принципиальный. Но если мы хотим озвучивать события от роутера то 99.9% пользователей для этого нафиг не нужно сверхчистое звучание - так что задача решается в разы и разы проще и дешевле.

                  Вся мощь мегасофта разбивается вдребезги об ClassD оконечник за доллар, на котором съэкономили на дросселях.

                  Так что тут или озвучка событий, которая опять же решается совсем по другому и никто в здравом уме в, например, пожарные извещатели не поставит китайский одноплатник выдающий на динамики сетевой поток, который может и не дойти.

                  Или закос под теплый ламповый HiEnd и Lossless 24/196 но тогда надо выкидывать железо и делать совсем по другому. И заморочиться с дизайном, потому что корпус из тянутого алюминиевого профиля в хайэнде не звучит, холод металла мешает теплоте звука.

                  С чем парни и столкнулись, и к умным никак, и к красивым не пускают.


                  1. Left2
                    02.11.2021 22:26

                    Да, признаю себя ослом. Был неправ, нет у ребят никакого мегасофта - а есть, похоже, только дядя который работает на корпусной фабрике и кучу идей вида "а давайте сунем сотку баксов чуваку который на хайфай обзоры делает, пусть повертит нашу штуку 5 минут перед камерой (главное чтобы не включал, а то мало ли чо он там услышит) а потом про это напишет газета Новости Могилева", "а давайте на хабре замутим джинсу и что б никто не понял что это джинса". Суровый и беспощадный маркетинг...


  1. Sertik13 Автор
    30.10.2021 16:30

    Даже учитывая сказанное про железо URRI, создание серийного выпуска устройств, разработка прошивки, своего собственного приложения для Android, постоянная поддержка и открытый API - я считаю, что цена, заложенная в URRI вполне оправдана.


    1. dimao79
      01.11.2021 08:11

      Особенно учитывая сказанное про железо, серийный выпуск чего-либо на основе китайских модулей с Али - это не серийный выпуск, а ардуиностроение.

      Приложений для MPD или VLC, которые и играют музыку в этом устройстве - вагон и маленькая тележка.

      API и у MPD и у VLC абсолютно открыт, максимально прост и не нуждается в лишних слоях абстракций в виде скриптов для роутеров.

      Ну а у Вас даже в комментариях название устройства упоминается минимум два раза, но это не джинса и не реклама, ага.


      1. markoni
        01.11.2021 09:23

        А можно где-то увидеть реализацию ваших теоретических рассуждений с использованием MPD, VLC и прочих Asus-ов?


        1. DaemonGloom
          01.11.2021 09:33

          1. markoni
            01.11.2021 09:37

            Все эти поделки я видел, и как они работаю знаю на собственном опыте. Т.е. у вас реализации стабильно работающей системы хотя бы на 2 комнаты нет. Я, собственно, об этом.
            PS. С Aquara Hub - особенно смешно :) Уж извините.


            1. DaemonGloom
              01.11.2021 10:02

              Так про две комнаты никто ничего и не говорил. И вы в том числе.
              Акара — просто для примера, что MPD поднимают вообще везде без особых проблем.
              Вообще — это решается через https://github.com/badaix/snapcast например. Но таким я уже не развлекался, ибо нет потребности.


        1. dimao79
          02.11.2021 10:03

          Мммммм, развешивание ярлыков на незнакомых людей, это так увлекательно.

          Локация номер минус один: ASUS WL500-GPv2 + USB звуковуха + активные колонки. В связи с отъездом роутера в страну вечной охоты - пруфов не будет, да и Вам уже накидали ссылок, археологией займетесь сами.

          Локация номер один: Keenetic Viva + USB звуковуха + активные колонки. Ставится OPKG - и в путь. Затраченное время - один час.

          Локация номер два: OrangePi Zero + какой-то усилитель + корпус старого радио. Затраченное время - два дня, из них один день на выпиливание лобзиком по фанере необходимых крепежных и декоративных элементов, второй день - написание на Java гейта MPD <> MQTT с необходимыми свистоперделками в виде таймера сна, таймера пробуждения, etc.

          Еще вопросы?

          Ну а раз тут собрались не только теоретики, у меня возникает два вопроса - на что было затрачено семь человеко*лет в исходном проекте, и какие функции выполняли аж два звукорежиссера, учитывая то, что в качестве выходного усилителя мощности используется китайский однодолларовый ClassD модуль с того же Али.

          И самое удивительное то, что в данном девайсе основная проблема с китайскими одноплатниками не решена вообще никак, и имя этой проблеме - перегрев.


          1. Left2
            02.11.2021 11:44

            И самое удивительное то, что в данном девайсе основная проблема с китайскими одноплатниками не решена вообще никак, и имя этой проблеме - перегрев.

            Ну чего, если мы только играем аудио и ходим в сеть - то можно и без радиатора обойтись, вроде как жуткий перегрев зерошек пофиксили в основных осях еще года 3-4 назад


          1. markoni
            02.11.2021 12:38

            Бога ради, где вы ярлыки увидели? Никто DIY не отрицает, и роутеры как только не используют. Но все же промышленный корпус, и выпиливание лобзиком - немного разные вещи. Плюс, заточенное под задачу окружение (даже в пакетах, которые вы упоминали - есть чего настраивать), которое сможет работать не только в вашей сети, а в какой-то "сферической", неизвестной. Опять же, посмотрите на начинку Яндекс-девайсов - те же уши, вид сбоку.
            PS. Про перегрев. Имея на руках зоопарк одноплатников (Rasp, Orange, Banana, NanoPi) могу сказать - не жалейте радиаторов, пусть даже копеечных. И все нормально с температурой.


            1. Left2
              02.11.2021 22:21

              Опять же, посмотрите на начинку Яндекс-девайсов - те же уши, вид сбоку.

              У яндекс-девайсов тоже внутри выходной китайский усилок за бакс? И они продают это за 200 утверждая что это hi-fi? От же ж паразиты эти яндексоиды...


              1. markoni
                02.11.2021 22:36

                У яндекс-девайсов тоже внутри выходной китайский усилок за бакс? 

                Возможно за 2-5 баксов, не скажу точнее, т.к. свою колонку давно сплавил за ненадобностью и бесполезностью. А фото внутренностей не осталось :(


                1. Left2
                  02.11.2021 22:54

                  ну т.е. эти паразиты не стали экономить на усилке (хотя у них динамик всего один и крохотный, не надо колонки прокачивать). И цена в 200 баксов у них только за топовые модели. И своего софта в них на 3-4 порядка больше чем в URRI. Но так-то да, то же самое.


                  1. markoni
                    02.11.2021 23:08

                    И своего софта в них на 3-4 порядка больше чем в URRI.

                    Ну, давайте будем качество фотографии оценивать по количеству мегапикселей, а блюда в ресторане - по груди официантки. "Больше", равно как и "меньше" кода - слабо относятся к качеству. Я не собираюсь оценивать попытки Яндекса создать свою качественную (это ключевое) экосистему, а по схемотехнике и софту уверен вам может рассказать выступавший тут @dimao79 - как из говна и палок MPD/VLC & Orange PI / Asus сделать Яндекс-станцию.


                    1. Left2
                      02.11.2021 23:11

                      Ну т.е. Вы утверждаете что кода в URRI меньше но он кардинально лучше чем тот что есть в яндекс-станции? Или за что тогда с нас просят 200 заработанных тяжелым трудом баксов если комплектухи там дай Бог на 25?


                      1. markoni
                        02.11.2021 23:16

                        Ах, оставьте. Я ничего не утверждаю, т.к. не обладаю достаточной информацией. Я - против поверхностных суждений. А по поводу ценообразования - в статье, вроде как, указаны данные разработчиков. Вы вполне можете поинтересоваться у них. Конечно, я могу придумать вам свою историю, но это будет неправдой :)


                      1. Left2
                        02.11.2021 23:25

                        Я тоже против поверхностных суждений. Поэтому бегло попытался посмотреть отзывы и обзоры на технику URRI. Удивительно - но не нашел не только восторженных обзоров вида "ну надо же - отлично звучит даже не глядя на то что внутри такой фуфловый усилок" - не нашел вообще ничего. А автор статьи приводит ссылочку на газету "Новости Могилева" которая перепевает отзывы какого-то блоггера, повертевшего эту штуку в руках и даже ее не включавшего (без ссылки на само видео от блоггера, ессесно). Ребята, если вы это купили за 200 баксов, восхитились качеством и теперь рвете рубаху на груди обвиняя тех кто говорит "ну не может ЭТО звучать нормально" в том что они сами вжисть ничего подобного не сделали и сделать не смогут - нууу... Вы наверное просто очень объективны, беспристрастны и верите в то что где-то там единороги какают радугами, у нас же нет доказательств обратного, правда?


                      1. markoni
                        02.11.2021 23:29

                        По поводу своих (не) утверждений - я вам написал. А с вопросами "веры" - это к церкви.


                    1. dimao79
                      03.11.2021 08:44

                      Подменять понятия - это неплохой ход, но нет. Не стоит путать экосистему, одним из компонентов которой является ресивер или колонка и, собственно, ресивер / колонку без какой либо экосистемы, которая сама по себе.

                      По схемотехнике и софту разобрали, перейдем к мобильному приложению, так вот оно банально не работает. То есть - совсем не работает, вообще.

                      Что ж, я парней сильно переоценил, они даже не подготовились и не проверили ключевые компоненты своего изделия перед отправкой джинсы в прод.

                      На этом, думаю, обсуждение данной джинсы можно закончить ( потому что само устройство обсуждать нет смысла, там все банально) .

                      Это, конечно, не наклеивание наклеек белорусского "Интеграла" на импортные мониторы, это следующий шаг, но суть примерно та же.


                      1. markoni
                        03.11.2021 09:54

                        Разговор переходит в плоскость "ниочем". У меня обсуждаемого устройства на руках нет, например. Не знаю, есть ли у вас. Если бы железка лежала под рукой - можно было бы продолжить обсуждение плюсов и минусов. А с наклейками - во всем мире, как в анекдоте про таможенника и "зеленый горошек". Возьмите ту же историю с батарейками в Тесла первых еще поколений, когда от именитых брендов на них был только штампик. Я утрирую, но суть такова.


          1. frozzzen
            04.12.2021 11:15

            по факту 50С, редко больше. это с алюминиевым радиатором площадью несколько квадратных сантиметров.


      1. Sertik13 Автор
        01.11.2021 09:27

        Да, dimao79, видимо статья не даёт Вам покоя. Вероятно Вам самому в течение 10 лет так и не удалось наладить серийное производство сетевых ресиверов с помощью ASUS, MPD и VLC ... поэтому чужой успех (я имею ввиду белорусских ребят) Вас так заедает. Статья то посвящена не ресиверу как таковому, а интеграции его с РоутерОС Микротик. Напоследок Вам скажу: когда научитесь писать скрипты для Микротик, тогда сигнализируйте ... Если у Вас есть комментарии по поводу скриптов - тогда пожалуйста, пишите, вот тогда и поглядим какой Вы спец. Также милости просим вот сюда https://forummikrotik.ru/ там много различных моих работ по скриптам Микротик за разные годы (как ни странно для Вас, не оплачиваемых никем, в том числе самой компанией, а распространяемых бесплатно). Странно, что Вы никак не поймёте, что я не собирался писать ничего на других языках и мне не нужны API VLC или MPD.


  1. Sertik13 Автор
    01.11.2021 10:10

    "На отлично оценил разработку могилевчан и Михаил Борзенков — эксперт от России в EISA (ассоциации европейских журналов, освещающих аудио- и видеотехнику). А заключительным аккордом стал сертификат соответствия Евразийского экономического союза."

    https://mogilevnews.by/news/12-04-2021-11-58/71246


    1. Left2
      02.11.2021 21:55

      Подождите, а с чего Вы взяли что он оценил на отлично? Он в каком-то видео его показал где-то минут 5, даже не включал, отзывы были "как-то играет если подключить колонки", и похоже единственное что его действительно восхитило - это то что он сделан в Могилеве. Или почему Вы даете ссылку на новости Могилева а не на сам обзор некого Борзенкова?


  1. Sertik13 Автор
    08.11.2021 12:20

    Почитал тут комментарии ... больше половины не понимаю о чём они вообще ...

    1. Название статьи указывает что на первом месте стоит роутер Микротик и его интеграция с URRI ресивером, а не наоборот, поэтому я ожидал больше отзывов о библиотеке скриптов, чем об URRI как таковом (ведь я к его созданию не имею отношения). Ещё раз повторюсь - моей задачей было написание скриптов для Микротик, способных управлять работой ресивера.

    2. Многие тут обсуждали "начинку" ресивера - с этими комментариями я не могу поспорить или как-то на них отозваться, я этого железе не знаю, я занимаюсь исключительно написанием скриптов для РоутерОС Микротик и пишу их для любого "железа", которое понимает http get/post запросы. Купив URRI и взяв бесплатно мою библиотеку скриптов, пользователь может достаточно легко озвучить события в сети или то что ему нужно озвучить. То, что это можно сделать на других роутерах - вероятно конечно можно, спасибо тем, кто эти примеры привел, но статья то не об этом.

    3. Ещё раз уточню, что в статье нет рекламы ни роутеров Микротик (думаю в рекламе такого вида Микротик вообще не нуждается) ни ресивера. Освещение истории его создания в статье показалось мне интересным, учитывая что европейских аналогов в принципе нет.

    4. Не понимаю, у кого не работает приложение AVS play - работает и неплохо, проверено на разных устройствах. Может у того, кто пробовал слишком старый смартфон/планшет или старая версия Android ?

    5. В любом случае, учитывая количество отзывов и развернувшуюся палемику, видимо, можно считать, что тема была интересна, всем спасибо. Сами Ваши отзывы по сути и есть невидимая реклама ! "но не я это предложил".


    1. Left2
      13.11.2021 19:02

      Вы мягко говоря лукавите. Потому что предыдущий Ваш комментарий - про "Михаил Борзенков оценил на отлично" - это именно что попытка обмануть наивных пользователей и таки втюхать им этот URRI. Иначе с чего бы давать ссылку на абсолютно непрофильный сайт а не прямо на "обзор" Борзенкова (он гуглится в пол-пинка и там прекрасно видно что он его даже не включал и звучание не оценивал)? А других обзоров, кстати, просто нет. Вообще никаких. Только от создателей (без включения, опять же) и Борзенкова. И чем это пахнет? Да элементарным кидаловом - "напишем на нем Hi-Fi, авось какой-нить лошара поведется и купит".


  1. Sertik13 Автор
    14.11.2021 17:29

    Покупают не только лошары ... Я собираюсь прикупить ещё парочку, чтобы сделать себе мультирум. Мне лично устройство очень нравится и у меня нет задачи его кому-то "втюхать". У других может быть своё мнение, решений для озвучки может быть масса.


    1. Left2
      15.11.2021 06:44

      Ну и слава Богу что среди покупателей девайса есть один нелох. Это существенно расширит базу покупателей, процентов на 20. Но вот то что задачи его втюхать у Вас нет - не верится, уж очень упорно Вы уходите от прямых вопросов по сути и отвечая формулировками "а мне нравится". Ну да дело Ваше.