Lampone Pi – Usi del Bluetooth
Molto bene, in questo articolo quería documentar alguna utilidad que le saqué a una de las Raspberry que anda por casa, tengo un dispositivo mini USB bluetooth que le conecté a la Pi, os paso un par de scripts por si os puedan interessar: Uno primero nos detectará si estamos para ejecutar una azione; y el secondo conectará un altavoz inalámbrico!
Come vi accennavo tempo fa, andrò a pubblicare script curiosi che ho raccolto per tutto il sistema di domotica che ho montato a casa, spero che qualcosa vi possa servire. Come dicevo, il primo script utilizzerà il dispositivo USB bluetooth collegato al Raspberry per cercarmi, poiché la Pi è a casa, quando mi trova eseguirà un comando (nel mio caso disattiverà l'allarme di casa). E il secondo script collegherà lo stesso dongle Bluetooth della Pi a un altoparlante Bluetooth wireless, per inviare audio, tipo musica, radio o qualche comando che voglio che mi parli.
La prima cosa da fare sarà installare i requisiti, e verificare l'indirizzo MAC del dispositivo, se non appare nella nostra lista, verificheremo che abbiamo i driver caricati, per sapere l'ide del vostro dispositivo lo cercate con 'lsusb'’ .
[Codice sorgente]sudo apt-get install bluez python-bluez
Ha fatto lo sviluppo di strumenti
Dispositivi:
hci0 00:24:94:AA:XX:XX[/Codice sorgente]
La mia prima necessità era cercare di automatizzare il sistema di allerta di casa, e questo è molto facile, se il mio cellulare è in casa allora l'allarme deve disattivarsi, quando il mio cellulare non è presente, l'allarme di casa deve attivarsi. Come? Facilissimo se abbiamo un Android, dato che questi rispondono sempre a PING, quindi nel nostro DHCP di casa facciamo un'assegnazione MAC e con qualsiasi script lo pingiamo, che non risponde… attiva l'allerta! che risponde… disattiva l'allerta! Ma io ho un iPhone e non è così semplice, come saprete, gli iPhone in modalità chillout non rispondono ai PING, Cioè, quasi mai, a meno che non sia sbloccato. Soluzione… usare il bluetooth! A proposito, per i curiosi, attivare l'allerta non è altro che sensori di movimento che ho in casa, che quando l'allerta è attivata inviano un segnale a una telecamera per registrare video (di 10s) e me li inviano per email, oltre a far suonare tramite gli altoparlanti una sirena da sottomarino =). Quei stessi sensori, quando l'allerta è disattivata servono per accendere le varie luci della casa mentre cammino.
Script in Python per controllare se qualcosa risponde via bluetooth, io lo chiamo ‘busca_hector.py’, e cerca costantemente il mio iPhone, una volta che lo trova esegue uno script e si addormenta 5 verbale:
[Codice sorgente]#!/usr/bin/python
import bluetooth
tempo di importazione
HectorIN = 0
HectorOUT = 0
print "In/Out Board"
mentre Vero:
print "Buscando " + time.strftime("%a, %d %b %Y %H:%M:%S", time.gmtime())
result = bluetooth.lookup_name(‘A0:18:28:59:XX:XX’, timeout=5)
se (risultato != None):
print "Hector: in"
if HectorIN == 0:
HectorIN = HectorIN + 1
Sottoprocesso di importazione
sottoprocesso.chiamata([‘bash’,’/home/pi/alarma_apaga.sh’])
sottoprocesso.chiamata([‘bash’,’/home/pi/textoAvoz.sh’,’Bienvenido a casa Hector’])
HectorOUT = 0
tempo.sonno(300)
altro:
print "Hector: Cambio"
HectorIN = 0
HectorOUT = HectorOUT + 1
print "Hector IN:"
print HectorIN
print "HectorOUT"
print HectorOUT
print "——"[/Codice sorgente]
Podremos probarlo ejecutando:
[Codice sorgente]python /home/pi/busca_hector.py[/Codice sorgente]
Non male, come saprete, hay varias maneras de hacer que ese script de Python arranque con la Pi, lo más fácil ponerlo en el cron fácilmente, Eseguiamo 'crontab -e’ e aggiungiamo ‘@reboot python /home/pi/busca_hector.py‘
Conexión de un altavoz inalambrico,
Hasta ahí para detectar cualquier dispositivo bluetooth, con eso podremos detectar cualquier dispositivo como un móvil y ejecutar cualquier acción. Ahora vamos a darle más uso al dongle Bluetooth, ya que tenía un altavoz bluetooth por ahí, os muestro que sería necessario ejecutar para conectar a la Raspberry dicho altavoz inalámbrico:
Al emparejar dará error si no editamos primeramente el fichero 'sudo vim /usr/bin/bluez-simple-agent', remplazando la palabra 'KeyboardDisplay' por 'DisplayYesNo'
Non male, comenzamos un escaneo a ver si ve our altavos, ejecutamos 'hcitool scan':
[Codice sorgente]Scanning …
00:58:50:52:98:48 H88[/Codice sorgente]
Ahora emparejaremos los dispositivos, per questo, si tiene algún botón el altavoz lo pulsaremos y ejecutamos:
[Codice sorgente]sudo bluez-simple-agent hci0 00:58:50:52:XX:XX
Release
Nuovo dispositivo (/org/bluez/2405/hci0/dev_00_58_50_52_XX_XX)[/Codice sorgente]
Nos conectamos al altavoz con:
[Codice sorgente]sudo bluez-test-audio connect 00:58:50:52:XX:XX[/Codice sorgente]
Hacemos que confie en nuestro altavoz:
[Codice sorgente]sudo bluez-test-device trusted 00:58:50:52:XX:XX yes[/Codice sorgente]
Y verificamos que ha cambiado a 1:
[Codice sorgente]sudo bluez-test-device trusted 00:58:50:52:XX:XX[/Codice sorgente]
Modificamos el fichero '.asocundrc’ con: 'vim ~/.asoundrc’
[Codice sorgente]pcm.bluetooth {
tipo bluetooth
device00:58:50:52:XX:XX
}[/Codice sorgente]
Modifichiamo anche ‘audio-conf’ con: ‘vim /etc/bluetooth/audio.conf’ e aggiungiamo:
[Codice sorgente]Disable=Media
Enable=Socket[/Codice sorgente]
Anche, installerò un'applicazione per poter riprodurre facilmente qualsiasi mp3 o m3u, che siano da file locali o da URL, come può essere una stazione radio online =)
[Codice sorgente]sudo apt-get install bluez-alsa mpg321
sudo /etc/init.d/bluetooth restart[/Codice sorgente]
Per riprodurre un file mp3 proveremo con:
[Codice sorgente]mpg321 -a bluetooth -g 15 canzone.mp3[/Codice sorgente]
Per riprodurre .m3u o playlist, bastarà con mettere l'indirizzo:
[Codice sorgente]mpg123 -@ http://radio7.oye.fm:7501/listen.pls -a bluetooth[/Codice sorgente]
Possiamo cercare la stazione radio che più ci piace su Internet, che ci sono un sacco di liste! Vi pongo un paio di esempi, Radio 3 –> Protocollo HTTP://radiolive.rtve.es/radio3.m3u & Radio Euskadi –> Protocollo HTTP://www.listenlive.eu/radioeuskadi.m3u








































