• Benvenuti su RaspberryItaly!
Benvenuto ospite! Login Login con Facebook Registrati Login with Facebook


Valutazione discussione:
  • 0 voto(i) - 0 media
  • 1
  • 2
  • 3
  • 4
  • 5

[-]
Tags
smartphone presenza raspberry rileva che

raspberry che rileva presenza smartphone
#31
(28/07/2017, 14:44)gerry739 Ha scritto: qualcuno ha avuto il mio stesso problema?..e ha risolto?

io sto usando lo script che ho allegato sui post precedenti e non mi da problemi , hai fatto la copia integrale di quello che ho inserito?

c'è giusto una riga di comando in più che è inutile ossia" GPIO.setup(16, GPIO.OUT) " avevo dimenticato di rimuoverla


queste le librerie che ho installato

sudo apt-get install bluetooth
sudo apt-get install python-bluez
Risposta
#32
... l'unica modifica che ho fatto è cambiare i pin di out in quanto mi dava un errore di pin impegnati da altra applicazione, ed era vero in quanto lo faccio gìrare dua programmi su medesimo rasp, potrebbe esserci un conflitto? il time sleep, se non sbaglio qualsiasi chiamata lo farebbe interrompere....
Quello che non capisco è perche se spengo e riaccendo il bluetooth del cel non lo vede più...quando invece se faccio partire il programma con Bluetooth acceso lo vede immediatamente...
scusa se non utilizzo termini appropiati da softwarista ma creco di farmi capire...
Risposta
#33
Ci sono stati ulteriori sviluppi?

Inviato dal mio ALE-L21 utilizzando Tapatalk
Risposta
#34
Ciao,
ho provato il codice e funziona con il mio cellulare, avevo l'esigenza di aggiungere un altro dispositivo mantenendo le stesse azioni ma non funziona, magari ho sbagliato solo il mac del secondo (che è un TAG di quelli da applicare agli oggetti)
=================
result_tag1 = bluetooth.lookup_name('MacAddr Cellulare', timeout=5)
result_tag2 = bluetooth.lookup_name('MacAddr TAG', timeout=5)

if (result_tag1 or result_tag2 != None):
GPIO.output(7,True)
print "DISPOSITIVO RILEVATO"
else:
GPIO.output(7,False)
print "DISPOSITIVO FUORI PORTATA"

... sembra che veda solo il cell e non il tag ... ho sbagliato qualcosa ?

PS: oggi è il mio primo giorno di Python :-)
Risposta
#35
Ti dà qualche errore? Usa i Tag code per racchiudere il codice senza perdere l'impaginazione (ad esempio l'identazione è obbligatoria in Python)
Risposta
#36
https://home-assistant.io/components/dev...h_tracker/

non l'ho mai provato..
Risposta
#37
(26/09/2017, 15:37)magurberry Ha scritto: Ciao,
ho provato il codice e funziona con il mio cellulare, avevo l'esigenza di aggiungere un altro dispositivo mantenendo le stesse azioni ma non funziona, magari ho sbagliato solo il mac del secondo (che è un TAG di quelli da applicare agli oggetti)
=================
result_tag1 = bluetooth.lookup_name('MacAddr Cellulare', timeout=5)
result_tag2 = bluetooth.lookup_name('MacAddr TAG', timeout=5)
 
  if (result_tag1 or result_tag2 != None):
           GPIO.output(7,True)
           print "DISPOSITIVO RILEVATO"
  else:
           GPIO.output(7,False)
           print "DISPOSITIVO FUORI PORTATA"
     
... sembra che veda solo il cell e non il tag ... ho sbagliato qualcosa ?

PS: oggi è il mio primo giorno di Python :-)
io lo uso in questo modo su tre telefoni
Codice:
#!/usr/bin/python

