Bluetooth Kommunikation Android und Arduino

Guten Morgen,

ich habe ein Problem beim Verbinden von meinem Android Phone mit dem Arduino.
Fehlermeldung auf Android = Koppeln mit MLT-BT05 abgelehnt.

Habe ein HM10 Modul und mit den AT-Befehlen bereits einiges ausgelesen bzw. eingestellt. Aber ich bekomme keine Verbindung mit dem Telefon her. Welche Einstellungen müssen im Modul eingestellt sein damit die Kommunikation zwischen Arduino und Telefon funktioniert.

Das Telefon soll als Fernbedienung benutzt werden und hat Bluetooth 4.2.
Habe das Modul als Slave gesetzt und die eingestellte Baurate ist 115200.
Das Passwort 123456 wird nicht abgefragt beim Verbindungsversuch.
Fimeware Version = MLT-BT05-V4.1

Hier die verfügbaren AT-Befehle für den Slave-Modus:


09:54:49.933 -> * Command Description *
09:54:50.024 -> * ---------------------------------------------------------------- *
09:54:50.162 -> * AT Check if the command terminal work normally *
09:54:50.255 -> * AT+RESET Software reboot *
09:54:50.347 -> * AT+VERSION Get firmware, bluetooth, HCI and LMP version *
09:54:50.439 -> * AT+HELP List all the commands *
09:54:50.531 -> * AT+NAME Get/Set local device name *
09:54:50.670 -> * AT+PIN Get/Set pin code for pairing *
09:54:50.762 -> * AT+PASS Get/Set pin code for pairing *
09:54:50.855 -> * AT+BAUD Get/Set baud rate *
09:54:50.947 -> * AT+LADDR Get local bluetooth address *
09:54:51.039 -> * AT+ADDR Get local bluetooth address *
09:54:51.130 -> * AT+DEFAULT Restore factory default *
09:54:51.270 -> * AT+RENEW Restore factory default *
09:54:51.361 -> * AT+STATE Get current state *
09:54:51.408 -> * AT+PWRM Get/Set power on mode(low power) *
09:54:51.503 -> * AT+POWE Get/Set RF transmit power *
09:54:51.643 -> * AT+SLEEP Sleep mode *
09:54:51.735 -> * AT+ROLE Get/Set current role. *
09:54:51.873 -> * AT+PARI Get/Set UART parity bit. *
09:54:51.920 -> * AT+STOP Get/Set UART stop bit. *
09:54:52.060 -> * AT+START System start working. *
09:54:52.153 -> * AT+IMME System wait for command when power on. *
09:54:52.245 -> * AT+IBEA Switch iBeacon mode. *
09:54:52.338 -> * AT+IBE0 Set iBeacon UUID 0. *
09:54:52.432 -> * AT+IBE1 Set iBeacon UUID 1. *
09:54:52.570 -> * AT+IBE2 Set iBeacon UUID 2. *
09:54:52.662 -> * AT+IBE3 Set iBeacon UUID 3. *
09:54:52.755 -> * AT+MARJ Set iBeacon MARJ . *
09:54:52.848 -> * AT+MINO Set iBeacon MINO . *
09:54:52.941 -> * AT+MEA Set iBeacon MEA . *
09:54:53.032 -> * AT+NOTI Notify connection event . *
09:54:53.173 -> * AT+UUID Get/Set system SERVER_UUID . *
09:54:53.266 -> * AT+CHAR Get/Set system CHAR_UUID . *
09:54:53.360 -> * -----------------------------------------------------------------*
09:54:53.453 -> * Note: (M) = The command support slave mode only. *
09:54:53.498 -> ********************************************************************

Grüße
Baril

(deleted)

Moin moin,

ich habe leider das HM10 Modul und kein HC05.
Und meine Kommunikation mit dem Serial Monitor funktioniert und ich kann auf das Modul zugreifen nur leider verstehe ich eben nicht was für Einstellungen es braucht um das Modul mit dem Handy zu verbinden.

Grüße
Baril

/****************************************/
#include <SoftwareSerial.h>

SoftwareSerial mySerial(2, 3); // RX Arduino und TX Modul, TX Arduino und TX Modul
// Connect HM10 Arduino Uno
// Pin 1/TXD Pin 2
// Pin 2/RXD Pin 3
// AT >> OK
// AT+BAUD3 >>getBaud3
// AT+NAMExxxx
// AT+ADRR?

void setup() {
  Serial.begin(9600);
  // If the baudrate of the HM-10 module has been updated,
  // you may need to change 9600 by another value
  // Once you have found the correct baudrate,
  // you can update it using AT+BAUDx command
  // e.g. AT+BAUD0 for 9600 bauds
  mySerial.begin(9600);
}

void loop() {
  char c;
  if (Serial.available()) {
    c = Serial.read();
    mySerial.print(c);

  }
  if (mySerial.available()) {
    c = mySerial.read();
    Serial.print(c);

  }
}

(deleted)

Hallo Peter,

in deinem Link geht es mir ein bisschen zu weit.
Ich will vorerst nur eine Verbindung zum Smartphone herstellen damit ich dann mit der APP Arduino OMNI Wheels Robot meinen Roboter per Bluetooth steuern kann. Mein Problem ist das ich keine normale Verbindung mit dem Bluetooth-Modul herstellen kann. Und deshalb dachte ich es liegt an der Einstellung vom Modul.

Oder liege ich hier falsch?

Grüße
Baril

Hi Baril,

Du kannst Dich nicht mit dem Modul ohne weiteres Verbinden.
Es handelt sich um Bluetooth LE (Low Energy). Das wird über die Einstellungen -> Bluetooth nicht funktionieren.
Verwende dazu bitte eine App, die das unterstützt. Der Serial Bluetooth Terminal ist da mein absoluter Favorit!
Der kann beides, klassisches BT und BT-LE.

Ansonsten gibt es hier noch eine Anleitung https://create.arduino.cc/projecthub/ingo-lohs/bluetooth-hm-10-module-6eb803.

Hallo TriB,

danke für deine Antwort. Ok gut hab ich verstanden. Ich muss wohl wegen meiner schlechten Planung der Bauteile noch ein bisschen leiden und lernen.
Dann bleibt mir wohl doch nichts anderes als mich mit dem Serial Bluetooth Terminal zu beschäftigen.

Danke an dieser Stelle dann nochmal an Peter für deinen Link... :grinning:

Grüße
Baril