Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Новинка
Распродажа
Новости
Доставка
Оплата
Загрузки
  • Прошивки
    • WinBox
    • RouterOS
    • Мобильные приложения MikroTik
    • Архив
  • RouterOS
  • Мобильные приложения MikroTik
  • Архив
Форум
Настройка
    info@mikrotik.moscow
    +7 495 320-55-52
    Заказать звонок
    Mikrotik.moscow
    Каталог
    • Акции
      Акции
    • Маршрутизаторы
      Маршрутизаторы
    • Коммутаторы
      Коммутаторы
    • Радиомосты и уличные точки доступа
      Радиомосты и уличные точки доступа
    • Wi-Fi для дома и офиса
      Wi-Fi для дома и офиса
    • LTE/5G
      LTE/5G
    • Powerline адаптеры
      Powerline адаптеры
    • IoT устройства
      IoT устройства
    • Оборудование 60 ГГц
      Оборудование 60 ГГц
    • Материнские платы RouterBOARD
      Материнские платы RouterBOARD
    • Корпуса
      Корпуса
    • Интерфейсы
      Интерфейсы
    • SFP/QSFP трансиверы
      SFP/QSFP трансиверы
    • Аксессуары
      Аксессуары
    • Антенны
      Антенны
    • Архив
      Архив
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Скачать WinBox Скачать Прошивки Форум > RouterOS Форум > SwOS Форум > Железо
    Mikrotik.moscow
    Каталог
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Mikrotik.moscow
    Телефоны
    +7 495 320-55-52
    Заказать звонок
    0
    0
    0
    Mikrotik.moscow
    • +7 495 320-55-52
      • Назад
      • Телефоны
      • +7 495 320-55-52
      • Заказать звонок
    • info@mikrotik.moscow
    • г. Москва, ул. Бакунинская, 84
    • Пн-Пт: 09-00 до 18-00
      Сб-Вс: выходной


    • Кабинет
    • 0 Сравнение
    • 0 Избранное
    • 0 Корзина
    Главная
    Форум
    Форум
    RouterOS
    Использование Wifi или User led для отображения уровня сигнала

    Использование Wifi или User led для отображения уровня сигнала

    Форумы: RouterOS, Аппаратное обеспечение, SwOS, Обратная связь, Объявления, Сторонние инструменты
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    Использование Wifi или User led для отображения уровня сигнала, RouterOS
     
    Jotne
    Guest
    #1
    0
    28.11.2018 13:20:00
    У меня есть несколько роутеров, которые используются в качестве репитеров (wifi в ethernet). Чтобы видеть уровень сигнала без необходимости заходить в веб-интерфейс или winbox, я сделал скрипт. Он проверяет уровень сигнала на первом Wi-Fi клиенте и мигает светодиодом, показывая силу сигнала. Меньше миганий — лучше, чем много, например: -30 dBm = 3 мигания, -63 dBm = 6 миганий. Последнее мигание длиннее, чтобы показать, что это конец.

    Скрипт должен работать постоянно или до тех пор, пока вы не измените глобальную переменную runLoop на false. Но в нём есть некоторые баги. Если я запускаю скрипт с подключённым клиентом, он работает нормально. Отключаю клиента — миганий нет. Но если включить клиента снова, миганий не появляется. Если выполнить команду /interface wireless registration-table print stats, то скрипт снова начинает работать.

    Буду рад любым предложениям:

    global runLoop true
    :do {
    :do {
    :local a [/interface wireless registration-table get value-name=signal-strength 0]
    :local loop ([:pick ([:pick $a 0 [:find $a "dBm"]]/10) 1]-0)
    :if ([:len $a] = 0) do={
    } else={
    :for e from 1 to $loop do={
    /system leds set [find where leds="wlan-led"] type=off
    :delay 500ms
    /system leds set [find where leds="wlan-led"] type=on
    :delay 500ms
    }
    }
    :delay 1s
    /system leds set [find where leds="wlan-led"] type=off
    :delay 2s
    } on-error={}
    } while=($runLoop)

    Чтобы запустить через терминал, добавьте { } в начале и конце скрипта и скопируйте его в роутер.
     
     
     
    eworm
    Guest
    #2
    0
    13.12.2018 23:23:00
    Никогда и ни в коем случае не используйте индекс элемента в скриптах! Как насчёт этого? [...]
    : local a [/interface wireless registration-table get value-name=signal-strength [ :pick [ find ] 0 ] ]
    [...] Или же используйте реальное условие, если оно доступно. [...]
    : local a [/interface wireless registration-table get value-name=signal-strength [ find where mac-address=00:11:22:33:44:55 ] ]
    [...]
     
     
     
    Jotne
    Guest
    #3
    0
    14.12.2018 06:24:00
    Я проверю это, но тебе всё равно придётся вручную найти MAC-адрес ссылки и отредактировать скрипт.
     
     
     
    eworm
    Guest
    #4
    0
    14.12.2018 06:32:00
    Если MAC-адрес меняется, потому что клиент не всегда один и тот же, используйте мой первый фрагмент кода.
     
     
     
    pe1chl
    Guest
    #5
    0
    11.08.2019 08:58:00
    Разве такой скрипт не вызывает большого количества записей во флеш, потому что каждая команда типа ‘/system leds set [find where leds=“wlan-led” ] type=’ не просто меняет состояние светодиода, но и сохраняется как новое состояние конфигурации, которое должно сохраняться после перезагрузки? Когда так мигаешь светодиодом, это может изнашивать флеш-память. Должна же быть какая-то команда для управления светодиодом, которая не входит в конфигурацию...
     
     
     
    Jotne
    Guest
    #6
    0
    11.08.2019 09:06:00
    Я об этом не думал, но понимаю, что это не самое лучшее решение, если так дело обстоит. Возможно, кто-то из MT сможет ответить на этот вопрос.
     
     
     
    pe1chl
    Guest
    #7
    0
    11.08.2019 10:59:00
    Думаю, стоило бы добавить новый тип управления светодиодом, например type=soft или что-то в этом роде, когда светодиод контролируется командой из софта или скрипта, которая может включать или отключать его (а может даже отправлять запрограммированную последовательность мигания), но при этом это не сохраняется в конфигурации. В конфигурации хранится только type=soft, а дальше можно сделать что-то вроде:  
    /system leds control [find where leds=“wlan-led”] on
    /system leds control [find where leds=“wlan-led”] off
    /system leds control [find where leds=“wlan-led”] blink
    /system leds control [find where leds=“wlan-led”] pattern=“…-”

    Эта команда “control” управляет светодиодом только с момента её выполнения на работающем роутере (обычно из скрипта), но не сохраняется во flash.
     
     
     
    Jotne
    Guest
    #8
    0
    19.08.2019 05:27:00
    Согласен. Надеюсь, MT прочитает этот пост и добавит его в свой поезд.
     
     
     
    Страницы: 1
    Читают тему
    +7 495 320-55-52
    info@mikrotik.moscow
    Электрозаводская, Бауманская
    Москва, ул. Бакунинская, 84с21
    Конфиденциальность Оферта
    © 2026 «Mikrotik.Moscow»
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры