Mikrotik

Подключение исполнительных устройств, датчиков, контроллеров.

Модератор: immortal

kostya77
Сообщения: 136
Зарегистрирован: Вт ноя 12, 2013 8:29 pm
Благодарил (а): 2 раза
Поблагодарили: 8 раз

Re: Mikrotik

Сообщение kostya77 » Пт мар 13, 2015 10:47 pm

kostya77 писал(а):
Bagir писал(а):routeros_api.class.php в папку \lib\

Создаем новый сценарий:

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

$ip = gg('Mikrotik.IP');
$login = gg('Mikrotik.login');
$password = gg('Mikrotik.password');

$API = new routeros_api();
if ($API->connect($ip, $login, $password)) {

//клиенты WIFI
  $ARRAY = $API->comm('/interface/wireless/registration-table/print');
//  print_r($ARRAY);

foreach($ARRAY as $arr) {
 echo $arr['mac-address'].' ';
}
 
$API->disconnect();
echo ('ok'); 

} else { echo 'error'; }
Если успею, ночью выложу уже работающий класс с методами пришел ушел. Будем думать как его развивать. Новые устройства думаю можно сразу кодом добавлять объектами.
Я правельно понял вас
routeros_api.class.php нужно переименовать в new routeros_api.php и положить в папку \lib\ ?
я почему спрашую подробно ((
не мгу подключится ,и не пойму где бок
Усе получилось
Причина )) не внимательность )) пробелы при копирование в пароле ))
Аватара пользователя
Bagir
Сообщения: 1615
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 212 раз
Поблагодарили: 375 раз

Re: Mikrotik

Сообщение Bagir » Пт мар 13, 2015 10:48 pm

new в данном случае совсем не имя файла. Переименовывать не нужно. Файл routeros_api.class.php должен быть в папке lib. Больше ничего там делать не надо. Просто скопировать туда этот файл.
Дальше создаем новый сценарий. И в нем пишем этот код. ip, логин и пароль можно сразу подставить без распихивания их по свойствам. Я оставлю их в сценарии. Роутер то все равно один.
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
Аватара пользователя
Bagir
Сообщения: 1615
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 212 раз
Поблагодарили: 375 раз

Re: Mikrotik

Сообщение Bagir » Пт мар 13, 2015 10:48 pm

Ну это бывает. У меня с первого раза все редко заводится ))
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
Аватара пользователя
Bagir
Сообщения: 1615
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 212 раз
Поблагодарили: 375 раз

Re: Mikrotik

Сообщение Bagir » Пт мар 13, 2015 10:50 pm

Класс почти состряпал. Уже работают методы нашел и потерял. Хочу еще сделать уведомление, и добавление новых устройств сразу в объекты. Эти функции еще не изучал. Сейчас посмотрим. Через пару часиков выложу класс.
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
kostya77
Сообщения: 136
Зарегистрирован: Вт ноя 12, 2013 8:29 pm
Благодарил (а): 2 раза
Поблагодарили: 8 раз

Re: Mikrotik

Сообщение kostya77 » Сб мар 14, 2015 12:05 am

Как можно будет выполнить команду /system/reboot для микротика ?
Аватара пользователя
Bagir
Сообщения: 1615
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 212 раз
Поблагодарили: 375 раз

Re: Mikrotik

Сообщение Bagir » Сб мар 14, 2015 12:06 am

Эти api даже пока не изучал. Ковыряюсь с классом WiFi
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
Аватара пользователя
Bagir
Сообщения: 1615
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 212 раз
Поблагодарили: 375 раз

Re: Mikrotik

Сообщение Bagir » Сб мар 14, 2015 2:57 am

Все получилось! Теперь я вижу, когда ко мне приходят друзья. Точка доступа засекает их сразу на подходе к дому ))
Затея еще в стадии разработки. Надо многое продумать. Когда полностью доделаю, выложу в ветке оборудования. А пока структуру класса и скрипт смотрите в конекте!
Класс WiFiDevice
Сценарий getWiFiclients

Сценарий getWiFiclients запускается из onNewMinute. Надо бы подумать, как не завершать сессию с роутером. А то в его логах куча записей о подключении клиента.
У меня несколько микротиков делают бесшовный роуминг. Один главный, остальные ведомые. Клиентов WiFi приходится собирать из двух таблиц главного микротика путем объединения массивов.
Сценарий перебирает объекты класса WiFiDevice и ищет их MAC адрес в массиве роутера. Если находит, то запускает метод Found. Если не находит - метод Lost.
Есть встроенное уведомление по средствам SAY() в зависимости от указанного свойства notify.
Если MAC адрес находится впервые, то создается объект в классе WiFiDevice. Затем Вам будет нужно настроить его свойства name и notify.
За это сообщение автора Bagir поблагодарили (всего 2):
Amarok (Сб мар 14, 2015 9:49 am) • Anton_V (Пн май 07, 2018 10:10 pm)
Рейтинг: 2.33%
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
zverev.sv
Сообщения: 46
Зарегистрирован: Вт окт 23, 2012 3:43 am
Откуда: Южно-Сахалинск
Благодарил (а): 9 раз
Поблагодарили: 0

Re: Mikrotik

Сообщение zverev.sv » Вт май 19, 2015 6:22 pm

Bagir будьте так добры выложите пожалуйста для скачивания Ваш класс и Методы для скачивания.
Заранее большое спасибо.
zverev.sv
Сообщения: 46
Зарегистрирован: Вт окт 23, 2012 3:43 am
Откуда: Южно-Сахалинск
Благодарил (а): 9 раз
Поблагодарили: 0

Re: Mikrotik

Сообщение zverev.sv » Ср май 20, 2015 3:26 am

Спасибо, тоже заработало!
Аватара пользователя
Bagir
Сообщения: 1615
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 212 раз
Поблагодарили: 375 раз

Re: Mikrotik

Сообщение Bagir » Чт май 21, 2015 10:34 am

У меня всегда открыт коннект ))
Микротик отлично делится данными, причем ничуть не напрягаясь. Есть только нехороший момент с логами Микротика. Там куча записей об авторизации пользователя, который периодически лазает за данными. Возможно было бы лучше не рвать соединение с микротиком. Как нибудь надо будет попробовать сделать так.
Более того, если в сети несколько Микротиков (один главный, остальные ведомые), То с главного Микротика можно забирать списки всех WiFi клиентов Ведомых Микротиков. Это весьма актуально для частных домов, где один роутер не может надежно покрыть всю площадь дома и сада.
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
Ответить