Mikrotik

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

Модератор: immortal

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

Re: Mikrotik

Сообщение Bagir »

Если домой приеду не к ночи, то обязательно займусь.
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
Аватара пользователя
Amarok
Сообщения: 1434
Зарегистрирован: Пт дек 14, 2012 12:24 pm
Откуда: Россия, Нижняя Тура
Контактная информация:

Re: Mikrotik

Сообщение Amarok »

Bagir писал(а):Если домой приеду не к ночи, то обязательно займусь.
А я не тороплюсь)
Моя Алиска живёт на Proxmox в Debian 12
Аватара пользователя
Bagir
Сообщения: 1615
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич

Re: Извлечения данных с Mikrotik

Сообщение Bagir »

Пожалуй надо перенести эту тему в раздел Железа и объединить с http://smartliving.ru/forum/viewtopic.p ... t=mikrotik
Пример рабочий, надо только парсить. Вечером займусь. Жутко понадобился мне список wifi клиентов.
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
Аватара пользователя
Bagir
Сообщения: 1615
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич

Re: Mikrotik

Сообщение Bagir »

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

Re: Mikrotik

Сообщение Bagir »

Спасибо kostya77 за файл routeros_api.class.php и Amarok за пути к нужным массивам. Список MAC адресов я получил. Теперь давайте думать, как определить события MAC пришел, MAC ушел, и где будем хранить Маки.
Самое простое, что пришло на ум, это хранить Маки и признак что он в сети в объектах класса WiFi. Периодически получать данные от роутера и сравнивать с объектами этого класса, вызывая свойства пришел / ушел, а так же неизвестный мак.
Еще Мысли?
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
kostya77
Сообщения: 136
Зарегистрирован: Вт ноя 12, 2013 8:29 pm

Re: Mikrotik

Сообщение kostya77 »

Bagir писал(а):Спасибо kostya77 за файл routeros_api.class.php и Amarok за пути к нужным массивам. Список MAC адресов я получил. Теперь давайте думать, как определить события MAC пришел, MAC ушел, и где будем хранить Маки.
Самое простое, что пришло на ум, это хранить Маки и признак что он в сети в объектах класса WiFi. Периодически получать данные от роутера и сравнивать с объектами этого класса, вызывая свойства пришел / ушел, а так же неизвестный мак.
Еще Мысли?
Вопрос к вам
Что куда положили - прописали ?
Аватара пользователя
Bagir
Сообщения: 1615
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич

Re: Mikrotik

Сообщение 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'; }
Если успею, ночью выложу уже работающий класс с методами пришел ушел. Будем думать как его развивать. Новые устройства думаю можно сразу кодом добавлять объектами.
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
Аватара пользователя
Bagir
Сообщения: 1615
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич

Re: Mikrotik

Сообщение Bagir »

IP Service List
должны быть включены api
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
Аватара пользователя
Bagir
Сообщения: 1615
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич

Re: Mikrotik

Сообщение Bagir »

Подкидывайте идеи по структуре пока задача в работе!

Сценарий getWiFiclients

Класс WiFiDevice - Слежение за WiFi устройствами
Свойства класса:
MAC - MAC адрес устройства
owner - имя владельца
sex - пол 1-мужской 2-женский
notify - уведомлять 0-нет, 1-днем, 2-всегда. 1 цифра пришел, 2 цифра ушел.
lastActive - Дата время последнего появления
online - сейчас в сети

Методы класса:
Found - нашел
Lost - Потерял

Объекты класса:
HTC - мой телефон
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
kostya77
Сообщения: 136
Зарегистрирован: Вт ноя 12, 2013 8:29 pm

Re: Mikrotik

Сообщение 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\ ?
я почему спрашую подробно ((
не мгу подключится ,и не пойму где бок
Ответить