Forum: Mikrocontroller und Digitale Elektronik JDY-31 Bluetoothmodule mit BK3432


von Vanye R. (vanye_rijan)


Angehängte Dateien:

Lesenswert?

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

von Vanye R. (vanye_rijan)


Lesenswert?

Noch eine Info falls der eine oder andere nun auf dem Geschmack gekommen 
ist. Die Teile ziehen so 8mA, egal ob sie laufen oder nix zu uebertragen 
haben, egal ob SPP oder BLE mode. Fuer BLE vielleicht etwas viel...

Ausserdem melden sie jedes mal wenn eine Verbindung aufgebaut oder 
abgebrochen wird dies mit einem Wort im Datenstrom, also z.B CONNECT. 
Das kann man gut finden, oder weniger gut. Haengt halt vom dem ab was 
man da implementiert hat. Es gibt wohl bei manchen dieser seriellen 
Module auch ein Wort mit dem man die Stumm schalten kann, also nur noch 
Nutzdaten, das hat bei mir aber nicht geklappt. Wird also nicht 
unterstuetzt oder ich hab es noch nicht rausgefunden.

Vanye

von Vanye R. (vanye_rijan)


Angehängte Dateien:

Lesenswert?

Es klappt wirklich! Man kann mit dem Teil ueber BLE Daten austauschen!

Aus dem Bild koennt ich die beiden Characteristiken fuer TxD und RxD 
ablesen. Das ist schon 10x mehr Infos wie man den veralteten Datenblatt 
des JDY-13 entnehmen kann. :-D
Etwas erschuetternd finde ich es ja das der ganze BLE Aufwand fuer 1Byte 
pro Datenpaket getrieben wird. Aber immerhin bekommt man so jedes Byte 
sofort und nicht erst nach einem Timeout oder Return oder sowas.

Interessant ist auch das es mit dem JDY-33, siehe Datenblatt schon 
laenger ein Modul vom selben Hersteller gibt das ganz offiziell SPP und 
BLE kann und das es dazu sogar ein Datenblatt gibt. Da fragt man sich 
doch wieviele der Infos aus dem Datenblatt des 33er man fuer den 13er 
ableiten kann.

Eine echte Sternstunde des Softwarentwicklung ist aber der Satz aus
dem Datenblatt des 33er:

       This version has been validated by
       a large numberof customers and been
       largely produced. It is very stable.
       It is recommended to use V1.6 version.

Die Banane ist also bereits beim Kunden gereift. Da kann man doch 
zugreifen. :-D

Vanye

von Vanye R. (vanye_rijan)


Lesenswert?

Das Datenblatt zum JDY-33 ist ganz hilfreich, nicht alle Kommandos
daraus funktionieren. Aber z.B AT+SLEEP geht und damit geht dann
der Stromverbrauch auf 0mA bis man den ueber Enable wieder aufweckt.

Damit kann ich das Teil echt fuer eigene Bastelaktionen empfehlen.
Drankommen ist vielleicht nicht so einfach. Ein Freund hat gerade
ebenfalls welche bestellt, aber die normalen JDY-31 ohne BLE
bekommen.
Tja, das Leben ist eine Schachtel Pralinen... .-)

Vanye

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
Noch kein Account? Hier anmelden.