Moin Leute,
Ich dachte ich erzaehle mal den einen oder anderen etwas damit er sich keinen Strick nehmen muss. :-D
Man kann bei Aliexpress und auch sonst wo seit einiger Zeit relativ preiswert, so um 1Euro, JDY-31 Module kaufen. Das sind Teile welche eine Bluetooth nach serieller Schnittstelle Verbindung herstellen.
Wie bei den Chinesen leider ueblich ist die Doku voll fuer den Arsch!
In der Vergangenheit war auf den Modulen ein Mikrocontroller drauf der BK3231 heisst. Das ist ein Mikrcontroller der Bluetooth 3.0 konnte. Angeblich, mich wundert das etwas, weil Bluetooth 3.0 eigentlich bedeutet das die Teile auch Wlan koennen sollten, seufz. Das ist aber das klassiches Bluetooth welches mit SPP eine virtuelle serielle Schnittstelle kann! Die brauchen dann ein pairing (PW: 1234) und dann hat man einen Comport im System.
Irgendwann gab es den BK3231 wohl nicht mehr und deshalb ist da jetzt ein BK3432 drauf. Das ist ein komplett anderer Mikrocontroller mit natuerlich anderer Firmware. Die Teile werden aber weiterhin als JDY-31 verkauft. Was zusammen mit der beschissenen Doku nicht so doll ist. Und die Teilen sehen sich auch noch EXTREM aehnlich. Lediglich die Aufschrift auf dem Controller ist anders und ein Quarz ist um 90Grad gedreht.
Diese neuen JDY-31 koennen nun altes klassisches Bluetooth und neues BLE! Also wirklich beide vollkommen unterschiedlichen Protokolle die NICHTS miteinander zutun haben ausser das die bloede Bluetooth Organisation sie sehr aehnlich genannt hat um die Menschheit zu verwirren.
Wenn nun der neue JDY-31 abgescannt wird dann bietet er beide Protokolle an! Dabei ist JDY-31-SPP altes Bluetooth mit SPP und JDY-31-LE ist BLE. (siehe Bild) Das muss man wissen, vor allem weil beim scannen das BLE Interface sofort auftaucht und das SPP erst einige Sekunden spaeter. Wenn man also schnell tippt dann wird man das SPP niemals sehen und einfach BLE auswaehlen. Und wenn man dann glaubt dass man einfach per Comport damit reden kann, pech gehabt. :-) Dabei ist BLE nicht grundsaetzlich schlecht. Man kann auch damit ueber Handles/GATT Daten austauschen. Das funktioniert auch. BLoss muss man es halt wissen und darf sich nicht im Internet durch alte Beschreibung zu alten JDY-31 verwirren lassen die das nicht koennen!
Die Module koennen diverse Kommandos solange sie keine Verbindung aufgebaut haben. Also z.B Sowas hier:
Command: AT+VERSION<CR><LF> Antwort: +VERSION=JDY-31A-V2.242,Bluetooth V3.0+BLE<CR><LF>
Defaultbaudrate bei mir 9600B.
Also KEINE Verbindung! Also NICHT ueber den virtuellen Comport sondern den echten TxD/RxD Leitungen am Modul!
Wer von seinem Handy damit rumpielen will dem kann ich das hier empfehlen:
https://play.google.com/store/apps/details?id=de.kai_morich.serial_bluetooth_terminal&hl=de
Das kann sogar interessanterweise im BLE Mode als Terminal arbeiten obwohl das eigentlich kein direkter Bluetooth BLE Standard ist! https://thejeshgn.com/2016/10/01/uart-over-bluetooth-low-energy/ Leider findet man da keine Doku zu. Man muesste also eigentlich genau wissen was man wo reinschreiben/abholhen muss. (Was man in handle 0x0010 schreibt wird gesendet und kommt am JDY-31 aus TxD raus)
Also eigentlich sind die Teile, erst recht fuer den Preis, super. Auch das sie beides koennen ist super. Bloss die Doku ist natuerlich nicht nur schlimm, sondern durch die Verwendung des alten Namens verwirrend falsch!
Vanye

