Hallo, ich habe hier einen Bluetooth-Sensor, der mittels APP für Android ausgelesen werden kann. Ich würde das Teil gerne mit meinem Rechner verbinden und die Daten in Matlab weiterverarbeiten. Leider gibts die Software nur als Androidapp. Meine Frage wäre, ob es ein Programm gibt, mit dem man die eingehenden Datenpakete der Bluetooth Schnittstelle monitoren kann. Wenn das Protokoll nicht zu komplex ist, kann man vielleicht rauskriegen was da die Nutzdaten sind. Oder hättet ihr noch ne andere Idee?
Versuche mal mit https://play.google.com/store/apps/details?id=no.nordicsemi.android.mcp Ob du das protokoll am handy auslesen kannst. Dann kann man weiter sehen wie es am pc am besten geht. Wie heist der Sensor ? Also modell nr. etc. Mfg
Bei meinem Android Handy findet sich in den Einstellungen bei den Entwickleroptionen eine Einstellmoeglichkeit zum Bluetooth Trace Log. D.h. es koennte sein dass dein Handy das bereits kann und du es nur einschalten mustt. Ich habe es selber noch nicht genutzt. Es koennte sein dass Du die Entwickleroptionen auch erst aktivieren musst auf deinem Handy, bei mir war es glaube ich ein paar mal auf die Systeminfos tippen, dann wurde es sichtbar, dass muesstest Du fuer dein Handy aber mal googeln, Viel Erfolg
Es geht um das Teil hier: https://www.phywe.de/de/cobra-smartsense-force-50-n.html#tabs4 Ist an sich schon Schrott, dass man das nur mit Android-App liefert. Wobei ich noch nicht mal ein Tablett o.ä. habe um das mit deiner App zu testen. Und nein, es ist nicht auf meinem Mist gewachsen das Teil zu kaufen.
Markus L. schrieb: > Ist an sich schon Schrott, dass man das nur mit Android-App liefert. Wieso? Für den angedachten Zweck (Schülerversuche) dürfte das wohl passen. M.E. für die Firma Phywe ein ausgesprochen niedriger Preis.
Ein Sensor, bei dem man nicht an die Messdaten rankommt, ist m.E. Spielzeug. Mir ist schon klar, dass Phywe ein anderes Zielpublikum hat bzw. würde es über Android als Umweg wahrscheinlich auch funktionieren. Der Sensor ist jetzt halt da, und die Frage ist, ob ich mit vertretbarem Aufwand da an Messdaten rankomme. Ein Android-Gerät habe ich nicht und müsste das erst anschaffen.
Markus L. schrieb: > Meine Frage wäre, ob es ein Programm gibt, mit dem man die eingehenden > Datenpakete der Bluetooth Schnittstelle monitoren kann. Wenn das > Protokoll nicht zu komplex ist, kann man vielleicht rauskriegen was da > die Nutzdaten sind. Du kannst Dich mal mit einem generischen GATT-Client (z.B. https://www.nordicsemi.com/Software-and-Tools/Development-Tools/nRF-Connect-for-mobile) auf das Gerät verbinden und Dir Struktur des GATT Servers angucken. Evtl. ist die trivial und evtl. sogar selbstbeschreibend. Wenn das nicht hilft, dann brauchst Du einen Sniffer. Nordic und TI bieten sehr günstige Lösungen, die auf deren Eval-Boards aufsetzen. > Oder hättet ihr noch ne andere Idee? Dem Hersteller eine EMail schicken und ihn höflich darum bitten, Dir die Dokuentation der BLE Schnittstelle zukommen zu lassen.
Dazu gibt es auch ein "Schüler-Interface". Früher nannte sich sowas "Nürnberger Trichter" und wurde am Hirn angebracht. Kann man das Teil hier öffnen, um den verbauten Chip oder Modul zu erkennen? Vielleicht ist das ein Standardbauteil wie die FTDI-Chips für USB/RS232 oder ähnliches. Die Entwickler sind nicht immer so begeistert, alles selbst bauen zu müssen.
Ich habe schon bei einigen Geräten, die per Bluetooth 4 ("BTLE") mit einem Smartphone kommunizieren, und für die es eben nur eine Smartphone-App gibt, das Protokoll erfolgreich reverse engineered, um das Gerät auch ohne die Hersteller-App bzw. mit eigener Software nutzen zu können. Deine Chancen stehen meiner Einschätzung nach gut, und es ist tatsächlich gar nicht mal sooo schwer. Man braucht dazu üblicherweise auch keinerlei zusätzliche Hardware; Carsten F. hat das entscheidende Stichwort bereits genannt: Bei den meisten modernen Android-Smartphones genügt es, die "Entwickleroptionen" freizuschalten (im Zweifelsfall kurz danach googlen, wenn Du nicht weisst, wie das geht), und dann in den "Entwickleroptionen" die Option "Bluetooth HCI-Snoop-Protokoll" temporär zu aktivieren. Mit dieser Option aktiviert, startest Du die zum Gerät zugehörige Smartphone-App, machst einige Messungen, damit einige Daten gesendet werden. Dann kannst Du die "Bluetooth HCI-Snoop-Protokoll"-Option wieder deaktivieren. Die "Bluetooth HCI-Snoop-Protokoll"-Option erzeugt eine Log-Datei, die Du einfach per USB-Kabel o.Ä. auf Deinen Computer überspielen und dort mit dem beliebten Open Source-Programm "Wireshark" öffnen kannst. Dann siehst Du ganz bequem, was da an Bluetooth-Kommunikation stattgefunden hat, kannst es nach Belieben filtern etc., besser geht es kaum. Die Messwerte werden vermutlich als immer gleich aufgebaute Datenpakete von maximal 20 Bytes gesendet; es wird vermutlich genügen, einige dieser Datenpakete mit unterschiedlichen Messwerten zu sammeln, zu vergleichen, welche Bytes sich ändern, und das sind dann die Nutzdaten/Messwerte. Ist jetzt etwas verkürzt und vereinfacht ausgedrückt, aber so in etwa solltest Du grundsätzlich vorgehen.
:
Bearbeitet durch User
Markus L. schrieb: > Ich würde das Teil gerne mit meinem Rechner > verbinden und die Daten in Matlab weiterverarbeiten. Das Gerät arbeitet mit Bluetooth 4 alias Bluetooth Low Energy. Das hat mit dem "Blutooth classic" nur den Namen geneinsam, die Systeme sind inkompatibel. Ich hatte dasselbe Problem mit einem Eigenbau, den ich über ein Android Smartphone mit BLE steuern und am PC entwickeln will. BT classic hat ein serielles Profil definiert und man muss nur ein BT 2.x USB-Dongel in den PC stecken, es über die BT-Software aktivieren und connecten und schon hat man das Gerät unter Linux über /dev/rfcommx als tty zugreifbar. Bei BTLE ist alles "besser": es gibt kein serielles Profil und die gesamte Protokollverarbeitung ist vom System- in der Anwendungsbereich verlagert. Mit Standardsoftware kann man zwar testen, aber einen regulären Zugang bekommt man nicht so einfach hin, wenn überhaupt. Ich hab mir per Hardware geholfen: - einen chinesischen USB <-> ttl-tty-Adapter und einen - MLT-BT05 BLE-Adapter auf einen Stück Lochraster mit einem Kabelbinder zusammengeflanscht - siehe Anhang Der MLT-BT05 läuft auf 3.3 V, der USB-Adapter ebenfalls und der stellt freundlcherweise neben den 5 V vom USB auch 3.3 V für ein angeschlossenes Gerät bereit. Wenn man das Teil in die USB-Buchse steckt, ist der BLE-Adapter über /dev/ttyUSBx zugreifbar. Ansprechen konnte ich dann mein BLE-Gerät über das Terminal der Arduino-IDE - das ist doof genug, dass es funktioniert, während ich mit den üblichen Terminal-Programmen bis jetzt auf keinen grünen Zweig gekommen bin. Den USB-BLE-Adapter muss man dann per AT-Befehl als Master definieren und - vermutlich - noch die passenden Kennungen für Profil und Charakteristik für das Zielgerät programmieren und dann hoffen, dass man an die Daten kommt. Leider ist das alles ein ziemliches Gefrickel, weil es keine vernünftigen Dokumentationen gibt.
Uhu U. schrieb: > Leider ist das alles ein ziemliches Gefrickel, weil es keine > vernünftigen Dokumentationen gibt. Die gänigen Betriebssysteme bieten Schnittstellen an, um auf die BLE Hardware zugreifen zu können. Für schnelle Tests bietet sich Noble (https://github.com/noble/noble) an.
Torsten R. schrieb: > Die gänigen Betriebssysteme bieten Schnittstellen an, um auf die BLE > Hardware zugreifen zu können. Ja klar, nur muss man die eben per dediziertem Programm bedienen. Einfaches Ansprechen über /dev/tty* ist nicht.
Hier der source code der app https://workupload.com/start/RsnFpQj8 Der Source code ist nicht verschlüsselt dadurch lässt sich recht einfach die Funktionen rausfinden habe da nur rüber geschaut sieht aber alles sehr einfach aus
:
Bearbeitet durch User
Danke mal für eure Hilfe. Muss mal schauen, was ich davon umsetze. Leider habe ich eigentlich keine zeitliche Kapazitäten für sowas, und das Auslesen in Matlab wäre auch nur nice2have. Vielleicht kann man auch ne Projektarbeit draus machen und nen Studi dransetzen. Reverse-Engineering ist eigentlich eine interessante Sache.
Markus L. schrieb: > Leider habe ich eigentlich keine zeitliche Kapazitäten für sowas, und > das Auslesen in Matlab wäre auch nur nice2have. Vielleicht schreibst Du beim nächsten mal, dass Du die Frage nur aus langer Weile gestellt hast, dann spare ich mir eine Antwort.
Torsten R. schrieb: > Vielleicht schreibst Du beim nächsten mal, dass Du die Frage nur aus > langer Weile gestellt hast, dann spare ich mir eine Antwort. Ich habe nicht aus langer Weile geschrieben. Es ist insgesamt nur eben auf niedriger Priorität neben dem Tagesgeschäft. Ich werde mir die Sachen auch anschauen, und wenn es passt eine Projektarbeit für Studis drausmachen (es sei denn ich kriege es in 1-2 h selber hin, es scheint mir aber aufwändiger zu sein). Und wenn ein paar Studis das bearbeiten war deine Antwort doch auch nicht umsonst.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.