NEWS
[Aufruf] BLE Adapter testen (v0.6.0)
-
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. -
Achso! Ich hatte gar nichts eingestellt bisher. `
Ja, die "Doku" ist gelinde gesagt mau. Es sollte aber in naher Zukunft etwas selbsterklärender werden -
Hat jemand von euch g-tags damit ausprobiert?
Hab nach diesem link paar services eingetragen,
aber es bleibt sehr mau mit den Objekten. Batterie % wäre toll.
https://www.bluetooth.com/specifications/gatt/services
1146_adapter.jpg
1146_objekte.jpg -
Die Geräte sollten eigentlich nur angelegt werden, wenn die Services auch tatsächlich gebroadcasted werden. Eventuell hat das mit nem Bug zu tun, den ich vorhin gefixt habe.
Lösch den Adapter nochmal und installiere bitte die neueste Version (geht inzwischen auch über die Liste im Admin => Github-Button).
@Apollon77 Inzwischen kann auch ausgewählt werden, welches Bluetooth-Gerät zum Funken verwendet wird. Unter Linux sollte auch schön benannt sein, welches das ist (UART oder USB).
-
Die Geräte sollten eigentlich nur angelegt werden, wenn die Services auch tatsächlich gebroadcasted werden. Eventuell hat das mit nem Bug zu tun, den ich vorhin gefixt habe.
Lösch den Adapter nochmal und installiere bitte die neueste Version (geht inzwischen auch über die Liste im Admin => Github-Button). `
OK. Jetzt wird rssi und services angezeigt. Beim Einrichten konnte ich nur USB im Adapter auswählen, obwohl kein Gerät am USB hängt, aber scheinbar egal.Was auffällt ist das es sehr schnell hintereinander aktualisiert die Werte… und dann paar Sekunden Pause ist. Also geschätzt nach 30...40 sec wird kurz hintereinander der Wert etwa 5x aktualisiert. Ich könnte mir vorstellen, dass diese 5x Aktualisierungen unnötig an der Batterie ziehen, oder?
-
Jetzt wird rssi und services angezeigt. `
Die Werte auch?Beim Einrichten konnte ich nur USB im Adapter auswählen, obwohl kein Gerät am USB hängt, aber scheinbar egal. `
Interessant. Ich frage nur ab, was Linux für Geräte kennt. Aber die Benennung ist eigentlich egal. Kann das noch jemand nachvollziehen?Was auffällt ist das es sehr schnell hintereinander aktualisiert die Werte… und dann paar Sekunden Pause ist. Also geschätzt nach 30...40 sec wird kurz hintereinander der Wert etwa 5x aktualisiert. Ich könnte mir vorstellen, dass diese 5x Aktualisierungen unnötig an der Batterie ziehen, oder? `
Meinst du RSSI? Der wird bei mir ca 2-3x pro Sekunde aktualisiert. Dadurch, dass keine aktive Verbindung hergestellt wird, sondern nur auf sowieso gesendete Pakete gelauscht, dürfte das keinen Einfluss haben. Mein Puck.js, der seit mehreren Wochen alle 375ms ein Paket sendet, hat immernoch 95% Batterie.Wenn in einer zukünftigen Version aktiv verbunden wird, gilt es natürlich, hier einen Mittelweg zwischen Aktualität und Batterieverbrauch zu finden.
-
Es werden nur rssi Werte angezeigt. Bei services ist leer, aber wahrscheinlich nicht die richtigen services ausgewählt, keine Ahnung welche die g-tags können.
2-3x/Sekunde ist ja super für eine schnelle Anwesenheitsbestimmung
-
keine Ahnung welche die g-tags können. `
Hast du mal die nRF Connect App ausprobiert um zu schauen was die können? Würde gerne ausschließen dass der Fehler an meinem Code liegt. -
keine Ahnung welche die g-tags können.
Hast du mal die nRF Connect App ausprobiert um zu schauen was die können? Würde gerne ausschließen dass der Fehler an meinem Code liegt.
Jetzt ja, coole App!Nun kenne ich den Batteriestand und den Sendezyklus.
Die 94% habe ich noch nicht hinbekommen unter services angezeigt zu bekommen. Im Adapter, Überwachte Dienste, habe ich eingetragen: 0x2A19, 0x180F, 0x2902, 0x2A04