HC-05 Buetooth Modul: AT+INQ Befehl

Hallo und willkommen zum heutigen Beitrag.

Heute soll es um unser HC-05 Bluetooth Modul gehen. Beim Support erhalten wir immer wieder Anfragen von Kunden bei denen das Modul nicht ordnungsgemäß funktioniert. Die vielen Beispiele und Tutorials scheintern alle an der gleichen Stellen: Der Befehl AT+INQ sollte den "inquiry" Modus aktivieren, und alle Bluetooth Geräte in der Umgebung auflisten. Jedoch erscheint bei den Modulen mit Firmware 3.x nur der Fehler "(1F)". 

Dabei ist die Lösung gar nicht so kompliziert:

Das HC-05 Modul mit der aktuellen Firmware hat 2 separate AT-Modi.

Der erste Modus wird aktiviert indem man beim Einschalten den Knopf gedrückt hält, oder Pin "EN" mit +3,3V verbindet. Wenn dieser Modus aktiviert wird, blinkt die LED langsam (ca. alle 2 Sekunden).

In diesem Modus können wir eine Serielle Verbindung mit 38400 baud herstellen, und AT Befehle senden. Der oftmals benötigte "inquiry" Modus steht in diesem Modus nicht zur Verfügung. 

Um in den zweiten AT Modus zu gelangen, müssen wir das Modul normal starten. Die LED blinkt schnell. In diesem Modus können wir AT-Befehle senden wenn wir den Knopf gedrückt halten (unpraktisch), oder den Pin "EN" auf +3,3V legen.

Außerdem müssen wir die Geschwindigkeit auf 9600 baud ändern.

Hier nun alle Schritte in Reihenfolge. Dazu betreibe ich das HC-05 Modul direkt an einen FTDI-Adapter. Der Adapter ist auf 3,3V eingestellt, und taucht auf meinem System als Port COM8: auf.

Angeschlossen habe ich das Modul wie folgt:

FTDI (3,3V!)

HC-05

Breadboard

RX

TX

 

TX

RX

 

VCC

 

+

 

VCC

+

GND

GND

 

 

EN (Optional)

+

 

Im ersten Schritt habe ich den Optionalen Pin "EN" mit "+" Verbunden, um in den ersten AT-Modus zu gelangen.

Die LED blinkt nun langsam, und ich verbinde mich mit dem Seriellen Monitor auf das Modul, stelle die Geschwindigkeit auf 38400, und gebe den Befehl "AT" ein. Es sollte ein "OK" erscheinen.

Serielle Verbindung

Nun müssen wir das Modul konfigurieren. Dazu gebe ich folgende Befehle ein:

AT+UART
AT+RMAAD
AT+ROLE=1

Falls Sie das Modul mittels Knopfdruck im AT-Modus versetzt haben, müssen Sie vor der nächsten Eingabe den Knopf drücken, und erst wieder loslassen, wenn die LED Langsam blinkt.

AT+RESET

Nun können Sie die Taste wieder loslassen, und die letzten 3 Zeilen eingeben:

AT+CMODE=1
AT+INQM=0,5,5
AT+PSWD="9999"

 

Nun können wir das Modul vom strom trennen, und es normal starten, also ohne den Knopf zu drücken. In meinem Fall muss ich die optionale Verbindung zwischen dem "EN"-Pin und "+" auf dem Breadboard trennen und dann VCC kurz unterbrechen.

Nun blinkt die LED schnell. Im Seriellen Monitor schalte ich die Geschwindigkeit nun auf 9600 baud. Wenn ich nun AT eingebe, erscheint jedoch nichts. Erst wenn der Knopf gedrückt und gehalten wird, kann ich AT-Befehle senden.

Mit dem Befehl "AT+STATE" kann ich mir den Status anzeigen lassen. Dieser ist aktuell auf "Connecting".

Sobald ich nun aber den "EN" pin wieder mit 3,3V verbinde, wechselt der Modus auf "Inquiring", und es werden alle Bluetooth Geräte in der Umgebung angezeigt:

 

Inquiring

Um mich mit dem Gerät ganz unten in der Liste zu verbinden, schaue ich mir den Eintrag genauer an:

+INQ:C0EE:FB:5965AA,5A020C,7FFF

Die benötigte Bluetooth Adresse ist durch Doppelpunkte ":" getrennt.

Mittels "AT+RNAME?C0EE,FB,5965AA" (Doppelpunkte durch Kommas ersetzen) bekomme ich den Namen meines Smartphones angezeigt:

smartphone gefunden

Nun kann ich eine automatische Verbindung zu meinem Smartphone herstellen mittels:

AT+PAIR=C0EE,FB,5965AA,5
AT+BIND=C0EE,FB,5965AA
AT+LINK=C0EE,FB,5965AA

Zwar bekomme ich beim AT+LINK Befehl eine "FAIL", jedoch funktioniert alles so wie es soll.

 

Ich hoffe der heutige Beitrag hat Ihnen gefallen, und hilft bei der Inbetriebnahme des HC-05 Moduls.

Ich verabschiede mich bis um nächsten Blog-Beitrag.

Ihr Markus Neumann 

 

Letzter Artikel Projekt Smart Swimmingpool - Einleitung
Neuer Artikel I²C Scanner mit LC Display

Hinterlasse einen Kommentar

Kommentare müssen vor der Veröffentlichung überprüft werden

Erforderliche Angabe