Bluetooth HC-05 Master <-> HC-05 Slave

Hi,

ich bins wieder.
Nachdem ich herausgefunden habe, wie ich die Module in den AT Modus bekomme, das nächste Problem.

Geplant ist, das ein HC-05 Master verbindung mit dem Slave aufnimmt.

Ich habe das bisher so verstanden, ich muss die module nur einmal im AT Modus configurieren, und der rest 'geht' dann von alleine.

Also habe ich den Client wie folgt configuriert:
AT+NAME=CLIENTBOX
AT+CMODE=0
AT+ROLE=0
AT+BIND=98D3,31,10078D (adresse des Masters)

Den Master:
AT+NAME=MASTERBOX
AT+CMODE=0
AT+ROLE=1
AT+PIN5678
AT+BIND=98D3,31,1006FA (adresse des Slave)
Soweit immer mit OK quitiert.

Im AT modus habe ich dann folgendes probiert:
AT
OK
AT+init
OK
AT+inq
+INQ 98D3,31,1006FA
AT+LINK=98D3,31,1006FA
FAIL
OK
Keine Verbindung

Hat jemand einen Tipp, was ich falsch mache?

Was benutzt Du denn für Hardware ?

Bei mir geht das so:

#include <SoftwareSerial.h> // SoftSerial für Bluetooth
// BLUETOOTH Modul TX  =  ARDUINO Pin3 RX
//                                        RX  =  ARDUINO Pin4 TX
SoftwareSerial bluetooth(3, 4); // RX, TX

Dann im void_setup

{
   // Setze Datenrate für BT
  bluetooth.begin(115200);
}

Und im Looping

// BLUETOOTH EINGABE / EMPFANG
  if (bluetooth.available())
  {
    char c = bluetooth.read();
    Serial.print("VON BT: ");
    Serial.println(c);
  }
// SERIELLE EINGABE  
  if (Serial.available())
  {
    char cc = Serial.read();
    Serial.print("AN  BT: ");
    bluetooth.write(cc);
    Serial.println(cc);
  }    
 }

Verbinde mich allerdings mit einer eigenen App, aber die "Anmelderei" machen die Module unter sich aus :smiley:

Warum willst Du das Ganze denn im AT Modus betreiben ?
Sowas kenne ich ja sonst nur noch aus uralten DFÜ-Zeiten Anfang der 80er des letzten Jahrhunderts 8)

hi, danke für die antwort.

momentan habe ich je einen mega2560 und leonardo dran hängen.

module sind beide hc-05.

das ganze soll folgendes werden:
in der garage soll ein arduino (später attiny) einen reedsensor überwachen.
tor zu, alles ok.
sensor defekt oder tor offen, melde das an den arduino im wohnzimmer via bluetooth.

wie das jetzt genau funktioniert, da hänge ich noch.
hatte das so verstanden, das der at modus für die configuration benötigt wird und man die module danach auch ohne at betreiben kann.

gerade hat es funktioniert, das ich beide module binden konnte, aus dem at modus wieder raus, funktioniert es nicht mehr.

hm, liegt es am sketch?!

void setup() 
{
   Serial.begin(9600);
   Serial1.begin(9600);
   pinMode(sensor1Ausgang, OUTPUT); // PIN D13 Ausgang
   digitalWrite(sensor1Ausgang, LOW); // Signal aus
}

void loop ()
{
   if(Serial1.available())
   {
     CheckSensor(); // rufen Funktion
     delay(100); // warten 1 Sekunde
     Serial1.write(Status);
     Serial.print("sende ");
     Serial.println(Status);
   }
   else{
       Serial.println("keine verbindung ");
 }

in der garage soll ein arduino (später attiny) einen reedsensor überwachen.
tor zu, alles ok.
sensor defekt oder tor offen, melde das an den arduino im wohnzimmer via bluetooth.

Über was für "Entfernungen" und wie viele Wände denken wir da nach ?
Die Reichweite dieser Module ist sehr restringiert :grin:

das mit der reichweite sollte kein problem sein, aber würde ich ja gerne testen.

max. 15 meter und von fenster zu fenster, keine mauern also.

max. 15 meter und von fenster zu fenster, keine mauern also.

Das ist für das "normale" Bluetooth nicht zu machen, selbst das sogenannte "100m" (Class 1)
kommt da an Grenzen, bei zwei Fenstern dazwischen.

das ist mir momentan egal - es geht auch bei 5 cm nicht und das ärgert mich.

ich würde das gerne zumindest auf dem schreibtisch hinbekommen.

den sketch von A.R.Ty habe ich jetzt komplett so übernommen und auf beide arduino's laufen.

die module blinken zuerst wild rot, dann nach kurzer zeit weniger wild, aber immer noch rot.

if (bluetooth.available())

ergibt immer false

Na siehste woll - geht doch 8)

Dass die Module wild blinken ist normal und zeigt, dass sie am warten und bereit sind.
Wenn sie sich verbunden haben ist Dauerrot :smiley:

Ein guter Parameter zum Testen ist immer die Baudrate - der KANN zwar 115200, aber erstmal ruhig mit was niedrigem Versuchen (ruhig 9600) - für normalen Betrieb reicht das eh aus FALLS nicht jede Menge Daten zeitkritisch übertragen werden müssen.

die baudrate habe ich auf 9600

also, dauerROT ist da nix, die blinken weiterhin, nur nicht so schnell.

machst du mit den modulen sonst noch was?
wie stellst du die verbindung her?

OK, dann Baudrate erhöhen und erst mal austesten.

Ich verbinde mich wie gesagt von einer App aus mit dem BT-Device.
Ich empfange von einem UNO und einem MEGA jede Menge Messdaten über BT und einen kleinen Roboter steuere ich ebenfalls mittels BT (vom Smartphone aus)

hm dann laufen die nur als slave's.