Es gibt einen bekannten Blogpost, der sich damit befasst, wie man einen USB-Bluetooth-4-Dongle als iBeacon einrichten kann. Es läuft darauf hinaus, diesen magischen Befehl herunter:Verwenden von hcitool zum Setzen von Werbepaketen
sudo hcitool -i hci0 cmd 0x08 0x0008 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 c5 00 00 00 00 00 00 00 00 00 00 00 00 00
Das Problem mit diesem Beispiel ist, dass es so undurchsichtig ist es schwer, ist es in jedem allgemeinere Format zu verwenden. Ich habe in der Lage gewesen, um es zu brechen ein wenig auseinander:
sudo hcitool -i hci0 cmd
einen hci-Befehl an das hci0 Gerät sendet den „gerade haben
0x08 0x0008
ist nur Magie des Anzeigenpaket, andere Stackoverflow Kommandos zu setzen es verwenden, bitten nicht
1e
die Länge des gesamten ist folgende Datenpaket in Bytes
02 01 1a 1a
Sind Flaggen das Anzeigenpaket (Details auf Anfrage) einzurichten
ff 4c 00 ...
sind die ‚unternehmensspezifische Daten‘, die die IBeacon info ersetzen
Was ich habe versucht zu tun, kodiert ist "FF ..." Bytes mit den Opcodes zum Setzen des NAME-Parameters "04 09 41 42 43" (der auf ABC setzen sollte), aber das funktioniert nicht.
Ich bin überrascht, dass das hcitool uns einige Beispiele nicht gibt, wie man das Anzeigenpaket einstellt, wie das sehr nützlich sein könnte, wenn man alle möglichen anderen params (wie TEMP oder POWER) setzt. Hat jemand andere Erfahrung im Umgang mit HCitool, um Dinge wie NAME zu setzen?
Die Werbepaket Nutzlast, die am Ende übertragen übertragen beginnt mit der Sequenz "02 01 1a 1a". Das "ff 4c", das Sie zu ändern versuchen, ist also gut innerhalb der Nutzlast, und so ändert sich das nicht in einem anderen Befehl, sondern lediglich in einer verstümmelten Übertragung. –