
Ребут IPTV-приставки посредством микротик. Умная розетка. Максимальное значение переменной?
Правила форума
Уважаемые Пользователи форума, обратите внимание!
Ни при каких обстоятельствах, Администрация форума, не несёт ответственности за какой-либо, прямой или косвенный, ущерб причиненный в результате использования материалов, взятых на этом Сайте или на любом другом сайте, на который имеется гиперссылка с данного Сайта. Возникновение неисправностей, потерю программ или данных в Ваших устройствах, даже если Администрация будет явно поставлена в известность о возможности такого ущерба.
Просим Вас быть предельно осторожными и внимательными, в использовании материалов раздела. Учитывать не только Ваши пожелания, но и границы возможностей вашего оборудования.
Уважаемые Пользователи форума, обратите внимание!
Ни при каких обстоятельствах, Администрация форума, не несёт ответственности за какой-либо, прямой или косвенный, ущерб причиненный в результате использования материалов, взятых на этом Сайте или на любом другом сайте, на который имеется гиперссылка с данного Сайта. Возникновение неисправностей, потерю программ или данных в Ваших устройствах, даже если Администрация будет явно поставлена в известность о возможности такого ущерба.
Просим Вас быть предельно осторожными и внимательными, в использовании материалов раздела. Учитывать не только Ваши пожелания, но и границы возможностей вашего оборудования.
-
- Сообщения: 1657
- Зарегистрирован: 15 сен 2017, 09:03
То есть ?
фрагменты скриптов, готовые работы, статьи, полезные приемы, ссылки
viewtopic.php?f=14&t=13947
viewtopic.php?f=14&t=13947
- Virtue
- Сообщения: 148
- Зарегистрирован: 07 мар 2014, 10:17
насколько я понял в микротиках используется язык lua, всё что я смог накопать из этого языка для своей задачи - это математическая функция
math.max(x, ...) которая выводит максимальный из аргументов, но когда я стал пробовать ее в микротике, у меня ничего не вышло, походу он ее не понимает
-
- Сообщения: 1657
- Зарегистрирован: 15 сен 2017, 09:03
Микротик настоящий язык Lua не понимает. У него урезанный Lua со своим синтаксисом под свои нужды. А что у Вас за задача то такая хитрая ? Зачем максимальное значение переменной в Микротике ?
фрагменты скриптов, готовые работы, статьи, полезные приемы, ссылки
viewtopic.php?f=14&t=13947
viewtopic.php?f=14&t=13947
- Virtue
- Сообщения: 148
- Зарегистрирован: 07 мар 2014, 10:17
задачу я, кстате говоря, решил буквально вчера ночью

могу конечно рассказать, но придется тогда с самого начала .. в общем:
у меня на работе стоит IP-tv приставка которая тарабанит и днем и ночью, но бывает иногда она зависает, и чтобы не мотаться к ней, а удаленно перезагружать ее, я собрал схему из 24вольтового реле и порта Poe-out на микротик. Сначала перезагружал ее удаленно вручную, а теперь вот написал скриптик проверки трафика на эту приставку и перезагрузки ее автоматически. Собственно для этого скрипта мне нужна была переменная с максимальным размером трафика в промежутке времени, чтобы понять работает приставка или зависла.
-
- Сообщения: 1657
- Зарегистрирован: 15 сен 2017, 09:03
Модель реле, модель микротика и скрипт в студию ! Автору респект будет если всё хорошо. 

фрагменты скриптов, готовые работы, статьи, полезные приемы, ссылки
viewtopic.php?f=14&t=13947
viewtopic.php?f=14&t=13947
- Virtue
- Сообщения: 148
- Зарегистрирован: 07 мар 2014, 10:17

Микрот RB951Ui-2HnD собственно подойдет и любой другой с портом Poe-out.

