Quantcast
Channel: Bluetooth – Le journal du lapin
Viewing all 88 articles
Browse latest View live

Le Wii U Controller Pro sur Mac avec OpenEmu

0
0

Avec la Wii U, Nintendo a sorti un nouveau pad, le Wii U Controller Pro. Compatible Bluetooth, il est donc a priori utilisable sur un ordinateur directement, comme la manette de la PlayStation 3. Pour le moment, ce n’est pas encore totalement le cas, mais il est utilisable avec un Mac dans un logiciel intéressant : OpenEmu.

1350414927_white_wii_u_pro_controller

OpenEmu, c’est quoi ? Un logiciel qui rassemble différents émulateurs dans un seul logiciel, avec une interface adaptée aux Mac. Il peut émuler un Game Boy, un Game Boy Advance, une Game Gear, une Neo Geo Pocket, la NES, la Master System, la la Mega Drive et la Super NES.

OpenEmu est encore en développement, mais il est possible de compiler le logiciel depuis les sources, le logiciel étant open source. Pour ceux qui ne savent pas compiler, je vous propose une version qui marche avec la manette en téléchargement. Je vous conseille quand même de compiler vous même ou d’attendre une version finale du logiciel, c’est toujours en bêta.

Comment jumeler la manette ? Première chose, presser le bouton sync au dos de la manette. Les boutons vont clignoter en bleu.

Ensuite, vous lancez une détection des périphériques Bluetooth.

Screen Shot 2013-01-03 at 17.23.31

Mac OS X va trouver la manette et ne va pas pouvoir s’y connecter, c’est normal. Il faut choisir Passcode Option et prendre la troisième option, celle qui indique de ne pas utiliser de mot de passe.

Screen Shot 2013-01-03 at 17.24.04

Maintenant que c’est fait, que la manette est bien connectée, il suffit de lancer rapidement OpenEmu. Si tout se passe bien, la manette va vibrer et la première LED va s’allumer, ça fonctionne.

Ensuite, il suffit d’assigner les boutons aux commandes dans l’interface d’OpenEmu et ça va fonctionner.

Screen Shot 2013-01-03 at 17.26.59

Pour le moment, la manipulation est à effectuer à chaque lancement d’OpenEmu et c’est donc assez peu pratique, mais j’imagine que des solutions plus efficaces sortiront rapidement pour que la manette soit utilisable dans toutes les applications…

IMG_2068

Le Wii U Controller Pro a l’avantage d’être parfait pour les émulateurs, vu que Nintendo le vend en partie pour cet usage avec la Wii U. Il vaut une cinquantaine d’euros, ce qui est cher mais pas trop.


Les trois claviers aluminium Apple : attention à la compatibilité

0
0

Vu qu’un de mes lecteurs a eu le souci récemment, attention à une petite subtilité chez Apple : le choix du clavier Bluetooth aluminium. Sous le (presque) même aspect, il en existe en effet trois : le modèle original qui utilise trois piles, le modèle de seconde génération qui utilise deux piles et le modèle de troisième génération avec la touche dédiée au Launchpad. Et selon votre OS, ça a de l’importance…

AppleKeyWAl-xlarge

Le premier porte la référence A1255 (MB167LL/A), nécessite trois piles et fonctionne avec Mac OS X Tiger (10.4.8). Il est parfait pour d’anciens appareils qui n’acceptent pas Leopard. Il date de 2007 et il est aussi possible de l’identifier avec son antenne, la partie plastique placée sous le clavier : elle est placée sur le côté. Ce clavier nécessite un clavier installé pour le jumelage.

Le second porte la référence A1314 (MC184LL/A), nécessite deux piles et demande Mac OS X Leopard (10.5.8) pour fonctionner. Il ne fonctionne pas sous Tiger mais a l’avantage de ne pas nécessiter de clavier pour le jumelage. Il date de 2009 et peut aussi être reconnu grâce à son antenne centrale.

Le troisième porte la référence A1314 (MC184LL/B), nécessite deux piles et — selon Apple —, Mac OS X Snow Leopard (version 10.6.8). Il est assez simple à reconnaître : il propose une touche dédiée au Launchpad. C’est le clavier actuellement vendu par Apple et s’il fonctionne avec Leopard (mais pas Tiger), certaines touches de commande (luminosité, son, etc.) ne sont pas utilisables, c’est d’ailleurs indiqué dans une note de support. Il date de 2011.

Pour les amateurs d’iOS, le modèle 2007 et le modèle 2009 fonctionnent dès iOS 4, alors que le modèle 2011 ne fonctionne correctement qu’à partir d’iOS 5 : iOS 4.x ne prend pas en charge ses touches de fonction.

Utiliser le Bluetooth dans le simulateur iOS

0
0

Petit truc qui peut servir aux tests pour les applications : il est possible d’utiliser le Bluetooth dans le simulateur iOS fourni avec Xcode.


Pour ça, il faut un adaptateur Bluetooth en USB et visiblement un modèle Bluetooth 4.0. Apple explique bien comment gérer ça sur son site.

Première chose, il faut modifier le comportement de Mac OS X avec les adaptateurs Bluetooth. Par défaut, quand on branche un adaptateur Bluetooth, l’intégré est désactivé et le système passe sur le nouveau si ce n’est pas un modèle Apple. Il faut donc obliger Mac OS X à ne pas changer d’adaptateurs avec la commande suivante.

sudo nvram bluetoothHostControllerSwitchBehavior="never"

Il est aussi possible d’utiliser la valeur defaults (changement si le nouveau n’est pas un adaptateur Apple) ou always (changer dans tous les cas).

Ensuite, il faut brancher un adaptateur Bluetooth et bien vérifier que le système ne passe pas sur ce dernier.

Enfin, il suffit de lancer le simulateur iOS qui — si tout va bien — activera le Bluetooth.

Capture d’écran 2013-02-23 à 14.30.59

Ca permet de tester plus facilement les périphériques Bluetooth LE (Low Energy).

