Kontrola obecności domowników

User avatar
uchnast.michal
Posts: 1334
Joined: Tue Jun 04, 2019 11:37 am
Has thanked: 7 times

Post

Czy po stronie mikrotika wymagana jest dodatkowa konfiguracja by funkcja Device tracker for hosts in network była dostępna. Pomimo włączenia nie mam enacji:(
User avatar
lukfud
Posts: 2480
Joined: Thu Nov 23, 2017 11:33 pm
Location: Warszawa
Has thanked: 13 times
Been thanked: 11 times

Post

uchnast.michal wrote: Sat Nov 06, 2021 10:22 am Czy po stronie mikrotika wymagana jest dodatkowa konfiguracja by funkcja Device tracker for hosts in network była dostępna. Pomimo włączenia nie mam enacji:(
Jakie dałeś uprawnienia dla użytkownika?
https://www.facebook.com/groups/supladiy
https://www.facebook.com/groups/suplazamel
https://www.facebook.com/groups/suplaauraton
https://smartnerzeczy.pl
User avatar
uchnast.michal
Posts: 1334
Joined: Tue Jun 04, 2019 11:37 am
Has thanked: 7 times

Post

read, write, api, test
User avatar
lukfud
Posts: 2480
Joined: Thu Nov 23, 2017 11:33 pm
Location: Warszawa
Has thanked: 13 times
Been thanked: 11 times

Post

uchnast.michal wrote: Sat Nov 06, 2021 11:57 am read, write, api, test
Ja dałem full, ale przed chwilą sprawdziłem na tych co podałeś i mi działa.
https://www.facebook.com/groups/supladiy
https://www.facebook.com/groups/suplazamel
https://www.facebook.com/groups/suplaauraton
https://smartnerzeczy.pl
User avatar
uchnast.michal
Posts: 1334
Joined: Tue Jun 04, 2019 11:37 am
Has thanked: 7 times

Post

Moja wina, za szybko oczekiwałem wyników:) Encje zaczęły się pojawiać. Wielkie dzięki za pomoc. Świetnie to działa!
PS
Czy na priv mógłbyś mi podesłać przepływ Twojego użycia w Node-RED?
User avatar
lukfud
Posts: 2480
Joined: Thu Nov 23, 2017 11:33 pm
Location: Warszawa
Has thanked: 13 times
Been thanked: 11 times

Post

uchnast.michal wrote: Sat Nov 06, 2021 12:40 pm Moja wina, za szybko oczekiwałem wyników:) Encje zaczęły się pojawiać. Wielkie dzięki za pomoc. Świetnie to działa!
PS
Czy na priv mógłbyś mi podesłać przepływ Twojego użycia w Node-RED?
Spoko, podrzucę Ci, aczkolwiek nie ma tego za dużo i nie są skomplikowane (jeszcze) :)
https://www.facebook.com/groups/supladiy
https://www.facebook.com/groups/suplazamel
https://www.facebook.com/groups/suplaauraton
https://smartnerzeczy.pl
tomkowski
Posts: 400
Joined: Tue Oct 09, 2018 7:16 pm
Location: Orzesze
Has thanked: 2 times
Been thanked: 1 time

Post

lukfud wrote: Sat Nov 06, 2021 1:05 pm
uchnast.michal wrote: Sat Nov 06, 2021 12:40 pm Moja wina, za szybko oczekiwałem wyników:) Encje zaczęły się pojawiać. Wielkie dzięki za pomoc. Świetnie to działa!
PS
Czy na priv mógłbyś mi podesłać przepływ Twojego użycia w Node-RED?
Spoko, podrzucę Ci, aczkolwiek nie ma tego za dużo i nie są skomplikowane (jeszcze) :)
Też poproszę przykład jak możesz.
User avatar
shimano73
Posts: 2174
Joined: Sun Feb 28, 2016 12:27 pm
Location: Orzesze
Been thanked: 1 time

Post

Po wielu próbach udało się sklecić coś co działa. Zmodyfikowałem skrypt w pythonie znaleziony w sieci, który to skanuje sieć lokalną i na podstawie ip udostępnia mac adres który to porównuję z tymi których szukam.
Tak wygląda skrypt ;

Code: Select all

import scapy.all as scapy
import RPi.GPIO as GPIO
import argparse
import os
import re
from time import sleep
import datetime
time_index=0
time_interval = datetime.timedelta(minutes=1)
time_start = datetime.datetime.now()
time_next = time_start + time_index * time_interval




 
def scan(ip):
    arp_request = scapy.ARP(pdst=ip)
    broadcast = scapy.Ether(dst="ff:ff:ff:ff:ff:ff")
    arp_request_broadcast = broadcast/arp_request
    answered_list = scapy.srp(arp_request_broadcast, timeout=0.25,verbose=False)[0]
 
    clients_list = []
    for element in answered_list:
        client_dict = {"ip": element[1].psrc, "mac": element[1].hwsrc}
        clients_list.append(client_dict)
    return clients_list
 

try:
    while True:
        time_now = datetime.datetime.now()
        if(time_now>=time_next):
               time_index = time_index+1
               time_next = time_start + time_index *time_interval
	       presence_old = '0'
	       # print("IP"+"\t\t\t"+"MAC")
	       for i in range(100,256):
               	   curr_ip = "192.168.254."+str(i)
                   scan_result = scan(curr_ip)
                   if scan_result != []:
    	              # print(scan_result[0]['ip']+"\t\t"+scan_result[0]['mac'])
	              
	              if scan_result[0]['mac']  == "ff:ff:ff:ff:ff:ff" :
	                 presence_old = '1'
	                 # print("jest")
		      	
			 f=open('presence_darek.txt','r')
                         presence_=f.readline()
                         f.close()
                         if presence_ != '1' :                    
                            g=open('presence_darek.txt','w')
                            g.write("1")
                            g.close()
			    # print("1")
                      
               if presence_old == '0' :
		  # print("nie ma")
		  
	          f=open('presence_darek.txt','r')
                  presence_=f.readline()
                  f.close()
                  if presence_ != '0' :                    
                     g=open('presence_darek.txt','w')
                     g.write("0")
                     g.close()
	 	     # print("0")
                  
			 
except KeyboardInterrupt:
    GPIO.cleanup();


Resztę robi SVD
You do not have the required permissions to view the files attached to this post.
W elektronice jak nie wiadomo o co chodzi to zwykle chodzi o zasilanie

Wezmę udział w Supla Offline Party 2024 :)

Return to “Pomoc”