Реле типа my2-ns 24v dc опять же, подойдет любое реле 24 вольта (так как у приставки нагрузка маленькая).
Для соединения реле с микротом использовал обычный UTP кабель, с одного конца просто обжатый RG45, а на другом выдернул синюю и коричневую пары и подключил их к реле так, чтобы при подаче питания на реле контакты размыкались и питание на приставку прекращалось.
При написании скрипта обошелся без той злощастной переменной максимального значения и конструировал код исходя из того-что знаю, в итоге сделал:
Script1: name="proverka_tv" Скрипт проверки трафика на приставке (команды сокращены, но так, чтобы микрот их понимал):
Код: Выделить всё
# задаём "планку" для трафика в битах
:global a 3000000;
# объявляем переменную "b" (сюда будут сниматься показания tx трафика в момент проверки)
:global b;
# "c"= 0 (обновляемый счётчик удачных проверок (далее: щ.у.п.))
:global c 0;
# объявляем "d" (счётчик неудачных тестов (далее: с.н.т.) для активации перезагрузки)
:global d;
# задаем цикл проверок (решил сделать 10 проверок с интервалом 1 сек, т.к. приставка подгружает трафик порциями примерно раз в 10 сек)
:for x from=1 to=10 do={
/interface monitor-traffic ether5_TV once do={
:global b $("tx-bits-per-second")};
# если трафик превышает планку - то всё норм, в щ.у.п. пишем +1
if ($a < $b) do={
:global c ($c+1)};
:delay 1;};
# если щ.у.п. не равен 0, то всё ок, в с.н.т. пишем 0, в противном случае +1
if ($c!=0) do={
:global d 0} else={
:global d ($d+1);
# при с.н.т. ниже 3 повторяем тест, в противном случае вносим запись в лог и ребутаем приставку
if ($d<3) do={
:delay 10;
/sy scr ru proverka_tv} else={
:l w message=reboot_TV;
/sy scr ru reboot_TV}};
Код: Выделить всё
/in et po s poe-out=forced-on numbers=ether5_TV
:delay 10
/in et po s poe-out=off numbers=ether5_TV
Код: Выделить всё
:delay 60;
/sy scr ru proverka_tv

-
- Сообщения: 1657
- Зарегистрирован: 15 сен 2017, 09:03
Не уверен ... Может Вы и правы. НО, Мы тут пытались делать такую штуку (можно на этом форуме найти длиннющую тему), которая Вам удалась, но из-за того, что в части роутербордов компания Микротик сделала новую проверку в poe-out на короткое замыкание, у меня реле включались, но отключались обратно, т.к. Микротик обнаруживал короткое замыкание на POE-порту. Ребята предлагали разные решения, но нужно было что-то паять на коленке, а это не эстетично и с паяльником я не дружу совсем ...Микрот RB951Ui-2HnD собственно подойдет и любой другой с портом Poe-out.

Либо у Вас реле "хитрое", которое позволяет эту проверку обмануть (типа оно с диодным мостом). Я не инженер, могу не правильно объяснить, меня тут поправят за терминологию, но суть такая ...
Реле, понятно, нужно использовать с тем же управляющим напряжением, которое выдает poe-out конкретного Микротика, а оно выдает то напряжение, которым микротик питают (ведь блок питания Микрота даже стандартный может быть 12, 24 и 48 Вольт). У Вас видимо блок 24В и реле потому такое-же.
Надо будет посмотреть что Вы за реле использовали ... и попробовать.
Скрипт можно написать поизящнее, но главное, что у Вас получилось с реле ... СПАСИБО !

фрагменты скриптов, готовые работы, статьи, полезные приемы, ссылки
viewtopic.php?f=14&t=13947
viewtopic.php?f=14&t=13947
-
- Сообщения: 1485
- Зарегистрирован: 23 ноя 2018, 11:08
- Откуда: Харкiв
Если чисто для ребута то реле можно вешать на USB порт
1-е Правило WiFi - Везде где только можно откажитесь от WiFi!
2-е Правило WiFi -Устройство, которое пользователь не носит с собой постоянно, должно подключаться кабелем!!
Микротики есть разные: черные, белые, красные. Но все равно хочется над чем нибудь заморочится.
2-е Правило WiFi -Устройство, которое пользователь не носит с собой постоянно, должно подключаться кабелем!!
Микротики есть разные: черные, белые, красные. Но все равно хочется над чем нибудь заморочится.
-
- Сообщения: 1995
- Зарегистрирован: 09 июл 2014, 12:33
Тут задача другая. Разорвать питание.Sertik писал(а): ↑19 фев 2020, 00:05Не уверен ... Может Вы и правы. НО, Мы тут пытались делать такую штуку (можно на этом форуме найти длиннющую тему), которая Вам удалась, но из-за того, что в части роутербордов компания Микротик сделала новую проверку в poe-out на короткое замыкание, у меня реле включались, но отключались обратно, т.к. Микротик обнаруживал короткое замыкание на POE-порту.Микрот RB951Ui-2HnD собственно подойдет и любой другой с портом Poe-out.
Реле нормально замкнутое. Т.е. когда на катушке тока нет, контакты замкнуты, и приставка питается.
Когда она зависла, на катушку подается питание - контакты размыкаются, питание приставки отключается.
Потом питание снимается - контакты замыкаются обратно, и приставка включается.
И все равно, кто выключит катушку. Скрипт, или проверка микротика на кз.