Страница 1 из 2

On-start скрипт выбора WI-FI, прошу помощи.

Добавлено: 12 окт 2019, 07:23
Yaroslav.Cherkunov
Добрый день.
Имеется два микротика МТ1 (951G-HnD) и МТ2 (941-2nD)
К МТ1 подключен интернет от провайдера по WAN, на нем же поднимается wifi точка доступа и фаервол. В бридж объединены WLAN и оставшиеся LAN порты.
МТ2 настроен как клиент wifi сетки первого микрота и раздает сеть по LAN. По сути "радиоудлинитель".
В зоне действия обоих МТ есть некое WIFI устройство, которое при включении сканирует эфир на предмет наличия прописанной в нем wwifi сетки и подключается к ней как клиент. Если прописанная сеть нндоступна, то устройство поднимает собственную точку доступа с примитивным веб-сервером.
Проблема в том, что после отключения электричества (бывает довольно часто) это устройство успевает загрузиться быстрее микротиков и, соответственно, не видя сетки для подключения, успевает поднять свою сеть. Поэтому приходится в ручном режиме подключаться к его АР, заходить на вебморду и давать команду на перезагрузку.
Возникла мысль как-то автоматизировать этот процесс.
Видится два варианта
А) после загрузки микротов нужно подключиться к АР устройства, послать команду скажем через fetch на перезагрузку и потом уже поднимать свою собственную АР.
Б) Во время работы системы по какому-то расписанию проверять наличие доступной wifi быстрого устройства, если она есть, то подключаться, кидать команду на перезагрузку и обратно поднимать свою сетку.
Подскажите пожалуйста как можно реализовать один из этих вариантов.

Re: On-start скрипт выбора WI-FI, прошу помощи.

Добавлено: 21 окт 2019, 05:32
vqd
А зачем сто то писать? не ну правда. Возьмите да поставьте источник. По своему опыту могу сказать что источник на 24В и с 7А батарейками спокойно держит пяток устройств в течении 11 - 12 часов и при этом цена вопроса в пределах 5000 - 5500р.

Re: On-start скрипт выбора WI-FI, прошу помощи.

Добавлено: 06 ноя 2019, 22:29
Yaroslav.Cherkunov
vqd писал(а): 21 окт 2019, 05:32 А зачем сто то писать? не ну правда. Возьмите да поставьте источник. По своему опыту могу сказать что источник на 24В и с 7А батарейками спокойно держит пяток устройств в течении 11 - 12 часов и при этом цена вопроса в пределах 5000 - 5500р.
Простите, а при чем тут 24В?
Я бы понял и принял ваш совет в случае какой-то избыточной сложности скриптового решения, однако это же не так.
Ну и вопросом на вопрос: а зачем тратить 5000р и присовокуплять какое-то дополнительное устройство, которое к тому же на 100% вопрос не решит?

Re: On-start скрипт выбора WI-FI, прошу помощи.

Добавлено: 07 ноя 2019, 19:24
podarok66
Видится несколько вопросов:
* С какого праздника вы решили, что fetch предназначен для перезагрузки удалённых устройств? Я конечно могу ошибаться, но дайте мне хоть один пример, когда через fetch дают команду на перезагрузку. Я просто хочу знать этот вариант. Мне реально интересно...
* Почему настолько тайной является марка "некого устройства"?
* Предлагаю изменить подход и заставить заниматься мониторингом "некое устройство" Пусть смотрит за сетью и в случае совпадения определённых признаков принимает тот или иной вариант работы. Так намного проще, как мне кажется.

Re: On-start скрипт выбора WI-FI, прошу помощи.

Добавлено: 07 ноя 2019, 20:08
Ca6ko
Неким устройством может быть, например SD wifi карта памяти, или другие устройства с аналогичным принципом действия.
Которая если в течение определенного времени не смогла подключится клиентом к прописанной сети, поднимает свою сеть чтобы была возможность к ней подключится.
Самый простой, по моему, способ запитать устройство с помощью USB порта 951. Который можно дергать командой.

Re: On-start скрипт выбора WI-FI, прошу помощи.

Добавлено: 08 ноя 2019, 20:29
Yaroslav.Cherkunov
podarok66 писал(а): 07 ноя 2019, 19:24 Видится несколько вопросов:
* С какого праздника вы решили, что fetch предназначен для перезагрузки удалённых устройств? Я конечно могу ошибаться, но дайте мне хоть один пример, когда через fetch дают команду на перезагрузку. Я просто хочу знать этот вариант. Мне реально интересно...
Так как на устройстве поднят вебсервер и в этом вебсервере присутствует кнопачка "Перезагрузить", а по нажатию на кнопачку браузер делает не что иное как отправку GET запроса, который обрабатывается устройством, то извольте команду терминала микротика, по которой устройство совершенно без проблем перезагружается:

Код: Выделить всё

