вторник, 25 сентября 2018 г.

Remix

что имеем.. приставку на андройде под названием Remix
питание 5v = подключена от микротика с USB разъемом

задача, начать играть музыку, и если музыка кончилась (провайдер логанул или что то еще) - перезапустить, то есть получаем просто андройд плеер все что нужно - питание , интернет и выход на колоночки

на саму приставку прийдется поставить андройд макркет (гуглиться) после - поставить AIMP плеер (выбор плеера - так как он умеет начинать воспроизводить последний плейлист автоматом)
- поставить AutoStart работает буз рута в программке пишем что запускать автоматом, ждать скажем там секунд 10-15 можно 30 перед запуском и выбираем запускаемое приложение - AIMP

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



# сбросить количество пакетов на порт 8000
/ip firewall filter reset-counters numbers=[find where src-port="8000"]
# получить количество байт на порт 8000 счетчик
:put [/ip firewall filter get number=[find where src-port="8000"] bytes ]

тут игрался с пингом на мобилу , мол чтобы играло когда ты дома , но оказалость что через 180 секунд андройд перестает пинговаться при выключенном экране и это не работает, а было так бы интересно
 
# запрещаем трафик когда ушли
/ip firewall filter set action=drop numbers=[find where src-port="8000"]                                              
# разрешаем  трафик когда пришли
/ip firewall filter set action=accept numbers=[find where src-port="8000"]



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

 /system script
add dont-require-permissions=yes name=script1 owner=filalex policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon source=":local oldByte [/ip firewall filter get number=[find where src-port=\"8000\"] bytes ];\r\
    \n:delay 5\r\
    \n:local newByte [/ip firewall filter get number=[find where src-port=\"8000\"] bytes ];\r\
    \n\r\
    \n:if (\$newByte = \$oldByte) do={\r\
    \n/system routerboard usb power-reset duration=30s\r\
    \n}"

scheduler время подбираем с запасом чтобы девайс загрулился и начал играть 

/system scheduler
add disabled=yes interval=5m10s name=schedule1 on-event="/system script run script1" policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive start-date=jul/14/2016 start-time=05:52:22







в файрволе должо быть правило и оно должно быть выше дропов

 /ip firewall filter
add action=accept chain=forward dst-address=192.168.88.16 protocol=tcp src-address=144.76.96.181 src-port=8000

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