NEWS
[Aufruf] BLE Adapter testen (v0.6.0)
-
Hallo zusammen,
habe gerade den BLE (Bluetooth Low Energy) Adapter veröffentlicht. In der ersten Version entspricht er mehr oder weniger meinem Skript, das BLE Advertisements empfängt und speichert.
Später soll Verbindung zu Geräten und Schreiben von Werten hinzukommen.
In den Adapter-Optionen müssen die Services eingetragen werden, die gespeichert werden sollen, da andernfalls viel zu viele States gespeichert werden.
Vor der Installation müssen möglicherweise ein paar Pakete (Linux) installiert werden:
sudo apt-get install bluetooth bluez libbluetooth-dev libudev-dev
Dann kann der Adapter von GitHub https://github.com/AlCalzone/ioBroker.ble oder über die Admin-UI installiert werden.
Freue mich über Tester!
–-
EDIT: in v0.4.0 gibts neue Plugins => viewtopic.php?f=36&t=7932&p=136475#p136475
-
Hallo AlCalzone
Ich weiß, dass ich klein häßlich und gemein bin, das brauchst du mir nicht mehr zu sagen
Es dauerte erst "stundenlang", bis sich überhaupt im Installationsscreen etwas tat, dann die üblichen serialport(?)-Meldungen und dann war er fertig und … ... ... NICHTS!
Kein Adapter, nichts.
Unter Objekten fand ich dann dies hier:
…und nein, mehr erzähl ich dir erst einmal nicht
Gruß
Rainer
-
So der zweite:
Das gefällt mir schon besserWas muss man denn hier eintragen?
Ich muss doch nicht etwa das readme auf github lesen?
EDIT:
Jetzt hab ichs doch getan. aber da steht nicht viel, nur:
> Monitor Bluetooth Low Energy (BLE) beacons and record their information.
Erkennt der Adapter dann nicht die Geräte, die das BLE Skript von ruhr70 findet?Gruß
Rainer
-
und nun die dritte:
und natürlich ist hier die Ampel gelb.Gruß
Rainer
-
AlCazone: wie finde ich denn raus was es so gibt?! Hintergrund: ich hab nen Robomow Rasenmäher und der kommuniziert mit seiner Handy App per BLE. Aber in den Bluetooth Verbindungen vom Handy steht da nix drin. Könnt ich das über den Adapter finden?!
-
Es dauerte erst "stundenlang", `
Der Adapter benötigt das noble-Paket, was einiges an Abhängigkeiten installiert/kompiliert. Dauert bei mir auch.Erkennt der Adapter dann nicht die Geräte, die das BLE Skript von ruhr70 findet? `
Ich fürchte dass nur ein Scanvorgang gleichzeitig laufen kann. Was genau macht ruhr's Skript mit den Geräten?und natürlich ist hier die Ampel gelb. `
Edit: Nevermind, du hast es gepostet… Was ist der Unterschied von 2. zu 3.?AlCazone: wie finde ich denn raus was es so gibt?! Hintergrund: ich hab nen Robomow Rasenmäher und der kommuniziert mit seiner Handy App per BLE. Aber in den Bluetooth Verbindungen vom Handy steht da nix drin. Könnt ich das über den Adapter finden?! `
Den Adapter hab ich heute nur schnell aus einem vorhandenen Skript zusammengebastelt. In einer zukünftigen Adapterversion will ich diese Übersicht in das Einstellungs-Tab integrieren, sodass du anhaken kannst, welche Geräte/Informationen du speichern willst und welche nicht.Aktuell musst du z.B. auf die App nRF Connect ausweichen. Schau mal http://forum.iobroker.net/viewtopic.php?p=81525#p81525 bzw. http://forum.iobroker.net/viewtopic.php?p=83065#p83065. In dem verlinkten Fall würdest du "fe95" oder "0xfe95" (ohne Anführungszeichen) in das Textfeld eintragen.
https://www.bluetooth.com/specifications/gatt/services hat eine Liste von standardisierten IDs, z.B. 0x180F für Batteriestatus.
-
Ich fürchte dass nur ein Scanvorgang gleichzeitig laufen kann `
Klar, ruhrs skript läuft auch (leider) bei mir schon länger nicht mehr.Was genau macht ruhr's Skript mit den Geräten? `
http://forum.iobroker.net/viewtopic.php … BLE+skriptNach kurzer Zeit war mein Log voll von Geräten aus der Nachbarschaft (iPhone, Garmins, BT-Earphones….). Hier passiert erst einmal gar nichts.
Was ist der Unterschied von 2. zu 3.? `
verschiedene Installationen auf verschiedenen Rechnern.Der Adapter benötigt das noble-Paket, was einiges an Abhängigkeiten installiert/kompiliert. Dauert bei mir auch. `
muss sonst noch etwas installiert werden? (siehe den Link zu ruhr70)Gruß
Rainer
-
muss sonst noch etwas installiert werden? (siehe den Link zu ruhr70) `
An Abhängigkeiten gilt erst mal das Gleiche, d.h.sudo apt-get install bluetooth bluez libbluetooth-dev libudev-dev
bzw.
https://github.com/sandeepmistry/noble#prerequisites
Nach kurzer Zeit war mein Log voll von Geräten aus der Nachbarschaft (iPhone, Garmins, BT-Earphones….). Hier passiert erst einmal gar nichts. `
War auch nicht das Ziel, log und Objekte vollzuspammen. Wie oben geschrieben, soll in der nächsten Version eine Auswahl sein, mit der DU entscheidest, was im ioBroker landet und was nicht. Aktuell musst du leider wissen, was du einbinden willst. -
Aktuell musst du leider wissen, was du einbinden willst. `
per BT-MAC oder wie?An Abhängigkeiten gilt erst mal das Gleiche, d.h. `
dann werde ich das mal bei der 3, der mit der gelben Ampel machen.Gruß
Rainer
-
Nein, die UUIDs oder standardisierten Nummern der Services, die das Gerät anbietet
Siehe z.B. hier in ruhr's Skript: http://forum.iobroker.net/download/file … &mode=view => 180f wäre der Batteriestatus
Damit landet der Batteriestatus aller Geräte als State in ioBroker.
-
Beispiel:
-
Hab auch mal installiert. Scheint zu laufen. Jedenfalls grün und connection = treu und driver State = poweredOn.
Ich meine auch bemerkt zu haben, als ich damals das BT-Script von ruhr am Laufen hatte, dass der Radar Adapter nicht richtig funktionierte. Vielleicht gibt es Probleme wenn mehrere noble wollen. Schauen wir mal.
-
Nein, die UUIDs oder standardisierten Nummern der Services, die das Gerät anbietet
Siehe z.B. hier in ruhr's Skript: http://forum.iobroker.net/download/file … &mode=view => 180f wäre der Batteriestatus
Damit landet der Batteriestatus aller Geräte als State in ioBroker. `
So mit der Info nin ich heute mal tiefer auf die Suche gegangen nach den Infos von meinen Rasenmäher.
hcitools hat nichts relevanten gefunden.
Mein iOS Handy sagt der Name ist "Mo0085", aber hat keine BT-Adresse oder so, was scheinbar bei LE "normal" ist, oder ?!
Also hab ich weiter gesucht und bin endlich per Handy-App "LightBlue" auf das hier gekommen:
23:23:08.031 — CentralManager not on, delaying scan 23:23:08.035 — Bluetooth State: Powered On 23:23:08.455 — Starting search for nearby peripherals 23:23:08.479 — Discovered nearby peripheral: Mo0085 (RSSI: -93) 23:23:08.496 — Discovered nearby peripheral: [TV] Samsung 5 Series (32) (RSSI: -94) 23:23:08.776 — Discovered nearby peripheral: (null) (RSSI: -82) 23:23:09.517 — Discovered nearby peripheral: (null) (RSSI: -91) 23:23:09.664 — Starting search for nearby peripherals 23:23:09.788 — Stopping search for nearby peripherals 23:23:14.085 — Starting search for nearby peripherals 23:23:15.191 — Discovered nearby peripheral: (null) (RSSI: 127) 23:23:27.824 — Starting search for nearby peripherals 23:23:36.811 — Stopping search for nearby peripherals 23:23:44.104 — Starting search for nearby peripherals 23:23:46.475 — Connecting to nearby peripheral: Mo0085 23:23:47.824 — Connected to nearby peripheral: Mo0085 23:23:49.961 — Characteristic (2A25) read: <424c452d 4150504c 49434154 494f4e2d 303031> 23:23:50.009 — Characteristic (2A23) read: <fffe14d5 45784b08=""> 23:23:50.087 — Characteristic (2A27) read: <41303455> 23:23:50.140 — Characteristic (2A26) read: <75456e65 72677920 53444b20 322e302e 302e3431> 23:23:50.192 — Characteristic (2A28) read: <332e302e 302e3030> 23:23:50.244 — Characteristic (2A29) read: <526f626f 6d6f77> 23:23:50.349 — Characteristic (2A50) read: <010a004c 010001></fffe14d5>
Weiterhin hab ich eine UUID vom Device scheinbar (8CACE547-7145-EAF2-0259-F438B904F79E) und eine Service UUID (FF00A501-D020-913C-1234-56D97200A6A6).
So was davon trage ich jetzt ein? :-))
Die Characteristics an sich helfen nicht sooo viel … das sind nur Daten wie Servicenummer, System.ID Hardware/Firmware-Revision und so kram.
Eigentlich interessiert mich nur der RSSI Wert von dem Device, weil ich Die Daten ja wohl eh nicht dekodiert bekomme, oder ?!
-
Ok weitergeschaut dann gibts noch characteristics mit ner uuid und die haben andere Daten …
00:18:08.838 — Characteristic (FF00A502-D020-913C-1234-56D97200A6A6) read: <00000000 00000000 00000000 000000> 00:18:33.014 — Characteristic (FF00A502-D020-913C-1234-56D97200A6A6) read: <00000000 00000000 00000000 000000> 00:18:37.186 — Characteristic (FF00A503-D020-913C-1234-56D97200A6A6) read: <> 00:18:39.760 — Characteristic (FF00A503-D020-913C-1234-56D97200A6A6) read: <> 00:18:41.213 — Disconnected from nearby peripheral Mo0085 with error: The specified device has disconnected from us. 00:18:46.954 — Starting search for nearby peripherals 00:18:47.109 — Discovered nearby peripheral: Mo0085 (RSSI: -95) 00:18:47.495 — Disconnecting from nearby peripheral: Mo0085 00:18:48.352 — Connecting to nearby peripheral: Mo0085 00:18:48.810 — Connected to nearby peripheral: Mo0085 00:18:49.053 — Characteristic (2A25) read: <424c452d 4150504c 49434154 494f4e2d 303031> 00:18:49.131 — Characteristic (2A23) read: <fffe14d5 45784b08=""> 00:18:49.288 — Characteristic (2A27) read: <41303455> 00:18:49.368 — Characteristic (2A26) read: <75456e65 72677920 53444b20 322e302e 302e3431> 00:18:49.578 — Characteristic (2A28) read: <332e302e 302e3030> 00:18:49.735 — Characteristic (2A29) read: <526f626f 6d6f77> 00:18:49.894 — Characteristic (2A50) read: <010a004c 010001> 00:18:50.370 — Stopping search for nearby peripherals 00:18:52.228 — Characteristic (FF00A504-D020-913C-1234-56D97200A6A6) read: <62626262> 00:19:58.252 — Characteristic (FF00A505-D020-913C-1234-56D97200A6A6) read: <61616161> 00:20:02.557 — Characteristic (FF00A506-D020-913C-1234-56D97200A6A6) read: <> 00:20:18.630 — Disconnected from nearby peripheral Mo0085 with error: The specified device has disconnected from us.</fffe14d5>
-
Auslesen lassen kannst du die Charakteristiken, d.h. 2A25, 2A23, FF00A502-D020-913C-1234-56D97200A6A6, etc, sofern diese nicht nur bei einer Verbindung bereit stehen, sondern auch per Advertisement gesendet werden. Im Prinzip alle, die die App "nRF Connect" bei ServiceData ausspuckt (siehe vorige Posts).
RSSI kann ich prinzipiell auch mit ausgeben, wenn die von Interesse ist.
weil ich Die Daten ja wohl eh nicht dekodiert bekomme, oder ?! `
Eventuell schon, musste mal googlen ob das schon wer untersucht hat. -
Hm, dann schaue ich mal. Fürchte da kommt ohne connect nichts
Naja dann vllt der RSSI bzw habe wegen "Discovery" an sich und RSSI mal beim radar-Adapter ein Issue als Idee auf gemacht … weil ich den schon einsetze.
Kann man eigentlich mit zwei Bluetooth-"Sticks" (bzw. einmal build in und einmal stick) zwei DInge gleichzeitig machen, Dann müssten die Adapter unterstützen das man irgendwie angeben kann welcher Stick genutzt werden soll ...
-
Hab auch mal installiert. Scheint zu laufen. Jedenfalls grün und connection = treu und driver State = poweredOn.
Ich meine auch bemerkt zu haben, als ich damals das BT-Script von ruhr am Laufen hatte, dass der Radar Adapter nicht richtig funktionierte. Vielleicht gibt es Probleme wenn mehrere noble wollen. Schauen wir mal. `
Bei mir ist außer dem Info Ordner nichts dazu gekommen. Ich hatte auch mal testweise den Radar Adapter ausgeschaltet und auch den BLE Adapter paar mal neugestartet.BT läuft bei mir auf dem brix. Ich könnte das ganze auch auf dem Raspi3 testen, aber auf dem brix läuft es ja bisher ohne Probleme mit Radar und noble.
-
Kann man eigentlich mit zwei Bluetooth-"Sticks" (bzw. einmal build in und einmal stick) zwei DInge gleichzeitig machen, Dann müssten die Adapter unterstützen das man irgendwie angeben kann welcher Stick genutzt werden soll … `
EDIT: Device selection kommt heute Abend: https://github.com/AlCalzone/ioBroker.ble/pull/3RSSI-Speichern kommt in der nächsten Version (heute Abend): https://github.com/AlCalzone/ioBroker.ble/pull/1
Connect und so in Kürze.
-
Bei mir ist außer dem Info Ordner nichts dazu gekommen. `
Hast du in der Config Services angegeben, die gespeichert werden sollen? Und bist du sicher, dass diese auch advertised werden? -
Bei mir ist außer dem Info Ordner nichts dazu gekommen.
Hast du in der Config Services angegeben, die gespeichert werden sollen? Und bist du sicher, dass diese auch advertised werden?
Achso! Ich hatte gar nichts eingestellt bisher. Habe jetzt mal "0x180F" eingetragen unter Überwachte Dienste. Da hat er gleich einen meiner G-tags gefunden.