Hallo Joachim,
wie die Daten rein kommen, kommt drauf an, was wir unter linux verwenden wollen. hcitooladv / btmon / hcidump. Aber ist fast egal. Ich tendiere momentan zu btmon weil es gut verfügbar ist und ausreichend Daten liefert. Es würden sich nur die Bytenummern verschieben. Wahrscheinlich ist es am einfachsten sich an den Daten von btmon zu orientieren - alles andere liefert nur mehr Daten, die dann eben zurecht gestutzt werden.
Daten von hcitooladv auf UDP-Socket:
18.03.2022, 20:14:28 | RECEIVED [127.0.0.1:56936] | 34:14:B5:4B:AC:38-1aff0d000002ff27ecb7cf7efbecb3df7e07121c300006374bac380302a0adb7<LF>
Daten die btmon liefert:
0002ff27ecb7cf7efbecb3dfbe060954c04005164bac38
Leider kann ich nur wenige Werte in der App anzeigen lassen.
Der Füllstand ist ca. 10cm. Quality-Stars sind 3 und das Batteriesymbol scheint 100% zu haben.
Damit lässt sich wahrscheinlich besser arbeiten als mit den String-Operationen.
btmon hat auch eine Option -s SOCKET, [–server] Start monitor server socket. Habe aber nichts gefunden wie man das verwendet und ob es das ist was man möchte…
mein Sensor ist doch schon heute gekommen!
Bei einen hcitool lescan ist er sichtbar, dabei wird die komplette MAC sichtbar, an Daten bin ich aber auf die Schnelle nicht gekommen. Wenn Du mir mal aufzeigen könntest, wie man da schnell mit einem der Tools an Daten komme wäre das sicher hilfreich.
Heute ist aber auch der Geburtstag einer meiner Töchter - von daher wird da heute nicht ganz so viel passieren.
Hallo Joachim,
um schnell an Daten zu kommen ist es am einfachsten, du machst zwei Konsolen auf dem RPI auf.
Auf der ersten lässt du btmon laufen.
Auf der zweiten machst du ein hcitool lescan.
Dann bekommst du die Daten am btmon.
Für das Modul wäre es vielleicht sinnvoll nur die drei letzten stellen der MAC-Adresse zu filtern, da man diese direkt aus der Smarphone-App ablesen kann. (Oder die Möglichkeit sowohl eine vollständige MAC anzugeben und wahlweise die verkürzte)
was wir wir denn schon gesichert über die ankommenden Daten:
[1] => 0
[2] => 2
[3] => 164
[4] => 39
[5] => 13
[6] => 116
[7] => 144
[8] => 129
[9] => 6
[10] => 26
[11] => 72
[12] => 192 - Batterie 1
[13] => 129 - Batterie 2
[14] => 4 - Temperatur 1
[15] => 4 - Temperatur 2
[16] => 96 - Tank 1
[17] => 144 - Tank 2
[18] => 128
[19] => 3
[20] => 199
[21] => 189 - MAC 4 Die letzten drei „Stellen“ der MAC-Adresse
[22] => 87 - MAC 5
[23] => 22 - MAC 6
Ich habe mal eingetragen was ich aus dem Thread zusammentragen konnte, unsicher bin ich bei den Eintragungen ob die o-basierenden sind (meine Aufstellung ist ja 1-basierend!)
Schaue mal bitte ob ich das so korrekt gemacht habe und ob ich etwas vergessen habe…
Hallo Joachim,
zur Zählung kannst du mal oben in den „Notizen“ schauen. Ich weiß aber net, warum du Batterie und Temperatur so weit hinten eingeordnet hast. Normal müssten die beiden Werte auch nur ein Byte lang sein.
Bei mir sind sie nur so weit hinten, weil ich mit den Strings gearbeitet hatte und meine Daten auch länger waren (da nicht von btmon).
Bei dir müsste [2] → HardwareID, [3] → Batterie, [4] → Temperatur sein.