Bluetooth et iOS : enfin du mieux

0
0

J’en avais parlé, les enceintes et les casques Bluetooth ont souvent une qualité sonore assez faible. Mais visiblement ça change : après le codec aptX — compatible Mac OS X (et Android) mais pas iOS — qui se généralise, voici (enfin) l’arrivée de l’AAC. Le Big Jambox de Jawbone prend en effet en charge l’AAC avec iOS 6.1 (ça doit marcher avec les OS précédents), ce qui permet d’envoyer directement un fichier AAC à l’enceinte, sans compression, alors que le SBC (codec de base) et l’aptX (plus efficace) impliquent une (re)compression destructrice.

Une voiture télécommandée Bluetooth… sur un Mac

0
0

Il y a 10 ans, Sony Ericsson lançait la CAR-100, une voiture télécommandée Bluetooth. J’en ai trouvé une, et elle fonctionne parfaitement avec un (vieux) Mac.

logo-sony-ericsson-580-75

SONY DSC

La voiture est compacte et — principal défaut — a un connecteur mâle pour la charge. Concrètement, il faut un téléphone Sony Ericsson qui utilise l’ancien connecteur pour charger la voiture. C’est pour ça que je me suis procuré récemment des T68i, qui permettent de charger le véhicule.

SONY DSC

La voiture est prévue à la base pour les téléphones Sony Ericsson et elle fonctionne avec pas mal de modèles, du T68i (au joystick ou au clavier) au K800i en passant par le T68i ou le P900i. Il suffit de la jumeler et c’est bon, elle fonctionne.

SONY DSC

Elle a trois vitesses et c’est assez simple de la commander depuis un appareil mobile.

Le plus amusant, c’est évidemment de la commander depuis… un Mac !.

C’est un peu plus compliqué : un logiciel a été développé à l’époque avec la version destinée aux smartphones UIQ de Sony Ericsson, mais il y a plusieurs soucis. D’abord, le site n’est plus en ligne, mais je vous propose le programme sur un FTP. Ensuite, il ne fonctionne pas sous Lion ou Mountain Lion, j’ai du ressortir un vieil appareil sous Tiger. Enfin, l’utilisation est un peu bizarre…

Image 10

Il faut donc d’abord jumeler la voiture et ensuite la brancher à un téléphone, ce qui va l’initialiser. Une fois que c’est fait, elle est contrôlable avec les touches du clavier. C’est assez instable et la connexion saute régulièrement, mais ça fonctionne.

Plus amusant, on peut utiliser AppleScript pour gérer la voiture et automatiser les déplacements. Les commandes à utiliser sont dans l’aide du programme et voici un petit exemple de ce qu’il est possible de faire.

Le code est assez simple :

tell application "Car-100 Control"
-- Get the initial connected and charging states
set connected to car is connected
set charging to car is charging
-- As long as the car is either not connected or charging wait
repeat while (not connected) or charging
delay 2
set connected to car is connected
set charging to car is charging
end repeat
-- Gives you a chance to put the car down once you have disconnected it from the phone.
delay 2
--- Drive forwards and right.
set car stearing to 1
set car direction to 1
delay 4
-- Drive backwards and left.
set car stearing to 0
set car direction to 0
delay 1
set car stearing to -1
set car direction to 1
delay 4
-- Stop.
set car direction to 0
set car stearing to 0
end tell

Au final, c’est assez amusant, même si évidemment totalement inutile.

Jumeler un périphérique Wii de façon permanente avec Mac OS X

0
0

Aujourd’hui, une bidouille assez sale, mais qui a le mérite de fonctionner : comment jumeler de façon permanente une manette Wii (Wiimote, Wii Balance Board, Wii U Controller Pro, etc.) avec un Mac. Ca ne permet pas réellement de l’utiliser (le protocole HID utilisé est un peu modifié par Nintendo) mais ça permet de bidouiller facilement dans certains cas.


Si vous avez essayé un jour de connecter une Wiimote à un Mac, vous avez du remarquer une chose : la Wiimote n’accepte pas le classique 0000 comme code. La raison est simple : le code que la Wiimote (et plus généralement les périphériques Wii) attend n’est pas celui là.

Comme expliqué là, la manette attend l’adresse MAC du contrôleur Bluetooth de l’hôte (dans notre cas, le Mac, donc) inversé. Petit problème, Mac OS X ne permet pas de mettre un code en hexadécimal.

Il y a pourtant une solution, pas très propre : modifier le contrôleur Bluetooth pour que le code à taper passe en ASCII. L’idée est de mettre une adresse MAC qui — une fois inversée — est utilisable en ASCII avec des caractères numériques. Concrètement, on doit avoir une valeur hexadécimale comprise entre 30 et 39 : ces valeurs hexadécimales se traduisent en ASCII par les chiffres de 0 à 9. Pour faire simple, on va utiliser des 30 uniquement (la valeur qui représente le 0).

Il va donc falloir un contrôleur Bluetooth avec une puce CSR et une machine sous Linux (dans mon cas un Raspberry Pi).

Première chose à faire, installer le nécessaire sous Linux.

sudo apt-get install bluetooth bluez-utils blueman

Ensuite, on tape cette commande pour récupérer les mémoires à modifier.

sudo bccmd -d hci0 memtypes

Vous aurez une réponse de ce type :

psi (0x0001) = Flash memory (0)
psf (0x0002) = Flash memory (0)
psram (0x0008) = RAM (transient) (2)

Enfin, on flashe une nouvelle adresse MAC dans le contrôleur. Attention, ça peut rendre l’appareil inutilisable, donc mieux vaut tester sur un noname. Il faut utiliser les valeurs psi et psf, une dans chaque commande.

Le but est simple : mettre une adresse MAC qui une fois passée dans la moulinette de la Wiimote implique un code 000000. Il faut donc l’adresse 30:30:30:30:30:30.

