Wpis z mikrobloga

Cześć
Wpadłem na pomysł żeby zautomatyzować kilka rzeczy - chciałem wykorzystać do tego obecność mojego telefonu w sieci wifi. Chcę monitorować czy urządzenie o danym macu jest podpięte do mojej sieci - jak najłatwiej to zrobić?
Posiadam mikrotika, teoretycznie ta komenda zwraca info o tym:
/interface wireless registration-table
ew. mogę użyć tabeli ARP lub nasłuchiwać na logi (mac@wlanX: connected).
Wtedy użyłbym rpi, które pytałoby po ssh mikrotika. Są jakieś łatwiejsze rozwiązania? SNMP albo inne wynalazki (jakieś api?)

Wołam @dktr

#mikrotik
  • 8
  • Odpowiedz
@d15ea5e: Ja to robię pod OpenWRT za pomocą

iw dev wlan0 station dump
Takie odpytywanie jest trochę bez sensu lepiej aby mikrotik sam informował że dane urządzenie się połączyło lub odłączyło. Można to wyskrobać w skryptach mikrotikowych.
  • Odpowiedz
@dktr: Chciałem ograniczyć pisanie tych dziwnych skryptów do minimum. Myślałem nawet o postawieniu metaroutera do tego.
Ten dump robi chyba to samo co registration-table.
Najlepiej jakbym dostawał jakiś event zamiast odpytywać komendę co kilka sekund - da się coś takiego zrobić?
  • Odpowiedz
@d15ea5e: Pewnie tak, ale ja też unikam te mikrotikowe skrypty, ich składnia mnie przeraża, a to co ma się robić cyklicznie idzie w sheduler

Pod OpenWRT u mnie działa to tak że cyklicznie w pętli skrypt sprawdza co jest połączone, i jak coś się zmieni to dopiero wysyła zwykłym GETem na serwer dane że coś się odłączyło, a jeśli coś jest połączone to co kilka sek wysyła jego sygnał w
  • Odpowiedz
@d15ea5e poczytaj o dude. Jak zainstslujesz paczkę dude, to można nim wysyłać dane udp do sysloga o wszystkim co się dzieje w twoim mikrotik. Nie trzeba komend z konsoli - wszystko praktycznie wyklikasz przez aplikacje kliencką
  • Odpowiedz
@d15ea5e: Tworzysz skrypt:

:local setMac "00:00:00:00:00:00"

:foreach i in [/interface wireless registration-table find mac-address=$setMac] do={
/tool fetch
  • Odpowiedz