Raspberry Pi – Utilisations du Bluetooth
Très bien, Dans cet article, je voulais documenter une utilité que j’ai obtenue de l’une des framboises qui se trouve dans la maison, J’ai un mini périphérique USB bluetooth que j’ai connecté au Pi, Je vais vous donner quelques scripts au cas où cela vous intéresserait: On va d’abord nous détecter si nous sommes prêts à exécuter une action; et le second connectera un haut-parleur sans fil!
Comme je vous en ai parlé il y a quelque temps, je vais publier des scripts intéressants que j'ai recueillis pour tout le système de domotique que j'ai installé chez moi, j'espère que certains pourront vous être utiles. Comme je vous le disais, le premier script utilisera le périphérique USB Bluetooth connecté à la Raspberry pour me rechercher, comme la Pi est à la maison, lorsqu'il me trouvera, il exécutera une commande (dans mon cas, il désactivera l'alarme de la maison). Et le deuxième script connectera le même dongle Bluetooth de la Pi à un haut-parleur Bluetooth sans fil, pour lui envoyer des audios, comme de la musique, de la radio ou une commande que je veux qu'il me prononce.
La première étape sera d'installer les prérequis, et de vérifier l'adresse MAC du périphérique, si elle n'apparaît pas dans notre liste, nous vérifierons que les pilotes sont chargés, para saber el ide de vuestro dispositivo lo buscáis con ‘lsusb’ .
[Code source]sudo apt-get install bluez python-bluez
Il a fait du développement d’outils
Dispositifs:
hci0 00:24:94:AA:XX:XX[/Code source]
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, C’est, casi nunca, a menos que lo tengas desbloqueado. Solución… usar el bluetooth! D’ailleurs, para los curiosos, montar la alarma no es más que sensores de movimiento que tengo por la casa, que cuando la alarma está montada mandan señal a una camara para grabar videos (de 10s) y me los manda por mail, además de sonar por los altavoces una sirena de estas de submarino =). Esos mismos sensores, cuando la alarma está desconectada me sirven para encender las distintas luces de la casa según voy andando.
Script en Python para comprobar si algo responde por bluetooth, yo le llamo ‘busca_hector.py’, y busca mi iPhone cada constantemente, una vez lo encuentra ejecuta un script y se duerme 5 compte-rendu:
[Code source]#!/usr/bin/python
import bluetooth
Heure d’importation
HectorIN = 0
HectorOUT = 0
print "In/Out Board"
tandis que 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)
si (résultat != Aucun):
print "Hector: dans"
si HectorIN == 0:
HectorIN = HectorIN + 1
Sous-processus d’importation
sous-processus.appel([‘bash’,’/home/pi/alarma_apaga.sh’])
sous-processus.appel([‘bash’,’/home/pi/textoAvoz.sh’,’Bienvenue à la maison Hector’])
HectorOUT = 0
temps.sommeil(300)
autre:
print "Hector: dehors"
HectorIN = 0
HectorOUT = HectorOUT + 1
print "Hector IN:"
imprimer HectorIN
print "HectorOUT"
imprimer HectorOUT
print "——"[/Code source]
Nous pourrons le tester en exécutant:
[Code source]python /home/pi/busca_hector.py[/Code source]
Pas mal, como sabréis, il y a plusieurs façons de faire démarrer ce script Python avec le Pi, le plus simple est de le mettre facilement dans le cron, Nous exécutons 'crontab -e’ et nous ajoutons ‘@reboot python /home/pi/busca_hector.py‘
Connexion d’un haut-parleur sans fil,
Jusqu’ici pour détecter tout appareil bluetooth, avec ça nous pourrons détecter n’importe quel appareil comme un téléphone et exécuter n’importe quelle action. Maintenant, nous allons donner plus d’utilité au dongle Bluetooth, puisque j’avais un haut-parleur bluetooth quelque part, je vous montre ce qu'il serait nécessaire d'exécuter pour connecter le haut-parleur sans fil à la Raspberry:
Lors de l'appairage, une erreur surviendra si nous n'éditons pas d'abord le fichier 'sudo vim /usr/bin/bluez-simple-agent', en remplaçant le mot 'KeyboardDisplay' par 'DisplayYesNo'
Pas mal, nous commençons une analyse pour voir si notre haut-parleur est détecté, nous exécutons 'hcitool scan':
[Code source]Scanning …
00:58:50:52:98:48 H88[/Code source]
Maintenant, nous allons appairer les appareils, pour cela, si le haut-parleur possède un bouton, nous le pressons et exécutons:
[Code source]sudo bluez-simple-agent hci0 00:58:50:52:XX:XX
Release
New device (/org/bluez/2405/hci0/dev_00_58_50_52_XX_XX)[/Code source]
Nous nous connectons au haut-parleur avec:
[Code source]sudo bluez-test-audio connect 00:58:50:52:XX:XX[/Code source]
Nous faisons en sorte que notre haut-parleur soit fiable:
[Code source]sudo bluez-test-device trusted 00:58:50:52:XX:XX yes[/Code source]
Et nous vérifions que cela a changé à 1:
[Code source]sudo bluez-test-device trusted 00:58:50:52:XX:XX[/Code source]
Modificamos el fichero ‘.asocundrc’ avec: ‘vim ~/.asoundrc’
[Code source]pcm.bluetooth {
type bluetooth
device00:58:50:52:XX:XX
}[/Code source]
Editamos también ‘audio-conf’ avec: ‘vim /etc/bluetooth/audio.conf’ et nous ajoutons:
[Code source]Disable=Media
Enable=Socket[/Code source]
Aussi, instalaré una aplicación para poder reproducir fácilmente cualquier mp3 o m3u, sean de ficheros locales o de URLs, como puede ser una cadena de radio online =)
[Code source]sudo apt-get install bluez-alsa mpg321
sudo /etc/init.d/bluetooth restart[/Code source]
Para reproducir un archivo mp3 probaremos con:
[Code source]mpg321 -a bluetooth -g 15 cancion.mp3[/Code source]
Para reproducir .m3u o listas, bastará con poner la dirección:
[Code source]mpg123 -@ http://radio7.oye.fm:7501/listen.pls -a bluetooth[/Code source]
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 –> HTTP://radiolive.rtve.es/radio3.m3u & Radio Euskadi –> HTTP://www.listenlive.eu/radioeuskadi.m3u








