sudo bccmd -d hci0 psset -s 0x0001 bdaddr 0x30 0x00 0x30 0x30 0x30 0x00 0x30 0x30
sudo bccmd -d hci0 psset -s 0x0002 bdaddr 0x30 0x00 0x30 0x30 0x30 0x00 0x30 0x30

Une fois que c’est fait, il faut enlever la clé Bluetooth, la remettre et taper la commande suivante pour vérifier si ça fonctionne.

hciconfig hci0 version

Dans mon cas, j’obtiens ça.

hci0: Type: BR/EDR Bus: USB
BD Address: 30:30:30:30:30:30 ACL MTU: 384:8 SCO MTU: 64:8
HCI Version: 2.0 (0x3) Revision: 0x77b
LMP Version: 2.0 (0x3) Subversion: 0x77b
Manufacturer: Cambridge Silicon Radio (10)

La commande suivante, sur le Mac, va forcer le système à passer directement sur le dongle externe. Attention, le comportement par défaut n’est pas celui-là : normalement, il va passer sur le dongle externe uniquement s’il est plus récent que l’interne.

sudo nvram bluetoothHostControllerSwitchBehavior="always"

Maintenant, il suffit de connecter la clé USB Bluetooth au Mac, et il devrait passer directement dessus. Attention, ça désactive les appareils connectés en Bluetooth…

Maintenant, il suffit de jumeler la manette avec le Mac en utilisant 000000 comme code.

Le principal souci, c’est que les manettes Wii ne sont pas totalement compatibles HID (contrairement aux manettes PlayStation 3 par exemple) et qu’elles ne sont pas utilisables sans un logiciel qui va émuler en partie le pilote. Cette méthode permet d’éviter la synchronisation à chaque utilisation mais n’évite pas (encore) l’utilisation de logiciels dédiés.

Le Wii U Controller Pro sur Mac

0
0

Il y a quelques mois, j’expliquais que le Wii U Controller Pro fonctionnait sur Mac avec Open Emu. Depuis, il y a mieux : il fonctionne sur Mac en tant que joystick HID, c’est-à-dire comme un joystick classique, reconnu par toutes les applications.
Wii

Wii U Controller Pro

Wii U Controller Pro

Le fonctionnement est simple : il suffit de lancer wjoy, un programme qui va « virtualiser » un joystick HID.

Vous lancez wjoy, vous pressez le bouton sync de la manette, elle vibre… et c’est fini.

wjoy

wjoy

Manette reconnue

Manette reconnue

Manette utilisable

Manette utilisable

La manette a l’avantage de ne pas nécessite de câble ou récepteur (elle est Bluetooth) et de ne pas être trop onéreuse : 45 € environ sur Amazon (lien sponsorisé, ça paye les bidouilles).

Une manette sur Mac : le gamepad Bluetooth de la Freebox

0
0

Depuis quelques semaines, Free propose à ses abonnés Freebox Révolution un nouveau modèle de gamepad. Alors que le modèle classique est en USB (et fonctionne parfaitement sur un Mac), le nouveau modèle se connecte en Bluetooth. Et si on le testait sur un Mac ?
Free

Commençons par la fin : ça marche… mais la latence est horrible. Avec un MacBook Air 2012 à moins d’un mètre, on a pratiquement une seconde de latence. Si on approche la manette de l’ordinateur, la latence diminue mais reste perceptible. Un collègue fan de jeux vidéo a ainsi totalement redécouvert le premier Super Mario Bros. : quand le saut s’effectue près d’une seconde après la pression de la touche, c’est en effet assez particulier.

Je ne sais pas si c’est lié à mon ordinateur, à Mac OS X ou à la manette même, mais c’est totalement inutilisable.

Un peu plus de détails

Première chose à savoir, le dongle Bluetooth de Free n’est pas compatible Mac OS X. Il utilise une puce Atheros qu’Apple ne supporte pas. Si la manette se recharge en micro USB, elle ne fait que ça : elle n’est pas utilisable en filaire uniquement.

Le Gamepad

Le Gamepad

L’association est assez simple : on allume la manette en pressant start quelques secondes (ou analog si ça ne marche pas, dixit Free), on presse select et start pendant cinq secondes pour passer en mode association, on lance une détection depuis le Mac et ça devrait marcher.

Bluetooth (sous Mavericks)

Bluetooth (sous Mavericks)

Une fois que c’est fait, la manette est utilisable comme un périphérique HID classique (pas besoin de taper de code). Au niveau des limites, la détection des sticks analogiques est bizarre (il faut parfois presser analog pour les activer) et celle des boutons aussi.

Dans le premier mode, le système indique dix boutons, mais il y en a deux qui ne sont pas présents (aucun bouton physique ne fait réagir l’interface). Les deux sticks analogiques sont liés à des valeurs X-AXIS et Y-AXIS doublées et la croix de commande à un « Hat Switch », un système permettant de gérer les diagonales.

Quand on presse le bouton analog, on a les même huit boutons physiques, le stick analogique de gauche vu comme un stick analogique, la croix de commande vue comme un stick analogique avec des variables fixées et le stick analogique de droite qui active certains boutons…

Dans les deux cas, les boutons select et start ne sont pas assignables en mode HID…

Terminons tout de même par un bon point : la manette est bien finie et n’est pas trop onéreuse (20 €, uniquement pour les abonnés Freebox Révolution).

Reste que si vous êtes joueur, une manette de PlayStation 3 marche bien sur Mac, sans latence visible, et même si c’est plus cher, c’est bien plus agréable…


Quel codec est utilisé en Bluetooth par l’iPhone ?

0
0

Aujourd’hui, un truc technique mais pratique : comment déterminer le codec utilisé en Bluetooth par un iPhone ? Une question pas si triviale : iOS n’indique pas le codec utilisé et il est pourtant très important, le SBC utilisé en Bluetooth étant plutôt mauvais. Sous iOS, on a le choix entre AAC et SBC, alors que (Mac) OS X supporte le SBC et l’AptX.
Bluetooth-Logo

