Produktbilder dienen ausschließlich zu Informationszwecken und können je nach Charge und Lieferant geringfügige Unterschiede aufweisen. Produktspezifikationen und Preise können ohne vorherige Ankündigung geändert werden. Wir tun unser Bestes, um der Produktseite möglichst genaue und richtige Spezifikationen hinzuzufügen, es ist jedoch möglich, dass diese nicht ganz korrekt sind. Sollten Sie einen solchen Fall feststellen, melden Sie ihn uns bitte.
Das Produkt ist für Fachleute bestimmt und erfordert qualifiziertes und autorisiertes Personal. Dem Produkt liegt keine Montage-/Gebrauchsanleitung bei . Die Inbetriebnahme des Produktes durch nicht qualifizierte Personen führt zum Verlust der Garantie gemäß den AGB auf der Seite.
Die angegebenen technischen Spezifikationen (Strom, Leistung usw.) stellen maximale zulässige Werte unter idealen Betriebsbedingungen dar. Für einen sicheren Betrieb und eine optimale Lebensdauer wird empfohlen, das Produkt im Dauerbetrieb mit höchstens 50 % der angegebenen Maximalwerte zu verwenden.
Bluetooth-Modul JDY-18, BLE 4.2, UART-Schnittstelle, Reichweite 60 m
Hochgeschwindigkeits-Bluetooth-Modul für die schnelle Integration drahtloser Konnektivität in elektronische Projekte, ideal für stabile Kommunikation zwischen Mikrocontrollern und mobilen Geräten. Unterstützt Bluetooth 4.2 für geringen Stromverbrauch und erweiterte Kompatibilität, arbeitet mit einer Versorgungsspannung von 1.8-3.3V, hat kompakte Abmessungen und eine schnelle Reaktion bei der Datenübertragung.
Mit dem Kauf dieses Produkts erhalten Sie 1,21 RON an Treuepunkten.
International fast shipping within EU. Free Shipping for orders above 100 EUR in most EU countries.
We ship from our stock within 24H
Sie erhalten bei jeder Bestellung Punkte im Wert von 5 %.
Das Bluetooth-Modul JDY-18 ist ein Bluetooth-Low-Energy-Modul (BLE) 4.2 mit serieller UART-Schnittstelle, das eine drahtlose Verbindung zwischen einem Mikrocontroller und einem Telefon oder zwischen zwei Modulen herstellt. Die Daten, die am Pin RXD gesendet werden, gelangen zum Telefon, und die Daten, die vom Telefon gesendet werden, kommen am Pin TXD heraus, wie bei einem seriellen Kabel ohne Draht. Es eignet sich für Fernbedienungen, drahtlose Sensoren, batteriebetriebene Geräte, Bluetooth-Etiketten und andere Anwendungen, die Daten mit einem Telefon oder einem anderen BLE-Gerät austauschen.
Das Modul arbeitet im 2.4-GHz-Band mit GFSK-Modulation, hat eine Sendeleistung von maximal 0 dBm und eine Empfindlichkeit von -97 dBm, was eine Reichweite von bis zu 60 m im freien Feld ermöglicht. Werkseitig arbeitet es als Slave-Gerät mit transparenter Übertragung, über den Dienst FFE0 und die Charakteristik FFE1, mit 9600 Baud. Über AT-Befehle lassen sich der Name, die serielle Geschwindigkeit, die Rolle Master oder Slave, die UUIDs, die Sendeleistung, das Verbindungspasswort und das Sendeintervall ändern. Die Einstellungen bleiben auch nach dem Abschalten der Versorgung erhalten.
Zu den Hauptmerkmalen gehören die auf der Platine gedruckte Antenne, der Quarz, die seitlichen Pads des Moduls und die Stiftleiste mit 5 Pins (VCC, GND, TXD, RXD und STAT) für den schnellen Anschluss an eine Steckplatine. Die Versorgung erfolgt mit niedriger Spannung von 1.8 - 3.3 V, und die Stromaufnahme beträgt etwa 4 mA beim Senden, unter 300 µA im leichten Ruhezustand und in der Größenordnung von Mikroampere im Tiefschlaf.
Über die UART-Schnittstelle lässt sich das Modul an Arduino, ESP32, STM32, Raspberry Pi und andere Plattformen mit serieller Schnittstelle anschließen. Die Signale des Moduls haben einen Logikpegel von 3.3 V, daher muss bei Platinen mit 5-V-Logik die Datenleitung zum Modul mit einem Spannungsteiler oder einem Pegelwandler herabgesetzt werden.
Spezifikationen:
Versorgungsspannung: 1.8 - 3.3 V
Stromaufnahme: 4 mA (aktiv, beim Senden)
Modell: JDY-18
Bluetooth-Version: BLE 4.2 (kompatibel mit BLE 4.0 und 4.1)
Frequenzband: 2.4 GHz
Modulation: GFSK
Sendeleistung: maximal 0 dBm
Empfindlichkeit: -97 dBm
Übertragungsreichweite: bis zu 60 m
Schnittstelle: UART (TXD, RXD) mit Statusausgang STAT
Standard-Baudrate: 9600 Baud
Konfigurierbare Baudraten: 1200 - 230400 Baud
Standardmodus: Slave, transparente Übertragung
BLE-Dienst und Charakteristik: FFE0 und FFE1
Stromaufnahme im leichten Ruhezustand: unter 300 µA
Antenne: auf der Platine gedruckt
Betriebstemperatur: von -40 bis 80 °C
Anschlüsse: Stiftleiste mit 5 Pins
Layout:
| Element | Funktion |
|---|---|
| Gedruckte Antenne | Goldfarbener Bereich am Rand der Platine, auf dem die 2.4-GHz-Antenne verläuft. Er darf nicht mit Metall abgedeckt werden und nicht neben metallischen Bauteilen platziert werden, um die Reichweite zu erhalten. |
| BLE-Funkschaltkreis | Der schwarze integrierte Schaltkreis in der Mitte der Platine, der das Bluetooth-Funkmodul, den BLE-Stack und die AT-Befehle verwaltet. |
| Quarz | Silberfarbenes metallisches Bauteil neben dem Schaltkreis, das dem Funkmodul die Taktfrequenz liefert. |
| Seitliche Pads des Moduls | Kontakte an den Rändern der Platine, über die das Modul direkt auf eine andere Leiterplatte gelötet werden kann. |
| Stiftleiste mit 5 Pins | Die Pins VCC, GND, TXD, RXD und STAT für Versorgung, serielle Kommunikation und Verbindungsstatus. Die Pinbezeichnungen sind auf der Rückseite der Platine aufgedruckt. |
Pinbelegung:
| Steckverbinder | Pin | Funktion |
|---|---|---|
| Stiftleiste 5 Pins | VCC | Positive Versorgung des Moduls mit niedriger Spannung. Nicht an 5 V anschließen. |
| Stiftleiste 5 Pins | GND | Masse, gemeinsam mit der Masse der Steuerplatine. |
| Stiftleiste 5 Pins | TXD | Serieller UART-Ausgang des Moduls mit einem Logikpegel von 3.3 V. Hier werden die vom Telefon empfangenen Daten ausgegeben. Wird an den Pin RX der Steuerplatine angeschlossen. |
| Stiftleiste 5 Pins | RXD | Serieller UART-Eingang des Moduls mit einem Logikpegel von 3.3 V. Die Daten an diesem Pin gelangen zum Telefon. Wird an den Pin TX der Steuerplatine angeschlossen. |
| Stiftleiste 5 Pins | STAT | Zeigt den Verbindungsstatus an. Er liegt auf Low, wenn das Modul nicht verbunden ist, und auf High nach dem Verbinden. |
Verwendung:
Prüfen Sie die Beschriftungen auf der Rückseite der Platine, bevor Sie die Verbindungen herstellen, da die Reihenfolge der Pins auf der Stiftleiste von Charge zu Charge abweichen kann.
Versorgen Sie das Modul nur mit niedriger Spannung, zum Beispiel vom Pin 3.3V eines Arduino Uno, und legen Sie niemals 5 V an den Pin VCC an.
Verbinden Sie GND mit der Masse der Steuerplatine, TXD mit dem seriellen Empfangspin der Platine und RXD mit dem seriellen Sendepin der Platine.
Bei Platinen mit 5-V-Logik muss das Sendesignal der Platine vor dem Pin RXD herabgesetzt werden, zum Beispiel mit einem Spannungsteiler aus einem Widerstand von 1 kΩ in Reihe und einem Widerstand von 2 kΩ gegen GND, der etwa 3.3 V ergibt. Der Pin TXD des Moduls kann direkt an den Eingang der Platine angeschlossen werden.
Stellen Sie die serielle Kommunikation der Platine auf 9600 Baud, 8 Datenbits, keine Parität und ein Stoppbit ein, und schalten Sie dann das Modul ein. Das Modul erscheint im Telefon unter dem Namen JDY-18, und der Pin STAT liegt auf Low, solange keine Verbindung besteht.
Senden Sie AT-Befehle zur Konfiguration, jeweils mit \r\n abgeschlossen, solange das Modul nicht mit dem Telefon verbunden ist. Zum Beispiel zeigt AT+VERSION die Version an, AT+NAME den gesendeten Namen und AT+BAUD den Code der seriellen Geschwindigkeit.
Um den Namen zu ändern, senden Sie AT+NAME gefolgt vom gewünschten Namen, und für die serielle Geschwindigkeit senden Sie AT+BAUD gefolgt vom Code, wobei 4 für 9600 Baud und 8 für 115200 Baud steht. Starten Sie das Modul nach dem Ändern der Einstellungen neu.
Verbinden Sie das Telefon mit einer BLE-Terminal-App, öffnen Sie den Dienst FFE0 und die Charakteristik FFE1, und die aus der App gesendeten Daten erscheinen am Pin TXD. Der Pin STAT geht auf High, wenn die Verbindung hergestellt ist.
Um AT-Befehle zu senden, während das Telefon verbunden ist, halten Sie den Pin PWRC des Moduls auf Low. Dieser Pin befindet sich nicht auf der Stiftleiste mit 5 Pins.
Für stabile Ergebnisse halten Sie die Antenne von metallischen Bauteilen und Störquellen fern, verwenden Sie kurze Leitungen und eine saubere Versorgung ohne starke Spannungsschwankungen.
- Versorgungsspannung
- 1.8-3.3 V
- Modell
- JDY-18
- Betriebstemperatur
- -40 bis 80 °C
- Anzahl der Pins
- 5
- Schnittstelle
- UART
- Arbeitsfrequenz
- 2.4 GHz
- Ausgangsleistung
- 0 dBm
- Stromverbrauch
- 4 mA
- Antenne
- Auf der Platine gedruckt
- Bluetooth
- BLE 4.2
- Standby-Verbrauch
- unter 300 µA
- Empfindlichkeit
- -97 dBm
- Übertragungsreichweite
- bis zu 60 m
- Modulation
- GFSK
Produs destinat utilizarii in proiecte electronice, automatizari, prototipare, educatie si cercetare.
Produsul trebuie utilizat numai conform specificatiilor tehnice mentionate in descriere si/sau in documentatia produsului.
Avertismente generale de siguranta:
Nu utilizati produsul la tensiuni, curenti sau temperaturi peste valorile specificate.
Montajul si conectarea trebuie realizate de persoane cu cunostinte tehnice minime in domeniul electric/electronic.
Evitati scurtcircuitele, inversarea polaritatii si conectarea gresita a alimentarii.
Nu lasati produsul alimentat nesupravegheat in timpul testelor.
Produsul nu este jucarie si nu este destinat copiilor.
Pentru modulele electronice, se recomanda utilizarea in carcase, panouri sau montaje protejate, dupa caz.
Identificare produs:
Denumirea produsului, codul/SKU-ul si caracteristicile tehnice sunt mentionate in pagina produsului si/sau pe eticheta ambalajului.
Producator / Importator / Distribuitor:
Sigmanortec S.R.L.
Calea Bucuresti nr. 9, Targu Jiu, Gorj, Romania
E-mail: [email protected]
Website: www.sigmanortec.ro
Persoana responsabila in UE:
Sigmanortec S.R.L.
Calea Bucuresti nr. 9, Targu Jiu, Gorj, Romania
E-mail: [email protected]
Documentatie si siguranta:
Pentru informatii suplimentare, fise tehnice, declaratii de conformitate sau instructiuni, ne puteti contacta la [email protected].
/*
JDY-18 BLE module test on Arduino Uno
Board: Arduino Uno (Tools > Board > Arduino AVR Boards > Arduino Uno)
Board package: Arduino AVR Boards (comes with the Arduino IDE)
Libraries: SoftwareSerial (included in the Arduino IDE), nothing to install
Wiring:
JDY-18 VCC -> Arduino 3.3V (never 5V)
JDY-18 GND -> Arduino GND
JDY-18 TXD -> Arduino D2 (SoftwareSerial RX)
JDY-18 RXD -> R2 2 kOhm to GND, and R1 1 kOhm to Arduino D3 (SoftwareSerial TX)
The R1 / R2 divider lowers the 5 V of D3 to about 3.3 V for the module.
Serial Monitor: 9600 baud, line ending "Both NL & CR".
*/
#include <SoftwareSerial.h>
const byte BT_RX_PIN = 2; // Arduino receives here (connected to module TXD)
const byte BT_TX_PIN = 3; // Arduino transmits here (to module RXD via divider)
SoftwareSerial bt(BT_RX_PIN, BT_TX_PIN); // Software serial port for the module
// Sends one AT command and prints the answer on the Serial Monitor
void sendCommand(const char *command) {
Serial.print("> ");
Serial.println(command);
// Throw away any old data in the receive buffer
while (bt.available()) {
bt.read();
}
// The module needs every AT command to end with \r\n
bt.print(command);
bt.print("\r\n");
// Read the answer until the module is silent for 500 ms
unsigned long lastByteTime = millis();
char lastChar = '\n';
while (millis() - lastByteTime < 500) {
while (bt.available()) {
lastChar = (char)bt.read();
Serial.write(lastChar);
lastByteTime = millis();
}
}
// Make sure the next output starts on a new line
if (lastChar != '\n') {
Serial.println();
}
}
void setup() {
Serial.begin(9600); // Serial Monitor speed
bt.begin(9600); // Factory baud rate of the JDY-18
delay(500); // Give the module time to start
Serial.println("JDY-18 test started");
// Basic queries, accepted while no phone is connected
sendCommand("AT+VERSION"); // Firmware version
sendCommand("AT+NAME"); // Advertised name
sendCommand("AT+BAUD"); // Baud rate code
sendCommand("AT+LADDR"); // Bluetooth MAC address
Serial.println("Bridge ready. Type AT commands or connect from a phone.");
}
void loop() {
// Module -> Serial Monitor (AT answers or data sent by the phone)
if (bt.available()) {
Serial.write(bt.read());
}
// Serial Monitor -> module (AT commands or data for the phone)
if (Serial.available()) {
bt.write(Serial.read());
}
}
Dieses Tutorial verwendet das Arduino Uno R3 Board, um das Modul JDY-18 in Betrieb zu nehmen, ein Bluetooth-Low-Energy-Modul (BLE) 4.2 mit serieller UART-Schnittstelle. Das Modul benötigt kein eigenes Programm, braucht aber einen Mikrocontroller, der mit ihm über die serielle Schnittstelle kommuniziert, und dafür reicht das Arduino Uno aus. Sie setzen es in Projekten ein, die Daten an ein Smartphone senden oder Befehle von diesem empfangen, etwa bei Fernbedienungen, drahtlosen Sensoren oder batteriebetriebenen Geräten.

