BT-Verbindungsherstellung im Serial Monitor anzeigen?

Hallo liebe Fachleute,

ich habe angefangen, mit einem BT05-Bluetooth-Modul rumzuprobieren, was auch prima mit Android kommuniziert. Allerdings habe ich ohne Erfolg versucht, die Herstellung der BT-Verbindung irgendwie im Serial Monitor anzeigen zu lassen. Ich kann zwar die auf dem Handy eingegebenen Keys im Monitor anzeigen lassen, aber ich möchte bereits eine Meldung im Monitor generieren, sobald das BT-Terminalprogramm die Verbindung mit dem BT-Modul hergestellt hat. Ist sowas möglich?

Ich habe im Forum bzw. Internet schon viele Seiten gesichtet, aber zu dieser Thematik nichts gefunden, was mir weiterhilft. Vielleicht habt Ihr einen Tipp für mich? Dafür schon mal vielen Dank.

Anbei noch mein Test-Sketch.

VG Chris

char btValue;                         // Bluetooth value
char lastValue;                       // last LED status


void setup() 
{
 Serial.begin(9600);                  // start serial
 pinMode(13,OUTPUT);                  // pin 13 as LED output
}


void loop()
{
  if(Serial.available())              // receive serial data     
  {
    btValue = Serial.read();
  }

  if (btValue == '1')                 // if '1' is received then...
  {
    digitalWrite(13,HIGH);            // switch LED on

    if (lastValue != '1')             // if last LED value is not 1 then...
    {
      Serial.println("LED is on");    // print "LED is on" on serial monitor
      lastValue = btValue;
    }
  }

  else if (btValue == '0')            // if '0' is received then...
  {           
    digitalWrite(13,LOW);             // switch LED off

    if (lastValue != '0')             // if last LED value is not 0 then...
    {
      Serial.println("LED is off");   // print "LED is off" on serial monitor
      lastValue = btValue;
    }
  }
}

Hallo,

wo hast Du den Dein BT Modul angeschlossen ?

Ooop, sorry, doch den falschen Sketch erwischt... Ich betreibe das Ding per SoftwareSerial an Pin 2 und 3 an einem Pro Mini, Spannungsteiler für die 3,3V ist installiert.

#include <SoftwareSerial.h>

SoftwareSerial mySerial(2, 3);        // defining RX, TX ports


char btValue;                         // Bluetooth value
char lastValue;                       // last LED status


void setup() 
{
 mySerial.begin(9600);                // start software serial
 pinMode(13,OUTPUT);                  // pin 13 as LED output
}


void loop()
{
  if(mySerial.available())            // receive software serial data     
  {
    btValue = mySerial.read();
  }

  if (btValue == '1')                 // if '1' is received then...
  {
    digitalWrite(13,HIGH);            // switch LED on

    if (lastValue != '1')             // if last LED value is not 1 then...
    {
      mySerial.println("LED is on");  // print "LED is on" on serial monitor
      lastValue = btValue;
    }
  }

  else if (btValue == '0')            // if '0' is received then...
  {           
    digitalWrite(13,LOW);             // switch LED off

    if (lastValue != '0')             // if last LED value is not 0 then...
    {
      mySerial.println("LED is off"); // print "LED is off" on serial monitor
      lastValue = btValue;
    }
  }
}

RFCOMM existiert erst, wenn die BT-Verbindung steht --> am seriellen Monitor sieht man da gar nix, du brauchst "Wireshark" oder "btmon" :slight_smile:

EDIT: lese gerade "... hergestellt hat", also willst du den Verbindungsaufbau gar nicht sehen?

Hallo, nein, ich möchte gerne nur anzeigen lassen, sobald die Verbindung besteht, also sobald erfolgreich "connected" ist. Der Prozess der Verbindungsherstellung soll nicht dargestellt werden.

Oje, da musst du wohl ein extra Programm bauen.

DAS würde meine Fähigkeiten und Kenntnisse bei weitem übersteigen, außerdem wäre das den Aufwand nicht wert. Ich dachte mir schon, dass das nicht so einfach möglich sein kann, weil ich im Netz so gut wie nix darüber finden konnte. Wieder was gelernt :slight_smile: Trotzdem vielen Dank!

Viele Grüße

Chris