Je vous le dis tout de suite : c’est tout sauf simple. iOS n’indique pas le codec, les appareils (dans la grande majorité des cas) non plus. Première chose, il faut vérifier si l’appareil supporte l’AAC, sinon, c’est assez simple : on est en SBC (et c’est dommage).

J’ai testé avec une Beats Pill, une enceinte portable à la qualité discutable mais qui a le mérite — pour notre test — de fonctionner en AAC. J’ai aussi testé avec une enceinte quelconque qui ne supporte que le SBC.

Première chose, il faut installer un fichier sur l’iPhone qui va permettre d’accéder aux informations de diagnostic d’iOS. J’ai du le modifier manuellement pour avoir assez d’informations.

Il faut ouvrir le fichier suivant avec l’iPhone et installer le tout. Bluetooth.mobileconfig.

Ensuite, il faut appairer votre appareil Bluetooth et lancer de la musique.

Une fois que c’est fait, dans Réglages -> Bluetooth -> Mode diagnostic, il faur choisir Save Logs.

Bluetooth

Bluetooth

Maintenant, il faut synchroniser l’iPhone avec iTunes. Quand c’est fini, les fichiers sont dans le dossier suivant :

/Users/Votre_nom_utilisateur/Library/Logs/CrashReporter/MobileDevice/Votre_iPhone/BluetoothDiagnostics/

Dans les fichiers, vous devriez trouver un fichier Bluetooth.log, qu’il faut ouvrir.

En cherchant AAC (si l’appareil est compatible), des lignes de ce type devraient être dans le fichier :

11:10:07.960 A2dpStreamManager.cpp:430 ExtractAacInfo A2DP Info AAC configuration being used.
11:10:07.960 A2dpStreamConfig.cpp:528 SetAacDataRate A2DP Info AAC frame len: 1 bytes, num frames: 870, bitrate: 256 kb/s, rtp intr: 27

A contrario, si l’AAC n’est pas de la partie, il faut chercher SBC.

11:20:03.756 A2dpStreamConfig.cpp:512 SetSbcDataRate A2DP Info Bitpool: 53, bitrate: 325 kb/s, SBC frame len: 118 bytes, num frames: 7

L’AAC a l’avantage de consommer moins du côté de l’iPhone (qui ne recompresse pas), d’offrir une meilleure qualité et d’utiliser moins de bande passante, ce qui rend la connexion plus stable.

Et espérons qu’un jour Apple payera la licence AptX pour iOS…

Une enceinte Bluetooth stéréo et NFC avec le Raspberry Pi

0
0

Un petit montage amusant né d’un question simple : comment est-ce que l’appairage d’une enceinte NFC fonctionne ? La réponse l’est assez (simple) : la puce NFC contient l’adresse MAC (aucun rapport avec Apple) de l’enceinte Bluetooth et un petit bout de code qui prévient le smartphone qu’il faut se connecter à l’enceinte. J’ai donc essayé de me programmer ma propre enceinte Bluetooth, avec un Raspberry Pi.
NFC

Qu’est-ce qu’il faut ?

Pour la partie enceinte, un Raspberry Pi (modèle B 256 Mo, ici), un adaptateur Bluetooth USB (j’en avais un qui traînait) et des enceintes. ici, j’ai testé avec la (mauvaise) sortie jack du Raspberry Pi mais on peut forcer la sortie HDMI ou une carte son USB.
Pour la partie NFC, il faut un tag NFC (j’ai utilisé des NTAG203) et un smartphone Android compatible NFC pour programmer le tag.

Comment ça marche

C’est assez simple : si vous passez le smartphone — Android, BlackBerry, Windows Phone, Symbian, tout sauf l’iPhone — sur le tag, il va normalement se connecter à l’enceinte. Attention au type de tag NFC : les téléphones récents veulent du NTAG203 (« compatible Galaxy S 4 »), donc n’essayer pas de tester — comme moi — avec un vieux MiFare. Si votre tag est incompatible (ça arrive), les résultats varient d’une erreur (BlackBerry), un bruit mais pas de réaction (Nexus 4) à « Ce tag n’est pas pris en charge » (Galaxy Zoom).

Côté Raspberry Pi

Le tuto provient en partie de là, avec quelques modifications. Attention, le fonctionnement reste assez aléatoire, sur trois installations, une n’a jamais accepté de fonctionner. Et bien évidemment, on est sur le codec de base en Bluetooth, le SBC, l’AptX n’est pas supporté (il nécessite une licence), ni l’AAC.

On installe les dépendances

sudo apt-get install bluez pulseaudio-module-bluetooth python-gobject python-gobject-2 bluez-tools

On adapte pulse audio.

sudo usermod -a -G lp pi

On modifie un fichier.

sudo nano /etc/bluetooth/audio.conf

Et on ajoute la ligne Enable=Source,Sink,Gateway,Socket,Media sous [General].

On modifie un fichier.

sudo nano /etc/bluetooth/main.conf

Donner un nom à votre appareil, après Name=, et ajouter la classe de l’appareil (Class = 0x20041C).

Récupérez l’adresse MAC de votre adaptateur.

hcitool dev

Allez modifiez une fichier.

sudo nano /var/lib/bluetooth/adress:MAC/config

Modifiez le nom et la classe dans le fichier (0x20041C).

On modifie un fichier.

sudo nano /etc/pulse/daemon.conf

Sous les lignes qui commencent par resample, ajouter la ligne suivante.

resample-method = trivial

Créer le script suivant.

sudo nano /etc/udev/rules.d/99-input.rules

Dans le fichier, ajoutez la ligne suivante.

KERNEL=="input[0-9]*", RUN+="/usr/lib/udev/bluetooth"

On crée un script.

sudo mkdir /usr/lib/udev
sudo nano /usr/lib/udev/bluetooth

Avec le contenu suivant.

#!/bin/sh

#change if you don't use default audio out
AUDIOSINK="alsa_output.platform-bcm2835_AUD0.0.analog-stereo"

