Raspberry Pi iBeacon connexion de time out
Je suis actuellement en train de tenter le Raspberry Pi iBeacon tutoriel posté par RadiusNetworks à
http://developer.radiusnetworks.com/2013/10/09/how-to-make-an-ibeacon-out-of-a-raspberry-pi.html
mais je vais avoir des problèmes avec la connexion d'expirer après quelques secondes. J'ai effectué une nouvelle version de raspbian, et ont essayé avec 2 clés usb (AZIO V400 et IOGEAR GBU521), et j'ai essayé avec Bluez de 5,8 pour le tutoriel ainsi que Bluez 5.11, à la fois sur les frais Raspbian charges.
Quand j'ai appeler le script de démarrage, je vois:
pi@piBlueTest ~ $ ./start
Launching virtual iBeacon...
LE set advertise enable on hci0 returned status 12
< HCI Command: ogf 0x08, ocf 0x0008, plen 44
1E 02 01 1A 1A FF 4C 00 02 15 E2 C5 6D B5 DF FB 48 D2 B0 60
D0 F5 A7 10 96 E0 00 00 00 00 C9 00 00 00 00 00 00 00 00 00
00 00 00 00
> HCI Event: 0x0e plen 4
01 08 20 00
Complete
Cela déclenche une "Entrée" d'un événement sur l'iPhone à l'aide de "Localiser iBeacon" app, et indique une distance en mètres pendant quelques secondes. Il montre ensuite la "Distance: inconnu" comme la gamme de plusieurs secondes, suivi par une "sortie" de l'événement se produise. Quand je lance la séquence avec "hcidump" la course, je reçois
HCI sniffer - Bluetooth packet analyzer ver 5.11
device: hci0 snap_len: 1500 filter: 0xffffffff
< HCI Command: LE Set Advertise Enable (0x08|0x000a) plen 1
> HCI Event: Command Complete (0x0e) plen 4
LE Set Advertise Enable (0x08|0x000a) ncmd 1
status 0x0c
Error: Command Disallowed
< HCI Command: LE Set Advertising Data (0x08|0x0008) plen 44
> HCI Event: Command Complete (0x0e) plen 4
LE Set Advertising Data (0x08|0x0008) ncmd 1
status 0x00
< HCI Command: LE Set Advertising Parameters (0x08|0x0006) plen 15
min 1280.000ms, max 1280.000ms
type 0x00 (ADV_IND - Connectable undirected advertising) ownbdaddr 0x00 (Public)
directbdaddr 0x00 (Public) 00:00:00:00:00:00
channelmap 0x07 filterpolicy 0x00 (Allow scan from any, connection from any)
> HCI Event: Command Complete (0x0e) plen 4
LE Set Advertising Parameters (0x08|0x0006) ncmd 1
status 0x00
< HCI Command: LE Set Advertise Enable (0x08|0x000a) plen 1
> HCI Event: Command Complete (0x0e) plen 4
LE Set Advertise Enable (0x08|0x000a) ncmd 1
status 0x00
> HCI Event: LE Meta Event (0x3e) plen 19
LE Connection Complete
status 0x00 handle 64, role slave
bdaddr B8:F6:B1:1C:15:C8 (Public)
> ACL data: handle 64 flags 0x02 dlen 11
ATT: Read By Type req (0x08)
start 0x0001, end 0xffff
type-uuid 0x2a00
> HCI Event: Disconn Complete (0x05) plen 4
status 0x00 handle 64 reason 0x13
Reason: Remote User Terminated Connection
Il semble que l'iPhone est d'essayer d'établir une connexion avec le pi, et ne parvient pas à négocier que la connexion se termine ensuite la publicité.
J'ai suivi les étapes du tutoriel à la lettre, et n'arrive pas à déterminer quelle est la cause de la déconnexion. J'ai essayé de changer bluez versions, et j'ai essayé un matériel différent, mais en vain. Les idées de ce que l'étape I est peut-être manquant? J'ai cherché tout ce que je peux penser pour trouver des indices, mais n'ont pas trouvé la réponse pour le moment. Merci d'avance pour tout conseil!
Salut David, merci pour la réponse. Oui, je peux garder le redémarrage, et elle permet de conserver le même modèle, dès que je redémarre, il sera le déclencheur d'une "Entrée" de l'événement, les rapports de distance pendant quelques secondes, puis inconnue pour plusieurs, puis dans hcidump je vais voir le débrancher, suivie par la "Sortie" de l'événement.
Hmmm. Je n'ai jamais vu ce problème. Je me demande si il ya un problème avec votre BLE dongle, une différence dans la façon dont vous avez bluez configuré, ou une combinaison des deux.
Il est certainement étrange. Juste pour être certain, hier soir, j'ai à nouveau fait une nouvelle version de 2013-09-25-wheezy-raspbian.zip, les seuls changements ont été pour modifier les paramètres régionaux, changer le nom d'hôte, et exécuter la mise à jour et mise à niveau. J'ai ensuite suivi le tutoriel à la lettre en utilisant les iogear dongle, et ont exactement le même résultat.
OriginalL'auteur Chris Sparrow | 2013-11-27
Vous devez vous connecter pour publier un commentaire.
Essayez de régler l'appareil à "faire de la publicité et de la non-connectable" (3 au lieu de 0) au lieu de "faire de la publicité et connectable"
Tout à coup nous avons eu une balise de descendre après quelques secondes grâce à un ordinateur portable, essayez de vous connecter. Réglage de l'appareil de-connectable résolu le problème.
Bonne trouvaille! Nous mettrons à jour le Rayon des Réseaux howto et pré-assemblé iBeacon Dev Kits
OK, le Rayon de Réseaux HOWTO est maintenant mis à jour pour inclure ce, comme le sont tous les iBeacon Dev Kits qui nous sont livrés pré-assemblés.
Que faire si je reçois
LE set advertise enable on hci0 returned status 12
après l'exécution de cette commande?OriginalL'auteur RaynerVintervoll
Dirait que vous l'avez résolu, mais je vais aller de l'avant et l'après, pour d'autres qui pourraient avoir le même problème je l'ai fait et trouver ce fil.
Comme Chris, j'ai suivi les étapes du tutoriel, à l'exception de l'utilisation de bluez 5.11. Après quelques essais, j'ai dû changer l'ordre des étapes dans la section "démarrage" du script. Je ne sais pas pourquoi mais ce qui semble être le seul ordre dans lequel il va fonctionner correctement. Peut-être que j'ai fait quelque chose de mal?
En utilisant le recommande 5.8, avec iogear.com/product/GBU521 j'ai également eu à utiliser bobscaggs' révisée de l'ordre pour la fonction.
OriginalL'auteur bobscaggs
Peut-être vous pouvez éviter cela en faisant quel que soit le périphérique est de tenter une connexion cesser de le faire. Ce n'est pas normal pour iOS. Avez-vous dire de la tentative de connexion? Vous êtes sûr que c'est l'appareil iOS à faire cela? C'est peut-être votre ordinateur?
Alternativement, si vous ne pouvez pas le faire vous-même, je peux fournir un gratuit .fichier iso avec le code exact que nous mettons sur les unités de nous vendre des pré-assemblés. Cela pourrait éliminer une accumulation de problème. Veuillez envoyer une note par le biais de notre chiffre d'affaires de contact si vous voulez essayer cette.
Qui était-il! J'ai désactivé le bluetooth sur mon macbook, et maintenant, il va maintenir la connexion. Merci beaucoup pour les conseils. Maintenant, j'ai juste besoin de trouver un moyen de faire de la balise de plus robuste, si une tentative de connexion d'un autre appareil ne risque pas de le tuer.
Comme un suivi à quelqu'un d'autre connaît ça, je vois maintenant, c'est le "Knock" de l'application qui j'ai eu en cours d'exécution sur mon macbook qui est le moteur de la tentative de connexion et de tuer le ibeacon. Knock est une application qui vous permet de déverrouiller votre mac avec 2 coups sur votre iPhone, en utilisant BLE. Quand j'ai Frapper en cours d'exécution, il tente de se connecter à la pi, et tue le phare. Si je ferme la logique de l'application sur le macbook, tout est bien.
Intéressant. Le vôtre est le premier rapport que j'ai entendu parler de ce genre. Je voudrais faire de la Pi iBeacon suffisamment robuste pour se remettre de cette. On pourrait probablement le faire avec un processus de redémarrage de la publicité si cela se produit, mais j'ai de la moitié pense qu'il y est une façon de dire simplement Bluez pour interdire les connexions et continuer de publicité.
OriginalL'auteur davidgyoung