Ich mache gerade ein Projekt, das Ziel ist mit ESP32S3, ein Nuki Lock zu simulieren. Das simulierte NukiLock(ESP32S3) wird mit Nuki Fob verbinden. Ich habe mit nrf52840 dongle und wireshark die Verbindung zwischen Nuki Lock und Nuki Fob beobachtet, bitte sehen Sie NukiLock-Fob.JPG, hier Nuki Lock ist Server/Slave und Nuki Fob ist Client/Master. es gibt MTU Exchange nach dem "LL_SLAVE_FEATURE_REQ", Es ist sehr interessant, dass "MTU Exchange Request" ist von Nuki Lock (Server/Slave) zu Nuki Fob (Client/Master). Weil "MTU Exchange Request" normalweise von Cilent zu Sever gesand ist. Im zweite Bild ESP32-Fob.JPG, simulierte Nuki Lock(ESP32S3) ist Server/Slave, und Nuki Fob ist Client/Master. ich habe probiert mein simulierte Nuki Lock(ESP32S3) mit Nuki Fob zu verbinden, es fehlt "MTU Exchange" nachdem "LL_SLAVE_FEATURE_REQ". meine Frage: wie kann ich im ESP32 Gatt Server das "MTU Exchange Request" senden?
Hi, ich kann Dir leider nicht beantworten, wie Du den MTU Size Exchange initiierst. Aber: bist Du Dir sicher, dass Du den brauchst? Ohne MTU Size Exchange wäre der default 23 Byte. Reicht das ggf. schon für Deine Anwendung? mfg Torsten
ich habe Nuki Mitarbeiter gefragt, und Nuki Fob MTU ist 247. Ich habe auch mit 247 bei meiner NukiLock(simulierte von ESP32S3) probiert. aber leider funktioniert nicht, und es passiert kein MTU Exchange zwischen NukiLock(simulierte von ESP32S3) und Nuki Fob...
:
Bearbeitet durch User
Ich habe gerade mal die GATT-Server Dokumentation überflogen (https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/bluetooth/esp_gatts.html). Da scheint es keine Möglichkeit zu geben, den MTU Size Exchange anzustoßen. Ist ja aber Open Source, damit könntest Du die fehlende Funktion einbauen. Vielleicht gibt es aber auch einen Automatismus, der den Exchange auslöst, wenn klar wird, dass es Characteristic values gibt, die größer 20 Byte sind. Für LE Secure Connections wäre ein MTU > 23 auf jeden Fall nötig.
Dank für die schnelle Rückmeldung! ich habe eine Frage nach Ihre Rückmeldung. was meinen Sie : "vielleicht gibt es aber auch einen Automatismus, der den Exchange auslöst, wenn klar wird, dass es Characteristic values gibt, die größer 20 Byte sind."
> was meinen Sie : > > "vielleicht gibt es aber auch einen Automatismus, der den > Exchange auslöst, wenn klar wird, dass es Characteristic values gibt, > die größer 20 Byte sind." Ich kenne die API nicht. Aber vielleicht kann man irgendwo bei der Beschreibung der GATT Tabelle angeben, dass bestimmte characteristics länger sein werden als 20 Byte. Wenn der BLE Stack auf der Server-Seite davon ausgeht, dass alle Characteristic values <= 20 Byte sein werden, dann bräuchte er keinen MTU Size Exchange initiieren. Was würde den passieren, wenn Du LE secure connections einschaltest (falls das geht)?
es wird ein Pairing passieren, und NukiLock(simulierte von ESP32S3) und Nuki Fob sollen zusammengekoppelt wwerden. im Anhang gibt es ein API Dokuiment von Firma Nuki. auf der Seite 74 gibt es ein Beispiel über Authorize App, also ein Schlüssel Koppollung zwischen Nuki Lock und Nuki APP. Ich habe schon mit NukiLock(simulierte von ESP32S3) und Nuki APP erfolgreich probiert. Jetzt bin ich stoppt hier von "MTU Exchange request von Server zu Client" zwischen NukiLock(simulierte von ESP32S3) und Nuki Fob. ich freue mich auf Ihre weitere Rückmeldung.
:
Bearbeitet durch User
Lidong W. schrieb: > es wird ein Pairing passieren, und NukiLock(simulierte von ESP32S3) und > Nuki Fob sollen zusammengekoppelt wwerden. LE Secure connections setzt aber eine MTU von 65 voraus. Deswegen fände ich das mal interessant. Ich tippe aber mal, dass Du da an der Stelle nichts machen kannst, wenn Du den Client nicht ändern kannst und die API des Servers das Auslösen des MTU Size Exchange nicht implementiert hat. Du könntest das natürlich als feature request einstellen und hoffen, dass sich das jemand anguckt. Bei 1200 offenen issues würde ich mir da allerdings wenig Hoffnung machen. Wenn Du nicht auf ESP32 festgelegt bist, und z.B. auf nRF52 wechseln möchtest, würde ich das Feature in Bluetoe (https://github.com/TorstenRobitzki/bluetoe) einbauen ;-)
vielen Dank für Ihre Hilfe und Vorschlag!!! Ich muss bei ESP32S3 bleiben, und das ist Ziel. ich probiere es weiter.
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.