Framboesa Pi – Usos de Bluetooth
Muito bom, neste artigo queria documentar alguma utilidade que lhe disse a uma das framboesas que anda por casa, tengo un dispositivo mini USB bluetooth que le conecté à la Pi, os paso un par de scripts por si os puedan interessar: Uno primero nos detectará si estamos para executar una acción; y el segundo conectará un altavoz inalámbrico!
Como vos expliquei há algum tempo, vou publicando scripts curiosos que fui reunindo para todo o sistema de automação que montei em casa, espero que algo vos possa ser útil. Como vos dizia, o primeiro script usará o dispositivo USB bluetooth ligado à Raspberry para me procurar, como a Pi está em casa, quando me encontrar executará um comando (no meu caso desativará o alarme de casa). E o segundo script ligará o mesmo dongle de bluetooth da Pi a uma coluna bluetooth sem fios, para lhe enviar áudios, tipo música, rádio ou algum comando que quero que ele me fale.
O primeiro de tudo será instalar os requisitos, e verificar o MAC do dispositivo, se não aparecer na nossa lista, verificaremos se temos os drivers carregados, para saber el ide de vuestro dispositivo lo buscáis con ‘lsusb’ .
[Código-fonte]sudo apt-get install bluez python-bluez
hcitool dev
Devices:
hci0 00:24:94:AA:XX:XX[/Código-fonte]
Mi primera necesidad era intentar automatizar el sistema de alarma de casa, y esto es muy fácil, si mi móvil está en casa entonces la alarma se debe desactivar, cuando mi móvil no esté, la alarma de casa se debe armar. Como? Facilísimo si tenemos un Android, ya que estos responden a PING siempre, así que en nuestro DHCP de casa hacemos una asignación de MAC y con cualquier script le pingeamos, que no responde… monta la alarma! que responde… desmonta la alarma! Pero yo tengo un iPhone y esto no es tan sencillo, como sabréis, los iPhones en modo chillout no responden a PINGs, Isto é, casi nunca, a menos que lo tengas desbloqueado. Solución… usar el bluetooth! A propósito, para os curiosos, montar o alarme não é mais do que sensores de movimento que tenho pela casa, que quando o alarme está montado enviam sinal para uma câmara para gravar vídeos (de 10s) e enviam-me por email, além de tocar pelos altifalantes uma sirene destas de submarino =). Esses mesmos sensores, quando o alarme está desligado servem para acender as várias luzes da casa conforme vou andando.
Script em Python para verificar se algo responde por bluetooth, eu chamo-lhe 'busca_hector.py', e procura o meu iPhone constantemente, uma vez que o encontra executa um script e adormece 5 ata:
[Código-fonte]#!/usr/bin/python
import bluetooth
import time
HectorIN = 0
HectorOUT = 0
print "In/Out Board"
while True:
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 (result != Nenhum):
print "Hector: in"
se HectorIN == 0:
HectorIN = HectorIN + 1
import subprocess
subprocess.call([‘bash’,’/home/pi/alarma_apaga.sh’])
subprocess.call([‘bash’,’/home/pi/textoAvoz.sh’,’Bem-vindo a casa Hector’])
HectorOUT = 0
time.sleep(300)
mais:
print "Hector: out"
HectorIN = 0
HectorOUT = HectorOUT + 1
print "Hector IN:"
print HectorIN
print "HectorOUT"
print HectorOUT
print "——"[/Código-fonte]
Podemos testá-lo executando:
[Código-fonte]python /home/pi/busca_hector.py[/Código-fonte]
Nada mau, como sabréis, existem várias maneiras de fazer com que esse script Python arranque com a Pi, o mais fácil é colocá-lo no cron facilmente, ejecutamos 'crontab -e’ e adicionamos ‘@reboot python /home/pi/busca_hector.py‘
Ligação de uma coluna sem fios,
Até aí para detectar qualquer dispositivo bluetooth, com isso poderemos detectar qualquer dispositivo como um telemóvel e executar qualquer ação. Agora vamos dar mais uso ao dongle Bluetooth, ya que tenía un altavoz bluetooth por ahí, os muestro que seria necessário executar 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'
Nada mau, comenzamos um escaneo a ver si ve o nosso altavos, executamos 'hcitool scan':
[Código-fonte]Scanning …
00:58:50:52:98:48 H88[/Código-fonte]
Ahora emparejaremos los dispositivos, por isso, si tiene algún botão el altavoz lo pulsaremos y executamos:
[Código-fonte]sudo bluez-simple-agent hci0 00:58:50:52:XX:XX
Lançamento
Novo dispositivo (/org/bluez/2405/hci0/dev_00_58_50_52_XX_XX)[/Código-fonte]
Nos conectamos al altavoz con:
[Código-fonte]sudo bluez-test-audio connect 00:58:50:52:XX:XX[/Código-fonte]
Hacemos que confie en nuestra altavoz:
[Código-fonte]sudo bluez-test-device trusted 00:58:50:52:XX:XX sim[/Código-fonte]
E verificamos que mudou a 1:
[Código-fonte]sudo bluez-test-device trusted 00:58:50:52:XX:XX[/Código-fonte]
Modificamos el fichero '.asocundrc’ com: 'vim ~/.asoundrc’
[Código-fonte]pcm.bluetooth {
type bluetooth
device00:58:50:52:XX:XX
}[/Código-fonte]
Editamos también 'audio-conf’ com: 'vim /etc/bluetooth/audio.conf’ e adicionamos:
[Código-fonte]Disable=Media
Enable=Socket[/Código-fonte]
También, instalaré una aplicación para poder reproducir facilmente cualquier mp3 o m3u, sean de ficheros locales o de URLs, como puede ser una cadena de radio online =)
[Código-fonte]sudo apt-get install bluez-alsa mpg321
sudo /etc/init.d/bluetooth restart[/Código-fonte]
Para reproducir un arquivo mp3 probaremos con:
[Código-fonte]mpg321 -a bluetooth -g 15 cancion.mp3[/Código-fonte]
Para reproducir .m3u o listas, bastará con poner la direção:
[Código-fonte]mpg123 -@ http://radio7.oye.fm:7501/listen.pls -a bluetooth[/Código-fonte]
Podemos buscar la cadena de radio que más nos guste en Internet, que hay un monton de listas! Os pongo un par de ejemplos, Radio 3 –> Referências HTTP://radiolive.rtve.es/radio3.m3u & Radio Euskadi –> Referências HTTP://www.listenlive.eu/radioeuskadi.m3u









