/tool fetch url="http://192.168.4.1/restart\?device=ok"
Такой вот незамысловатый праздник. Имейте в виду, что данная команда вам скорее всего не подойдет для перезагрузки утюга или иного известного устройства.
podarok66 писал(а): 07 ноя 2019, 19:24 * Почему настолько тайной является марка "некого устройства"?
Совершенно не тайна. Устройство не серийное, изготовлено в единственном экземпляре на базе ESP8266.
В постановке вопроса данная информация являлась избыточной. На решение она не влияет.
podarok66 писал(а): 07 ноя 2019, 19:24 * Предлагаю изменить подход и заставить заниматься мониторингом "некое устройство" Пусть смотрит за сетью и в случае совпадения определённых признаков принимает тот или иной вариант работы. Так намного проще, как мне кажется.
Спасибо за предложение, но оно не подходит в силу ряда обстоятельств:
а) трудозатраты на перепрошивку устройства выше, чем в скриптовом варианте
б) устройство уже смотрит за сетью и в случае совпадения определенных признаков принимает тот или иной вариант работы.
После загрузки происходят попытки коннекта к сети, если попытки исчерпаны и коннект не случился, то оно поднимает свою точку для возможности хоть как-то к нему подключиться.

Re: On-start скрипт выбора WI-FI, прошу помощи.

Добавлено: 08 ноя 2019, 20:33
Yaroslav.Cherkunov
Ca6ko писал(а): 07 ноя 2019, 20:08 Неким устройством может быть, например SD wifi карта памяти, или другие устройства с аналогичным принципом действия.
Которая если в течение определенного времени не смогла подключится клиентом к прописанной сети, поднимает свою сеть чтобы была возможность к ней подключится.
Совершенно верно, алгоритм работы устройства именно такой.
Ca6ko писал(а): 07 ноя 2019, 20:08 Самый простой, по моему, способ запитать устройство с помощью USB порта 951. Который можно дергать командой.
а) Устройство физически расположено далеко от 951.
б) USB порт 951 занят свистком модема резервного интернета.

Re: On-start скрипт выбора WI-FI, прошу помощи.

Добавлено: 08 ноя 2019, 21:33
Sertik
Если после того, как Ваше суперустройство подняло свою wifi-сеть, оно всё равно подключается как клиент к wifi позже загружающегося Микротика, то я проблем не вижу решить Ваш вопрос.
А вот если оно загрузившись раньше и подняв свою wifi-сеть уже не может быть клиентом Микротика (т.к. wifi-контроллер устройства уже используется) то как простите Микротик даст ему команду /fetch на перезагрузку ?

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

Re: On-start скрипт выбора WI-FI, прошу помощи.

Добавлено: 08 ноя 2019, 21:57
Yaroslav.Cherkunov
Sertik писал(а): 08 ноя 2019, 21:33 Если после того, как Ваше суперустройство подняло свою wifi-сеть, оно всё равно подключается как клиент к wifi позже загружающегося Микротика
Нет, у суперустройства один радиомодуль и оно не может одновременно быть и точкой доступа, и клиентом.
Sertik писал(а): 08 ноя 2019, 21:33 А вот если оно загрузившись раньше и подняв свою wifi-сеть уже не может быть клиентом Микротика (т.к. wifi-контроллер устройства уже используется) то как простите Микротик даст ему команду /fetch на перезагрузку ?
В обобщенном виде (без привязки к таймингам и дополнительным условиям типа расписаний и тд) видится например так:
После подачи питания и загрузки один из микротиков:
1. Подключается как клиент к точке доступа поднятой на суперустройстве
2. Будучи в одной подсети с суперустройством шлет команду на перезагрузку через fetch
3. Отключается
4. Поднимает свою домашнюю сеть (если пп 1,2,3 выполнялись на "головном" 951м микротике) или подключается к домашней сети (если пп 1,2,3 выполнялись на "ведомом" 941м микротике)

Собственно этот алгоритм был озвучен в первом посте.
Sertik писал(а): 08 ноя 2019, 21:33 Не проще поставить на питание загадочного устройства таймер задержки на включение секунд на 10, чтобы Микротик успел загрузиться раньше него ?
Посоветуете конкретную модель такого таймера?
Блок питания на 24В уже советовали. За 5000 :-) :-)

Re: On-start скрипт выбора WI-FI, прошу помощи.

Добавлено: 08 ноя 2019, 22:54
podarok66
Спасибо за разъяснение, стало немного понятнее. Вот смотрите конструкцию. У вас для получения адреса от "некого устройства" должен быть включен DHCP-client. Он подвязан к какому-то интерфейсу, скорее всего wlan1. После рестарта Микротика через пару минут должен стартовать скрипт с такой вот логикой. Начинку можно написать какую душа просит. Нам логику понять сначала:

Код: Выделить всё

{:if ([/ip address get [find interface=wlan1] address ] ~ "10.202.*") do={:put "Yes!"} else={:put "No!"}}
Скрипт положительно реагирует на любой адрес, полученный в диапазоне 10.202.0.0/16 При обнаружении адреса будут инициированы команды, которые вы дадите вместо секции :put "Yes!"
Я верно понял ваши вопросы?