echo "Executing bluetooth script...|$ACTION|" >> /var/log/bluetooth_dev

ACTION=$(expr "$ACTION" : "\([a-zA-Z]\+\).*")
if [ "$ACTION" = "add" ]
then
for dev in $(find /sys/devices/virtual/input/ -name input*)
do
if [ -f "$dev/name" ]
then
mac=$(cat "$dev/name" | sed 's/:/_/g')
bluez_dev=bluez_source.$mac

sleep 1

CONFIRM='sudo -u pi pactl list short | grep $bluez_dev'
if [ ! -z "$CONFIRM" ]
then
echo "Setting bluez_source to: $bluez_dev" >> /var/log/bluetooth_dev
echo pactl load-module module-loopback source=$bluez_dev sink=$AUDIOSINK rate=44100 adjust_time=0 >> /var/log/bluetooth_dev
sudo -u pi pactl load-module module-loopback source=$bluez_dev sink=$AUDIOSINK rate=44100 adjust_time=0 >> /var/log/bluetooth_dev
fi
fi
done
fi

On donne les bons droits.

sudo chmod 774 /usr/lib/udev/bluetooth

Maintenant, un script de démarrage.

sudo nano /etc/init.d/bluetooth-agent

Avec le contenu suivant.

### BEGIN INIT INFO
# Provides: bluetooth-agent
# Required-Start: $remote_fs $syslog bluetooth pulseaudio
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Makes Bluetooth discoverable and connectable to 0000
# Description: Start Bluetooth-Agent at boot time.
### END INIT INFO
#! /bin/sh
# /etc/init.d/bluetooth-agent
USER=root
HOME=/root
export USER HOME
case "$1" in
start)
echo "setting bluetooth discoverable"
sudo hciconfig hci0 piscan
start-stop-daemon -S -x /usr/bin/bluetooth-agent -c pi -b -- 0000
echo "bluetooth-agent startet pw: 0000"
;;
stop)
echo "Stopping bluetooth-agent"
start-stop-daemon -K -x /usr/bin/bluetooth-agent
;;
*)
echo "Usage: /etc/init.d/bluetooth-agent {start|stop}"
exit 1
;;
esac
exit 0

On donne les bons droits.

sudo chmod 755 /etc/init.d/bluetooth-agent
sudo update-rc.d bluetooth-agent defaults

Maintenant, une petite modification pour pulse audio.

sudo nano /etc/inittab

Commentez la ligne suivante avec un #.

1:2345:respawn:/sbin/getty 115200 tty1

Ajoutez la ligne suivante.

1:2345:respawn:/bin/login -f pi tty1 /tty1 >/dev/tty1 2>&1

Maintenant, il suffit de redémarrer.

Si ça marche, un Mac ou un iPhone devrait voir l’appareil en tant qu’enceinte Bluetooth et s’y connecter (code classique, 0000).

Truc à savoir, dans certains cas, le Raspberry ne sort pas le son qui provient de l’appareil, il faut entrer la ligne suivante. Ca m’est arrivé avec un Mac sous Mavericks et un smartphone Android, alors que l’iPhone ou un autre smartphone Android n’ont pas ce souci. Il faut mettre l’adresse MAC Bluetooth de l’appareil qui émet, avec les valeurs séparées d’un _.

pactl load-module module-loopback source=bluez_source.adresse_MAC sink=alsa_output.platform-bcm2835_AUD0.0.analog-stereo rate=44100 adjust_time=0

La partie NFC

La partie NFC est plus simple. Première chose, il faut un smartphone Android équipé en NFC et déjà appairé à votre enceinte. Ensuite, il faut installer l’application Easy Pairing Tag Writer (et éventuellement une application NXP).

On choisit l'enceinte

On choisit l’enceinte


On clique sur write

On clique sur write


Next

Next

On met le tag au bon endroit, on attend et… c’est fini.

Done

Done

Voilà, c’est fini.

Normalement, ça marche avec la majorité des téléphones NFC, il suffit d’effleurer le tag NFC et le Bluetooth s’activera, l’enceinte se connectera et le son passera sur l’enceinte. Techniquement, on peut appairer n’importe quel appareil Bluetooth de cette façon…

Mavericks : petit changement d’icône Bluetooth

0
0

Changement discret sous Mavericks : l’icône de menu qui indique que la batterie du clavier, du trackpad ou de la souris est vide a été modifiée. L’icône est ainsi plus visible. Par ailleurs, pour rappel, une notification est émise quand c’est le cas.
Bluetooth-Logo

Sous Mountain Lion

Sous Mountain Lion


Sous Mavericks

Sous Mavericks

Partage de connexion sur iPhone : câble, Wi-Fi ou Bluetooth ?

0
0

Depuis quelques années, Apple propose la possibilité d’utiliser l’iPhone comme modem et de partager sa connexion au réseau mobile via trois types de connexions : un simple câble USB, du Wi-Fi ou du Bluetooth. Mais quelle est le meilleur choix ? J’ai fait quelques tests avec un iPhone 5, une fois dans une zone bien couverte par le réseau 3G d’Orange et une seconde fois sur un boîtier femtocell, ce qui limite les débits mais permet de vérifier les éventuelles limites.
IMG_2831

Le Wi-Fi

L’iPhone va créer un réseau Wi-Fi 11n dans la bande des 2,4 GHz, avec un débit théorique de 65 mégabits/s. C’est un peu limitant pour partager une connexion 4G, mais ce n’est pas (encore) un problème en France.

01

Dans la pratique, j’ai obtenu 12 à 13 mégabits/s en réception et 1 mégabits/s en émission en Wi-Fi. A noter que Mac OS X indique qu’on est connecté sur l’iPhone, avec une icône modifiée.

02

Le câble

Le plus intéressant pour l’autonomie, avec des débits identiques au Wi-Fi dans mon cas. C’est peut-être plus rapide en 4G, mais je n’ai pas pu le vérifier. A noter que l’image ressemble à un iPhone Edge, qui n’a pas le partage…

