Go Down

Topic: Frage: Empfehlung Bluetooth Xbee (Read 1 time) previous topic - next topic

arduinofish

May 14, 2012, 06:20 pm Last Edit: May 14, 2012, 07:39 pm by uwefed Reason: 1
Hallo,

ich suche nach einem Xbee-kompatiblen Bluetooth-Modul für meinen Arduino.

ich habe bei Exp-Tech diese gefunden:

1. http://www.exp-tech.de/product_info.php?info=p572_seeedstudio-bluetooth-bee---standalone-mit-atmega-168.html
2. http://www.exp-tech.de/product_info.php?info=p155_seeedstudio-bluetooth-bee-spp-module-xbee.html

der erste gefällt mir besser, weil da noch der ATMEGA mitbei. Die Frage ist nun, ob ich dieses Modul auch erstmal nur als Bluetoothschnittstelle verwenden kann.


Grüße
Peter

uwefed

Was meinst Du mit XBee kompatibel? Daß Du das Bluetooth-Modul in den XBee-Sockel stecken kannst? 

Der Seeedstudio Bluetooth Bee - Standalone mit ATmega 168 hat einen Arduino-kompatiblen Microcontroller auf der Unterseite. Darum müßte das Modul auch den Arduino ersetzen.

Genaueres auf der Seite des Herstellers:
http://www.seeedstudio.com/depot/bluetooth-bee-standalone-p-1157.html?cPath=139_142 und http://www.seeedstudio.com/wiki/Bluetooth_Bee-Standalone
bzw ohne ATmega:
http://www.seeedstudio.com/depot/bluetooth-bee-p-598.html?cPath=139_142 und http://www.seeedstudio.com/wiki/index.php?title=Bluetooth_Bee

Grüße Uwe

arduinofish

erstmal brauch ich nur eine Bluetootherweiterung für meinen Mega für den Datenaustausch. Wenn da halt noch ein Controller drauf ist, den man später verwenden kann wäre das auch sehr schön. Bis dahin würde ich wenn möglich allein die Konnektivität per BT nutzen wollen, ohne den Mega.

uwefed

Kontrollier bitte ob der ATmega auf dem Modul nicht die Benutzung mit dem Arduino Mega stört.
Grüße Uwe

arduinofish

Laut der Info vom Shop EXP-Tech geht es wohl. Hab es jetzt bestellt,..mal schaun:)

arduinofish

So. hab ihn und er funzt....mehr oder weniger. Ich kann mit "Blueterm" (Android-App) oder Putty (Windows-Version) nichts an den Bluetooth-Bee senden. Weiß jemand woran das liegen könnte?

uwefed

Sieht der PC das Bluetootk Modul?
Grüße Uwe

arduinofish

Habs hinbekommen. War banal,.. ich hatte es ja auf Serial0 und wenn es per USB am PC hängt, dann gehts halt net.

Allerdings habe ich jetzt ein anderes Problem :D
Wenn ich die Eingaben auf der Console lesen und wieder dorthin schreiben will, dann fehlen manchmal Buchstaben. Nicht immer,...aber doch recht oft. Auch keine bestimmte Anzahl, meist eins,... aber auch mal mehr als die Hälfte :-//
Nutze die Standard-Baudrate 38.4k.


Code: [Select]

void setup()
{
  Serial2.begin(38400);
  setupBlueToothConnection();

}

void loop()
{

  if(Serial2.read() == 'a')
  {
    Serial2.println("You are connected to Bluetooth Bee");
  }
  int makeBtSerialStringPosition;
  int inBtByte;
  String sResult;
  char serialBtReadString[300];
  inBtByte = Serial2.read();
  //delay(10);
  makeBtSerialStringPosition=0;

  if (inBtByte >= 0 ) {
    delay(120);
    Serial2.print("Chars: ");
    Serial2.println(Serial2.available());


    while (Serial2.available() > 0){

      serialBtReadString[makeBtSerialStringPosition] = inBtByte;
      sResult = sResult + serialBtReadString[makeBtSerialStringPosition] ;
      Serial2.println(serialBtReadString[makeBtSerialStringPosition]);
      makeBtSerialStringPosition++;
      inBtByte = Serial2.read();
    }

    serialBtReadString[makeBtSerialStringPosition] = 0;
    inBtByte = 0;
    if(sResult != ""){
      Serial2.println(sResult);
    }
    delay(300);
  }
  Serial2.flush();
}

void setupBlueToothConnection()
{
  Serial2.println("Setting up Bluetooth link");       

  delay(1000);
  sendBlueToothCommand("\r\n+STWMOD=0\r\n");
  sendBlueToothCommand("\r\n+STNA=Arduino\r\n");
  sendBlueToothCommand("\r\n+STAUTO=1\r\n");
  sendBlueToothCommand("\r\n+STOAUT=1\r\n");
  sendBlueToothCommand("\r\n+STPIN=0000\r\n");
  delay(2000); // This delay is required.
  Serial2.println("\r\n+INQ=1\r\n");
  delay(2000); // This delay is required.
  Serial2.println("Setup complete");

}

void sendBlueToothCommand(char command[])
{
  char a;
  Serial2.print(command);
  delay(3000);
}








Go Up