Подмечено, что используя консоль в Mikrotik Routerboard, при изменении частоты для беспроводного интерфейса, часто забывают, какие значения можно вводить. Поэтому вместо написаного на листочке бумаги списка частот на мониторе, лучше написать скрипт подсказку. Кроме того, в результате работы скрипта будет получена готовая консольная команда для изменения частоты.
Скрипт будет состоять из двух файлов: index.php и form.php.
-
index.php– основной код;
-
form.php– форма для выбора необходимых параметров.
Содержание файла form.php:
<form action="#" method='post' enctype='multipart/form-data'>
<p>Выбираем беспроводной интерфейс</p>
<p><select name="select_interface">
<option value="wlan1"> wlan1 </option>
<option value="wlan2"> wlan2 </option>
<option value="wlan3"> wlan3 </option>
<option value="wlan4"> wlan4 </option>
<option value="wlan5"> wlan5 </option>
</select></p>
<p>Выбираем частоту</p>
<p><select name="select_frequency">
<option value="2412"> 2412 </option>
<option value="2417"> 2417 </option>
<option value="2422"> 2422 </option>
<option value="2427"> 2427 </option>
<option value="2432"> 2432 </option>
<option value="2437"> 2437 </option>
<option value="2442"> 2442 </option>
<option value="2447"> 2447 </option>
<option value="2452"> 2452 </option>
<option value="2457"> 2457 </option>
<option value="2462"> 2462 </option>
</select></p>
<p><input type="submit" value="Отправить" /></p>
</form>
Думаю, нет смысла подробно описывать данный файл. Стандартная html форма отправки данных. Использует метод POST и содержит два тега select для выбора беспроводного интерфейса и частоты.
Содержание файла index.php:
<html xmlns="https://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1251" />
<meta name="author" content="Рудченко Евгений" />
<title> Выбор частоты </title>
</head>
<body>
<?php
$frequency = array("2412", "2417", "2422", "2427", "2432", "2437", "2442", "2447", "2452", "2457", "2462");
$interfaces = array("wlan1", "wlan2", "wlan3", "wlan4", "wlan5");
$action = "/in wi set frequency=%s [find name=%s]";
if (isset($_POST['select_interface'])) { $select_interface = $_POST['select_interface']; if ($select_interface == '') { unset($select_interface);} }
if (isset($_POST['select_frequency'])) { $select_frequency = $_POST['select_frequency']; if ($select_frequency == '') { unset($select_frequency);} }
if (empty($select_interface) AND empty ($select_frequency))
{
require_once('form.php');
}
else
{
echo sprintf($action, $select_frequency, $select_interface);
}
?>
</body>
</html>
Пояснения к index.php:
$frequency = array("2412", "2417", "2422", "2427", "2432", "2437", "2442", "2447", "2452", "2457", "2462"); - создаём массив со значением частот.
$interfaces = array("wlan1", "wlan2", "wlan3", "wlan4", "wlan5"); - массив со списком беспроводных интерфейсов в Mikrotik Routerboard. При необходимости их можно изменить на собственные значения.
$action = "/in wi set frequency=%s [find name=%s]"; - консольная команда изменения частоты для беспроводного интерфейса. Вместо %s будет подставлено значение выбранной частоты и имени беспроводного интерфейса.
Принимаем данные из формы и помещаем в переменные $select_interface и $select_frequency.
if (isset($_POST['select_interface'])) { $select_interface = $_POST['select_interface']; if ($select_interface == '') { unset($select_interface);} }
if (isset($_POST['select_frequency'])) { $select_frequency = $_POST['select_frequency']; if ($select_frequency == '') { unset($select_frequency);} }
if (empty($select_interface) AND empty ($select_frequency)) – проверка, установлены ли переменные $select_interface и $select_frequency.
Если не установлены - подгружаем форму выбора значений:
require_once('form.php');
Если переменные определены, выводим на экран переменную action, предварительно подставив в нее значения переменных $select_frequency и $select_interface при помощи функции sprintf().
echo sprintf($action, $select_frequency, $select_interface);
Проверка работоспособности:
Рис.1. Форма для выбора частоты и интерфейса.
Рис.2. Результат работы скрипта.
Рис.3. Mikrotik Routerboard, исходное значение частоты.
В Mikrotik Routerboard перейдём в раздел /interface wireless и выполним команду print. Как видно на рис.3., беспроводному устройству присвоена частота 2417.
Рис.4. Mikrotik Routerboard, изменённое значение частоты.
Выполнив консольную команду в Mikrotik Routerboard, можно увидеть, что частота была успешно изменена.
Евгений Рудченко специально для ASP24.