03

Dans la pratique, j’ai les mêmes performances que le Wi-Fi : 10 à 12 mégabits/s en réception et 1 mégabits/s en émission.

Le Bluetooth

Parlons de la partie qui fâche. Le Bluetooth n’a jamais une technologie très rapide, même si la version 2.x est normalement capable d’atteindre 2 mégabits/s. Dans mon cas, entre un iPhone 5 et un MacBook Air 2012, le débit maximal est de 350 kilobits/s, que ce soit en réel ou sur un femtocell. Et j’ai dû, pour que la connexion fonctionne, désactiver les autres périphériques Bluetooth, soit une souris dans le premier cas et un trackpad dans le second.

04

Si ça ne fonctionne pas, vérifiez que le service PAN Bluetooth est bien présent dans le panneau Réseau des Préférences Système.

Au final, le choix est simple : le câble pour partager la connexion vers un Mac et le Wi-Fi dans tous les autres cas. Le Bluetooth est à proscrire sauf si vous n’avez vraiment pas le choix, genre un appareil qui n’a pas de Wi-Fi, ce qui est assez rare.

Apple TV : la configuration automatique avec un appareil iOS [MAJ]

0
0

Une nouveauté extrêmement pratique fait son apparition dans la nouvelle version de l’Apple TV (système 6.0) : la configuration automatique avec un appareil sous iOS 7. Tout ceux qui ont du un jour configurer un Apple TV en Wi-Fi et entrer un identifiant Apple avec la télécommande de l’Apple TV comprendront que c’est une feature absolument indispensable.
hero_appletv_2ndgen
MAJ : cette nouvelle fonction est officielle et Apple explique comment ça marche sur son site.

Comment ça marche ?

Ca utilise le Bluetooth 4.0 LE, et il faut donc un appareil compatible avec cette technologie. Du coté de l’Apple TV, il faut donc un modèle 1080p, le modèle 720p n’est pas compatible. Côté iOS, il faut un appareil compatible Bluetooth 4.0, donc un iPhone 4S ou 5, un iPod touch 5G, un iPad 3 ou 4 ou un iPad mini. L’iPhone 4 et l’iPad 2 ne sont pas compatibles. Bien évidemment, il faut aussi un appareil sous iOS 7.

Quand on a les appareils compatibles, c’est assez simple : on allume l’Apple TV, on branche le Bluetooth sur l’appareil iOS et on attend quelques secondes.

Sur l'Apple TV

Sur l’Apple TV


Sur l'iPad

Sur l’iPad


Sur l'iPad

Sur l’iPad


Sur l'iPad

Sur l’iPad

Comme on le voit, l’appareil iOS (ici un iPad 3) demande le nom du compte iTunes, quelques infos, et ensuite les données sont envoyées à l’Apple TV. En plus des informations entrées, l’Apple TV reçoit aussi de quoi se connecter en Wi-Fi (nom du réseau, mot de passe, etc.).

La vidéo montre comment ça fonctionne, c’est donc très rapide et l’Apple TV est connecté directement à votre réseau avec votre compte iTunes. Un must.

Apple abandonne le logo de son oreillette Bluetooth dans iOS 7

0
0

C’est @paingout qui me l’a fait remarquer : Apple a modifié l’icône de batterie pour les appareils Bluetooth dans iOS 7. Depuis la première version d’iOS (qui ne s’appelait pas encore iOS), Apple affichait en effet une icône représentant l’oreillette Bluetooth d’Apple. Avec iOS 7, on a une jauge de batterie plus classique.
hero_headset

Le fait est que l’icône d’une oreillette Bluetooth a souvent perturbé les utilisateurs, surtout depuis que les casques et autres enceintes Bluetooth renvoient la capacité de la batterie aux appareils iOS. Pour la petite histoire, la gestion de la batterie ne fait pas partie de la norme, c’est une commande propriétaire qui est utilisée, et elle donne valeur approximative (10 %).

iOS 6 et son icône d'oreillette

iOS 6 et son icône d’oreillette


iOS 7

iOS 7

La « magie » de l’oreillette Bluetooth Apple

0
0

J’en parlais récemment, Apple a sorti une oreillette Bluetooth en même temps que l’iPhone. Et cette oreillette avait une particularité : on pouvait la jumeler très facilement avec un appareil iOS. Ca fonctionne toujours d’ailleurs avec iOS 7 : il faut mettre l’oreillette dans son câble (ou son dock), relier le tout à un appareil iOS… et c’est tout. Je me suis longtemps demandé comment ça fonctionnait. J’ai un début de réponse.
hero_headset

Apple indique que ça s’appelle l’auto-pairing et que ça ne fonctionne pas en mode Avion, ce qui n’est pas vrai.

Ce qui est intéressant, c’est que quand on branche le câble USB à une source d’alimentation à un Mac (ou un chargeur) et ensuite à un appareil iOS (directement ou via un adaptateur 30 pins vers Lightning), le Bluetooth est activé automatiquement et l’oreillette appairée automatiquement, sans devoir presser un bouton, attendre, détecter, entrer un code (etc.). Ca marche, donc.

Après quelques recherches, j’ai trouvé un début de réponse : la connexion s’effectue via une liaison série. En effet, le connecteur 30 pins intègre ce qu’il faut pour une liaison série (TX, RX, etc.) et le Lighting peut fonctionner dans ce mode avec l’adaptateur.

Plus concrètement, quand l’oreillette est dans le câble, des commandes sont envoyées et les appareils iOS activent le Bluetooth (quand ils sont Bluetooth…) et sont capables de jumeler l’oreillette. C’est visiblement l’oreillette qui envoie une partie des informations (comme son adresse MAC) vu que le câble n’est pas dépendant d’une oreillette en particulier. J’ai essayé de regarder les commandes qui passaient, mais je ne suis pas un expert dans ce genre de choses : j’ai pu voir que le câble envoyait bien des commandes avec un adaptateur 30 pins vers série sur mon Mac, mais sans arriver à déterminer exactement comment ça fonctionnait. Si quelqu’un à une idée pour reproduire le truc…