So funktioniert es:
Das Modul besitzt einen eigenen Funkprozessor und erscheint im Smartphone als BLE-Gerät. Nach dem Verbinden transportiert ein Dienst mit der UUID FFE0 und einer Charakteristik FFE1 die Daten in beide Richtungen. Alles, was das Smartphone auf die Charakteristik FFE1 schreibt, kommt am TXD-Pin des Moduls heraus, und alles, was am RXD-Pin eintrifft, gelangt zum Smartphone. Man nennt dies transparente Übertragung, da das Modul den Inhalt der Daten nicht verändert.
Werkseitig arbeitet das Modul als Slave-Gerät (AT+HOSTEN0), mit der seriellen Geschwindigkeit von 9600 Baud (AT+BAUD4) und dem Namen JDY-18. Bei 9600 Baud benötigt ein Byte etwa 10 Bit (Start, 8 Datenbits, Stopp), sodass sich etwa 960 Byte pro Sekunde zwischen Arduino und Modul übertragen lassen. Funkseitig arbeitet das Modul mit 2.4 GHz, mit einer Sendeleistung von maximal 0 dBm und einer Reichweite von bis zu 60 m im freien Feld.
Das Modul akzeptiert nur niedrige Spannung, daher wird es über den Pin 3.3V des Uno-Boards versorgt. Die Signale des Arduino Uno haben 5 V, während der RXD-Eingang des Moduls für 3.3 V ausgelegt ist. Deshalb wird zwischen D3 und RXD ein Spannungsteiler aus zwei Widerständen gesetzt, R1 mit 1 kΩ in Reihe und R2 mit 2 kΩ gegen GND. Die Spannung am RXD ergibt sich aus der Formel Vout = 5 V x 2 kΩ / (1 kΩ + 2 kΩ) = 3.33 V. In umgekehrter Richtung hat der TXD-Ausgang des Moduls 3.3 V, ein Pegel, den der Arduino Uno korrekt als logische 1 erkennt, daher wird TXD direkt mit D2 verbunden.
Das Modul verbraucht etwa 4 mA im wachen, sendenden Zustand, unter 300 µA im Leichtschlaf und etwa 1.8 µA im Tiefschlaf. Der Pin 3.3V des Uno-Boards kann bis zu 50 mA liefern, das reicht also aus.
Anschluss:
Trennen Sie das Uno-Board vom USB-Kabel, bevor Sie die Verbindungen herstellen. Versorgen Sie das Modul nur über den Pin 3.3V, niemals über 5V, da 5 V die Schaltung zerstören können. Die fünf Pins des Moduls sind auf der Rückseite der Platine beschriftet, prüfen Sie also die Aufdrucke vor dem Anschließen, da die Pinreihenfolge von Charge zu Charge abweichen kann. Der Pin STAT bleibt in diesem Tutorial unbeschaltet. Wir verwenden SoftwareSerial an den Pins D2 und D3, sodass der Hardware-Serialport für den Seriellen Monitor frei bleibt.
| Produktpin | Anschluss an | Funktion |
|---|---|---|
| VCC | 3.3V Arduino Uno | Versorgung des Moduls mit 3.3 V. |
| GND | GND Arduino Uno | Gemeinsame Masse mit dem Uno-Board. |
| TXD | D2 Arduino Uno | Vom Modul an den Arduino gesendete Daten. Logikpegel 3.3 V, wird direkt verbunden. |
| RXD | D3 Arduino Uno über Widerstand R1 von 1 kΩ | Vom Arduino an das Modul gesendete Daten. Das 5-V-Signal läuft über den Spannungsteiler. |
| RXD (Teiler) | GND Arduino Uno über Widerstand R2 von 2 kΩ | Senkt das 5-V-Signal von D3 auf etwa 3.3 V. |
Board und Bibliotheken:
Wählen Sie in der Arduino IDE Werkzeuge > Board > Arduino AVR Boards > Arduino Uno. Das Paket Arduino AVR Boards ist bereits in der Arduino IDE enthalten, daher muss es nicht separat über die Boardverwaltung installiert werden. Das Programm verwendet nur die Bibliothek SoftwareSerial, die in der Arduino IDE enthalten ist, daher muss keine Bibliothek über die Bibliotheksverwaltung installiert werden.
Der Code:
Das Programm sendet beim Start einige AT-Befehle, um die Verbindung zum Modul zu prüfen, und verbindet danach den Seriellen Monitor in beide Richtungen mit dem Modul, sodass Sie AT-Befehle senden oder die vom Smartphone empfangenen Daten sehen können.
/*
JDY-18 BLE module test on Arduino Uno
Board: Arduino Uno (Tools > Board > Arduino AVR Boards > Arduino Uno)
Board package: Arduino AVR Boards (comes with the Arduino IDE)
Libraries: SoftwareSerial (included in the Arduino IDE), nothing to install
Wiring:
JDY-18 VCC -> Arduino 3.3V (never 5V)
JDY-18 GND -> Arduino GND
JDY-18 TXD -> Arduino D2 (SoftwareSerial RX)
JDY-18 RXD -> R2 2 kOhm to GND, and R1 1 kOhm to Arduino D3 (SoftwareSerial TX)
The R1 / R2 divider lowers the 5 V of D3 to about 3.3 V for the module.
Serial Monitor: 9600 baud, line ending "Both NL & CR".
*/
#include <SoftwareSerial.h>
const byte BT_RX_PIN = 2; // Arduino receives here (connected to module TXD)
const byte BT_TX_PIN = 3; // Arduino transmits here (to module RXD via divider)
SoftwareSerial bt(BT_RX_PIN, BT_TX_PIN); // Software serial port for the module
// Sends one AT command and prints the answer on the Serial Monitor
void sendCommand(const char *command) {
Serial.print("> ");
Serial.println(command);
// Throw away any old data in the receive buffer
while (bt.available()) {
bt.read();
}
// The module needs every AT command to end with \r\n
bt.print(command);
bt.print("\r\n");
// Read the answer until the module is silent for 500 ms
unsigned long lastByteTime = millis();
char lastChar = '\n';
while (millis() - lastByteTime < 500) {
while (bt.available()) {
lastChar = (char)bt.read();
Serial.write(lastChar);
lastByteTime = millis();
}
}
// Make sure the next output starts on a new line
if (lastChar != '\n') {
Serial.println();
}
}
void setup() {
Serial.begin(9600); // Serial Monitor speed
bt.begin(9600); // Factory baud rate of the JDY-18
delay(500); // Give the module time to start
Serial.println("JDY-18 test started");
// Basic queries, accepted while no phone is connected
sendCommand("AT+VERSION"); // Firmware version
sendCommand("AT+NAME"); // Advertised name
sendCommand("AT+BAUD"); // Baud rate code
sendCommand("AT+LADDR"); // Bluetooth MAC address
Serial.println("Bridge ready. Type AT commands or connect from a phone.");
}
void loop() {
// Module -> Serial Monitor (AT answers or data sent by the phone)
if (bt.available()) {
Serial.write(bt.read());
}
// Serial Monitor -> module (AT commands or data for the phone)
if (Serial.available()) {
bt.write(Serial.read());
}
}
So funktioniert der Code:
Zu Beginn legen die Konstanten BT_RX_PIN und BT_TX_PIN die Pins D2 und D3 fest, und das Objekt bt vom Typ SoftwareSerial erzeugt an diesen Pins einen softwareseitigen seriellen Port. BT_RX_PIN ist der Pin, an dem der Arduino die Daten vom TXD des Moduls empfängt, und BT_TX_PIN ist der Pin, an dem der Arduino Daten über den Teiler an den RXD des Moduls sendet.
Die Funktion sendCommand() erhält einen AT-Befehl als Text, gibt ihn im Seriellen Monitor mit dem Präfix "> " aus und leert den Empfangspuffer, damit sich keine alten Antworten mit der neuen vermischen. Danach sendet sie den Befehl gefolgt von \r\n, da das Modul diesen Abschluss bei jedem Befehl verlangt. Anschließend liest sie die Antwort und kopiert sie in den Seriellen Monitor, bis das Modul 500 ms lang still bleibt. Zum Schluss fügt die Funktion, falls das letzte Zeichen kein Zeilenumbruch war, einen hinzu, damit die nächste Ausgabe in einer eigenen Zeile beginnt.
In setup() wird der Serielle Monitor mit 9600 Baud gestartet, ebenso der Port bt mit 9600 Baud, der werkseitigen Geschwindigkeit des Moduls. Nach einer Pause von 500 ms, in der das Modul hochfährt, gibt das Programm die Startmeldung aus und sendet vier Abfragen: AT+VERSION für die Firmware-Version, AT+NAME für den gesendeten Namen, AT+BAUD für den Code der seriellen Geschwindigkeit und AT+LADDR für die Bluetooth-MAC-Adresse.
In loop() arbeitet das Programm als serielle Brücke. Jedes Byte, das vom Modul empfangen wird, wird auf den Seriellen Monitor geschrieben, und jedes Byte, das Sie im Seriellen Monitor eingeben, wird an das Modul gesendet. So können Sie AT-Befehle von Hand eingeben oder den vom Smartphone gesendeten Text verfolgen.
Ergebnis:
Öffnen Sie den Seriellen Monitor mit 9600 Baud und wählen Sie den Zeilenendeschalter "Sowohl NL als auch CR". Nach einigen Sekunden erscheinen die Antworten des Moduls auf die vier Abfragen und danach die Meldung, dass die Brücke bereit ist. Die genauen Werte können abweichen, besonders die MAC-Adresse.
JDY-18 test started
> AT+VERSION
+JDY-18-V1.5
> AT+NAME
+NAME=JDY-18
> AT+BAUD
+BAUD=4
> AT+LADDR
+LADDR=A4C138112233
Bridge ready. Type AT commands or connect from a phone.
Um die Verbindung zum Smartphone zu testen, öffnen Sie eine BLE-Terminal-App, verbinden Sie sich mit dem Gerät JDY-18, aktivieren Sie die Benachrichtigungen für die Charakteristik FFE1 und senden Sie einen Text. Der Text erscheint im Seriellen Monitor. Was Sie nach dem Verbinden im Seriellen Monitor eingeben, gelangt in die App.
Häufige Probleme:
Auf AT-Befehle kommt keine Antwort. Die häufigste Ursache ist das Vertauschen von TXD und RXD oder ein falscher Zeilenendeschalter. Prüfen Sie, dass TXD an D2 und RXD über den Teiler an D3 angeschlossen ist, und wählen Sie im Seriellen Monitor "Sowohl NL als auch CR". Prüfen Sie außerdem die Geschwindigkeit von 9600 Baud.
Die Antworten erscheinen mit seltsamen Zeichen. Die serielle Geschwindigkeit des Moduls wurde geändert oder der Serielle Monitor ist falsch eingestellt. Stellen Sie den Seriellen Monitor auf 9600 Baud ein, und wenn Sie die Geschwindigkeit des Moduls mit AT+BAUD geändert haben, verwenden Sie denselben Wert in bt.begin().
AT-Befehle werden nicht akzeptiert. Solange ein Smartphone verbunden ist, behandelt das Modul die Daten als transparente Daten. Trennen Sie das Smartphone oder halten Sie den Pin PWRC auf Low-Pegel, falls Sie ihn für eine eigene Verbindung herausgeführt haben.
Das Modul erscheint nicht in der Liste des Smartphones. Prüfen Sie die Versorgung über den Pin 3.3V und die gemeinsame Masse. Suchen Sie das Gerät mit einer BLE-App und nicht in der klassischen Bluetooth-Liste des Smartphones, da JDY-18 nur BLE verwendet.
Das Modul wird warm oder antwortet nach dem Verbinden nicht mehr. Möglicherweise wurde es mit 5 V versorgt oder es hat ein 5-V-Signal direkt am RXD erhalten. Prüfen Sie den Teiler aus R1 und R2 und verwenden Sie ausschließlich den Pin 3.3V.
Einschränkungen und Tipps:
Das Modul ist BLE und lässt sich nicht als klassisches Bluetooth-Audio- oder Seriell-Gerät koppeln. Die Reichweite von bis zu 60 m gilt im freien Feld, im Innenbereich sinkt sie durch Wände. Die nutzbare Übertragungsrate mit einem Smartphone liegt in der Größenordnung von 8 kB pro Sekunde, während die Verbindung zum Arduino bei 9600 Baud die Übertragung auf etwa 960 Byte pro Sekunde begrenzt.
Wenn Sie eine höhere Geschwindigkeit benötigen, stellen Sie das Modul auf 115200 Baud ein. Mit SoftwareSerial am Arduino Uno können hohe Geschwindigkeiten jedoch Daten verlieren. In diesem Fall verwenden Sie den Hardware-Serialport oder ein Board mit mehreren seriellen Ports.
Das Modul kann mit AT+ROLE1 auch als Master konfiguriert werden, um sich mit einem anderen BLE-Modul zu verbinden. Über AT-Befehle können Sie den Namen, das Passwort, die UUIDs und das Werbeintervall ändern, und bei batteriebetriebenen Geräten können Sie die Schlafmodi nutzen, um den Verbrauch zu senken.