import bluetooth
import time
import os
import RPi.GPIO as GPIO
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BOARD)
GPIO.setup(7, GPIO.OUT, initial=0)
GPIO.setup(15, GPIO.OUT, initial=0)
GPIO.setup(7, GPIO.OUT)
GPIO.setup(15, GPIO.OUT)

print "In/Out Board"

while True:
   print "Checking " + time.strftime("%a, %d %b %Y %H:%M:%S", time.gmtime())

   result = bluetooth.lookup_name('08:EE:8B:19:B0:92', timeout=5)
   if (result != None):
       
        GPIO.output(7,True)
        print "SAMSUNG NOTE4 RILEVATO"
        os.system('espeak "samsung note 4 rilevato" -v it -p 70 -s 155 > /dev/null 2> /dev/null')
   else:
       GPIO.output(7,False)
       print "SAMSUNG NOTE4 FUORI PORTATA"
       os.system('espeak "samsung note 4 fuori portata" -v it -p 70 -s 155 > /dev/null 2> /dev/null')
   result = bluetooth.lookup_name('08:D4:2B:B7:33:A9', timeout=5)
   if (result != None):
         
       
       GPIO.output(15,True)
       print "SAMSUNG NOTE2 RILEVATO"
       os.system('espeak "samsung note 2 rilevato" -v it -p 70 -s 155 > /dev/null 2> /dev/null')
   else:
       
       GPIO.output(15,False)
       print "SAMSUNG NOTE2 FUORI PORTATA"
       os.system('espeak "samsung note 2 fuori portata" -v it -p 70 -s 155 > /dev/null 2> /dev/null')
   result = bluetooth.lookup_name('B4:74:43:81:C6:C8', timeout=5)
   if (result != None):
         
       
       GPIO.output(15,True)
       print "cucucciglio RILEVATO"
       os.system('espeak " cucucciglio rilevato" -v it -p 70 -s 155 > /dev/null 2> /dev/null')
   else:
   
       GPIO.output(15,False)
       print "cucucciglio FUORI PORTATA"
       os.system('espeak "cucucciglio fuori portata" -v it -p 70 -s 155 > /dev/null 2> /dev/null')  
   time.sleep(60)
GPIO.cleanup()
Risposta
#38
Allora, fondamentalmente lo script funziona ma come condizione c'è che bisogna conoscere il MAC del BT dello smartphone, se invece parto con il comando di ricerca addirittura non lo rileva mai.

Mi spiego meglio, se uso:
bluetooth.lookup_name('xx:xx:xx:xx:xx:xx', timeout=1) ... mettendo il MAC che leggo sul mio tel, il comando mi restituisce il nome del mio dispositivo, se invece lancio
bluetooth.discover_devices(lookup_names = False) il mio smartphone non lo trova MAI
mi servirebbe quest'ultima funzione in modo che il raspberry ogni tot mi passi l'elenco dei telefoni in zona e poi io possa abilitare chi voglio.

Ho provato anche il tablet ma non "vede" neanche il suo bluetooth premesso che ne vede uno/due che non so cosa siano, probabilmente degli auricolari in zona ?

Qualche idea ? Grazie
Risposta
#39
sembra funzionare tutto bene a meno che si esca fuori dal range o si spenga il bluetooth per un po , infatti dopo non lo vede più...invece se spengo e riaccendo per pochi secondi lo rileva nuovamente..come risolvo?

grazie
Risposta
#40
Allora, la ricerca del Mac mentre il telefono ha si il bt acceso ma non fa lui la ricerca è impossibile (fonte rasp eng), solo se facciamo un interrogazione e siamo già in possesso del Mac Address allora il rasp risponderà.
Se vogliamo trovare il Mac di un dispositivo non basta che questo sia "disponibile", ma deve attivare la funzione di ricerca e solo a questo punto diventerà "visibile" per il rasp.
Spero di essermi spiegato
Maurizio
Risposta
  


Vai al forum:


Navigazione: 1 Ospite(i)
Forum con nuovi Post
Forum senza nuovi post
Forum bloccato
Forum Redirect