Ajouter du Bluetooth 4.0/LE à un Mac

0
0

Petite astuce pour ceux qui veulent jouer avec du iBeacon ou qui ont besoin du Bluetooth 4.0 (aussi appelé Low Energy, LE) sur un Mac : beaucoup de dongles USB fonctionnent directement sous Mac OS X, et le système les prend en compte automatiquement.
Bluetooth-Logo

Ce modèle disponible chez Amazon fonctionne (je l’utilise), mais aussi n’importe quel modèle compatible Bluetooth 4.0 qui utilise une puce d’origine Broadcom (c’est parfois indiqué dans la description). Les modèles à base de puce CSR ne fonctionne pas, il faut se méfier et donc vérifier avant la puce utilisée.

Sauf si vous avez changé les paramètres de Mac OS X (j’explique là-bas), le fait de brancher un adaptateur USB va forcer le changement du contrôleur interne (s’il existe) vers le contrôleur externe.

Pour vérifier si le nouveau contrôleur fonctionne bien, il faut se rendre dans le menu , A propos de ce Mac, Plus d’infos…, Rapport Système…, Bluetooth. La variable « Version LMP : » devrait être 0x6 si tout fonctionne. Si vous avez une autre valeur, vous pouvez aller vérifier là à quoi elle correspond.

Sur un Mac mini 2010

Sur un Mac mini 2010

Question prix, on trouve du Kensington à 35 €, mais aussi des trucs moins chers sur Amazon ou même eBay, sans être totalement certain de recevoir un modèle avec la bonne puce.

Pour la reconnaissance, ça fonctionne sous Mavericks, a priori Mountain Lion mais pas Lion.

Partager une connexion à Internet en Bluetooth

0
0

Au départ, je voulais vous parler d’EcoDroidLink, un logiciel qui permet de transformer un Raspberry Pi en point d’accès Bluetooth. Sauf qu’en fait, ça marche assez mal. Donc je vais juste m’intéresser à la création d’un « réseau » Bluetooth pour certains appareils iOS.
Bluetooth-Logo

Faisons simple : un profile Bluetooth permet de faire passer du TCP/IP (du réseau) sur une liaison Bluetooth, il s’appelle PAN, pour Personal Area Networking. Il est implémenté dans Mac OS X depuis un moment (la version 10.4.9 de Tiger) et ça fonctionne assez bien pour connecter un Mac à un téléphone (au hasard un iPhone) qui partage sa connexion.

Si ça fonctionne entre un téléphone connecté et un Mac, on peut aussi le faire dans l’autre sens : le Mac va partager sa connexion à un autre appareil. Petit bémol : si ça fonctionne vers un autre Mac ou vers un iPad Wi-Fi, ça ne fonctionne vers un iPhone, en tout cas je n’ai pas réussi.

Vers un Mac

Sur le Mac source (qui a la connexion), il faut aller activer le partage dans Préférences Système -> Partage. Il faut choisir votre carte réseau comme source (Wi-Fi, Ethernet, etc.) et Bluetooth PAN comme cible. Ensuite, on active le partage.

Partage

Partage

Sur le Mac cible, il faut d’abord effectuer un jumelage entre les deux appareils. Ensuite, on se rend dans Préférences Système -> Réseau, et on choisit Bluetooth PAN. On vérifie que c’est bien le Mac en face qui est sélectionné, et on clique simplement Connecter.

Connecter

Connecter

N’attendez pas des débits très élevés : entre un MacBook Air 2012 (Bluetooth 4.0, en source) et un Mac mini 2010 (Bluetooth 2.1, en client), j’obtiens à peine 500 kilobits/s. En utilisant un contrôleur externe Bluetooth 4.0, c’est encore pire : environ 300 kilobits/s seulement, a priori à cause d’une antenne sûrement moins efficace dans un format clé USB.

C'est lent

C’est lent

Vers un iPad

Vers un iPad Wi-Fi (et sûrement un iPod touch), c’est la même chose. Il faut d’abord partager la connexion depuis le Mac, et ensuite jumeler l’iPad et le Mac.

Sur l’iPad, il faut désactiver le Wi-Fi, aller dans Bluetooth et simplement connecter le Mac. Une fois que c’est fait, vous aurez l’icône classique (deux chevrons d’une chaîne) dans le coin gauche de l’écran.

iPad

iPad

Sur l’iPad, on atteint environ 1 mégabit/s, la stack Bluetooth d’iOS semble plus efficace.

1 Mb/s

1 Mb/s

Au niveau des limites, le réseau Bluetooth ne prend a priori que sept clients en plus de la source. Il est parfaitement possible de créer un réseau local sans partager la connexion à Internet, en fixant simplement manuellement les adresses IP, mais c’est lent, donc l’intérêt reste franchement limité.

Le cas EcoDroidLink

EcoDroidLink doit normalement permettre de transformer un Raspberry Pi en point d’accès, et ça fonctionne visiblement avec certains appareils sous Android. Ceci dit, le soft n’a pas fonctionné sur une de mes cartes SD (avec un système bidouillé) et j’ai du repartir de zéro sur une autre carte pour que ça fonctionne. Et même dans ce cas-là, impossible d’utiliser mon contrôleur Bluetooth 4.0 Broadcom, seul un modèle CSR et un vieux modèle 2.0 fonctionnent.

Une fois lancé, impossible de jumeler l’appareil, que ce soit via le Mac ou via l’iPad. Par ailleurs, le site de l’application indique que ça ne fonctionne pas avec tous les appareils sous Android. A éviter donc.

Un point d’accès Bluetooth pour accéder à Internet

0
0

Je parlais récemment de la possibilité d’utiliser le partage de connexion de Mac OS X pour se connecter à Internet en Bluetooth, via le profile PAN, et je suis tombé sur un appareil amusant : un point d’accès Bluetooth connectable en Ethernet, le DBT-900AP de D-Link.
Bluetooth-Logo

Sorti au début des années 2000, ce petit appareil intègre une puce Bluetooth, une prise Ethernet et permet de partager une connexion à Internet en Bluetooth, via le profile PAN. Si actuellement l’intérêt est faible, étant donné que le Wi-Fi est présent pratiquement partout, à l’époque c’était viable : les connexions étaient lentes, le Wi-Fi ne faisait pas encore partie de l’arsenal de base de tous les smartphones, tablettes et autres ordinateurs portables et le Bluetooth était moins onéreux que les cartes Wi-Fi de l’époque.

Le DBT-900AP

Le DBT-900AP

L’appareil en lui-même a été conçu par un ingénieur pervers : le code de jumelage est composé de chiffres (root) et le seul moyen de le changer est de passer par un programme Windows qui dans mon cas — à travers une machine virtuelle — n’a jamais réussi à fonctionner. Autre point, s’il fonctionne visiblement (j’arrive à me connecter), mes logiciels permettant d’identifier un appareil sur le réseau ne le voient pas.

La connexion fonctionne avec un iPad (testé avec un iPad 3 sous iOS 7.1.1 et un iPad sous iOS 5) mais pas avec un iPhone ou un iPod touch. L’iPod touch est en théorie compatible, mais le système ne me propose pas la possibilité d’utiliser des lettres pour le code de jumelage… Avec un Mac sous Mavericks, même chose : impossible de jumeler les appareils.

Après, le problème vient des performances : environ 250 kilobits/s. C’est franchement faible, le partage de connexion de Mac OS X offre par exemple des débits quatre fois plus élevés.

Je n’ai pas (encore) pu tester avec des appareils sous Android, mais cette solution a visiblement un avantage : le Bluetooth consomme nettement moins que le Wi-Fi. Ceci dit, les rares solutions que j’ai pu tester sont très perfectibles, et le Wi-Fi reste tout de même plus simple et plus efficace.

Disons que pour ceux qui veulent se connecter en douce à Internet sans fil, le Bluetooth a l’avantage d’être plus sécurisé que le Wi-Fi, c’est déjà ça.

OS X Yosemite supporte l’AAC en Bluetooth (c’est confirmé)

0
0

Bonne nouvelle pour les amateurs d’audio en Bluetooth : Yosemite supporte a priori le codec AAC en Bluetooth, en plus du SBC (obligatoire) et de l’aptX, supporté depuis Snow Leopard.

MAJ : j’ai pu tester, ça fonctionne.
Bluetooth-Logo

En Bluetooth A2DP (pour la musique), le codec est important. Celui de base, obligatoire, est assez peu efficace, alors que l’aptX a une bonne réputation et que l’AAC permet normalement encore de meilleurs résultats. L’avantage théorique de l’AAC, c’est qu’il est possible d’envoyer directement le fichier à l’appareil (enceinte, casque, etc.), sans le décoder du côté du lecteur pour l’encoder dans un codec adapté avant de le décoder sur la cible.

En clair, on consomme moins du côté de la source et on gagne en qualité, ce qui est évidemment intéressant. C’est Bluetooth Explorer qui indique le support (que je n’ai pas testé), avec des paramètres pour l’AAC.

Sous Mavericks

Sous Mavericks


Sous Yosemite

Sous Yosemite

A noter qu’iOS supporte l’AAC depuis un moment, mais pas l’aptX de ce que j’en sais. Ceci dit, iOS 8 le supporte peut-être, mais là encore je n’ai pas de quoi tester.

MAJ : testé avec une enceinte Philips BT5580, ça fonctionne. Avec Yosemite, on passe en AAC, avec Mavericks on est en aptX.

AAC

AAC

Continuity : on peut l’activer avec un dongle Bluetooth 4.0 dans certains cas

0
0

Les bidouilleurs avancent visiblement sur le support de Continuity et AirDrop iOS sur les anciens Mac. En effet, un hacker a réussi à l’activer sur des hackintosh avec des dongles Bluetooth 4.0 en USB à base de puces Broadcom ou CSR.
Apple-Handoff-Icon
MAJ : le point au 23 octobre 2014. Ca ne fonctionne pas avec un dongle Bluetooth externe.

En fait, il faut une carte Wi-Fi qui utilise le pilote AirPortBrcm4360.kext (les cartes Wi-Fi 11ac, quelques cartes Wi-Fi 11n), les deux normes étant liées au Wi-Fi pour certaines opérations, donc AirDrop vers iOS. Si votre carte utilise un autre pilote, il sera éventuellement possible de la changer, mais ce n’est pas systématiquement possible.

Continuity

Continuity

Visiblement, ça dépend aussi en partie de la carte Wi-Fi et l’auteur explique qu’il a du patcher le firmware de la carte (ce n’est pas spécialement compliqué, mais il faut une machine sous Linux) dans certains cas.

Mais ça montre surtout que ça fonctionne avec des dongles Bluetooth 4.0 et que le problème est lié à la carte Wi-Fi, ce qui n’est pas évident au premier abord…

Viewing all 88 articles
Browse latest View live




Latest Images

Vimeo 10.7.0 by Vimeo.com, Inc.

Vimeo 10.7.0 by Vimeo.com, Inc.

HANGAD

HANGAD

MAKAKAALAM

MAKAKAALAM

Doodle Jump 3.11.30 by Lima Sky LLC

Doodle Jump 3.11.30 by Lima Sky LLC

Doodle Jump 3.11.30 by Lima Sky LLC

Doodle Jump 3.11.30 by Lima Sky LLC

Vimeo 10.6.1 by Vimeo.com, Inc.

Vimeo 10.6.1 by Vimeo.com, Inc.

Vimeo 10.6.0 by Vimeo.com, Inc.

Vimeo 10.6.0 by Vimeo.com, Inc.

Re:

Re:

Re:

Re: