Bluetooth-Kochbuch für den Arduino

Bluetooth eignet sich hervorragend um drahtlos mit einem Arduino zu kommunizieren. Preiswerte Bluetooth-Module gibt es z.B. unter der Bezeichnung JY-MCU-Modul. Sie sind für unter 10 € zu haben.

BT01

Es gibt sehr viele Parameter und Möglichkeiten die Module zu konfigurieren. Hier möchte ich,  wie in einem Kochbuch, die minimal erforderlichen Einstellungen beschreiben, um die einfachste Kommunikation einzustellen.

Das Modul mit dem Chip HC-06 kann nur als Slave arbeiten. Das heißt es kann nicht aktiv Kontakt mit einem anderen Bluetooth-Gerät aufnehmen. Es wartet bis es kontaktiert wird.

Das Modul  mit dem HC-05 kann auch als Master konfiguriert werden kann. Das heißt ein HC-05-Modul kann sich automatisch mit einem bestimmten anderen Bluetooth-Modul (z.B. ein HC-06-Modul) verbinden. So können z.B. zwei Arduinos miteinander Kontakt aufnehmen und kommunizieren.

Beide Module können direkt an 5 V angeschlossen werden, denn sie haben einen Spannungregler der die Anschlußspannung für den Bluetooth-Chip auf 3,3V  herunterregelt. Die TXD /RXD Anschlüsse funktionieren ebenfalls problemlos mit dem 5V TTL-Spannungslevel des Arduino.

Man kann also einfach VCC (5V) und GND mit dem Arduino verbinden und die TXD und RXD Anschlüsse gekreuzt, also TXD an RX und RXD an TX, anschliessen.  Achtung wenn man die Standard-Anschlüsse benutzt (Pin 0 und 1), dann darf  diese Verbindung nur solange bestehen, wie der USB-Port nicht angeschlossen ist bzw. kein USB-Daten-Verkehr (Download/Serial-Port) stattfindet.

Die bessere Lösung ist die Softserial-Libray zu nutzen und z.B. an Port 2/3 eine 2. Serial-Verbindung einzurichten. Mit der Arduino-Entwicklingssoftware wird eine Libary und ein Beispielprogramm mitgeliefert. Dieses Beispielprogramm sendet einfach alle auf der einen Schnittstelle empfangenen Daten an die andere Schnittstelle. Damit läßt sich der Datenverkehr testen und das Bluetoothmodul konfigurieren. Die Baudrate für das Bluetooth-Modul muß auf 9600 Baud gesetzt werden.

Eine Anwendung könnte so entwickelt werden, dass die Kommunikation, die später über Bluetooth abgewickelt werden soll, zuächst über den Serial-Port getestet wird und anschliessend das Bluetooth-Modul angeschlossen wird.

Als Bluetooth-Mastergerät nutzt man am besten einen PC, ein Smartphone oder ein Tablett. Das Bluetooth Modul HC-06 hat, werksseitig eingestellt, den Namen „linvor“; der Pin-Code ist 1234. Also z.B. in Android in Einstellungen -> Bluetooth gehen und dort nach Geräten suchen. Gefundenes Gerät mit dem Namen „linvor“ markieren und „pairen“. Dabei den PinCode 1234 eingeben.  Jetzt können Apps auf Smartphone/Tablett mit dem Bluetooth-Module verbunden werden. Einfache Android Apps (nicht nur) zum Testen sind z.B.

  • Arduino Bluetooth Terminal
  • BlueTerm
  • Blue Control

Wer für seine Bluetooth Anwendung selbst eine Android-App erstellen will, nimmt als Vorlage am besten das von Google bereitgestellte Beispiel Bluetooth-Chat. Achtung unbedingt die UUID z.B. auf „00001101-0000-1000-8000-00805F9B34FB“ ändern, sonst klappt das Verbinden mit den hier beschriebenen Bluetooth-Chips nicht.

Wer mehr Sicherheit und Eindeutigkeit möchte, sollte den Namen und den Pin-Code seines Bluetooth-Moduls ändern.

Das geht so : Oben genanntes Beispielprogramm zu Softserial auf Baudrate 9600 ändern und uploaden. Bluetooth-Modul anschliessen und den Serialmonitor starten. Jetzt (ganz wichtig !) die Einstellung  „Kein Zeilenende“  wählen.

Folgendes Senden (Das Modul darf z.Zt. keine Bluetooth-Verbindung haben) :

Umschalten auf Kommandomodus:

Senden :         AT

Antwort :         OK

Name (max. 20 Zeichen) z.B. auf „blauerZahn“ setzen:

Senden           AT+NAMEblauerZahn

Antwort :         Oksetname

Pin-Code auf 5678 setzen

Senden :         AT+PIN5678

Antwort :         OKsetPIN

Das vorstehende Beispiel ist nur für den HC-06 Chip gültig ! Die Programmierung eines HC-05-Moduls als Master erfolgt etwas anders.

Um das HC-05 Modul für die automatische Verbindung mit einem anderen Bluetooth-Modul zu programmieren, muß man dessen Geräteadresse kennen. Leider kann man dies Adresse nicht über die o.g. Programmierschnittstelle des HC-06-Moduls abfragen. Die Geräteadresse des HC-06-Moduls muß man z.B. am Tablett bei Geräte suchen, zum Gerätenamen „linvor“ ablesen. Das ist eine 6 Byte lange Hexadezimalzahl z.B. 12:23:34:45:56:67

Zum Konfigurieren des HC05-Moduls wieder das oben genannte Beispielprogramm zum Softserial laden und jetzt die Kommunikation mit dem Softserial-Anschluß des Bluetooth-Modules auf 38400 Baud stellen,  und auf den Arduino uploaden. Wie oben beschrieben das Bluetooth-Modul mit dem Arduino verbinden und zusätzlich den Pin KEY mit +3,3 V verbinden.

Jetzt den USB-Stecker abziehen, ggf vorher am PC den Serial-Monitor schliessen. Das Bluetooth-Modul wird stromlos. Nach kurzer Wartezeit wieder anschliessen. Jetzt bootet auch das Bluetooth-Modul, dabei ist der KEY-Pin auf HIGH und das Modul geht jetzt in den Programmier-Modus. Es stellt dabei die Baudrate automatisch auf  38400 Baud.

Folgendes Senden (Das Modul darf z.Zt. keine Bluetooth-Verbindung haben) :

Kommandomodus einleiten :

Senden :         AT

Antwort :         OK

Partner-Gerät 12:23:34:45:56:67 spezifizieren  (NAP: UAP: LAP- Schreibweise)

Senden :         AT+BIND=1223,34,455667

Antwort :         OK

Einstellung „Mit spezfiziertem Gerät automatisch verbinden“

Senden :         AT+CMODE=0

Antwort :         OK

Rolle als „Master“ setzen

Senden :         AT+ROLE=1

Antwort :         OK

Das wars.

Merkwürdiger Weise benötigt des HC05-Modul zum Verbinden den Pin-Code des Partnergerätes nicht.

Es sei noch erwähnt, das bei dem HC-05-Modul der Pin STATE signalisiert, dass die Bluetooth-Verbindung zum Partnergerät besteht. Am besten diesen Pin mit dem Arduino einlesen und an einem anderen Ausgangspin, eine blaue LED ansteuern. So ist der Verbindungszustand sichtbar und das Bluetooth-Modul wird nicht mit dem Strom für die LED belastet.

Hubert Baumgarten

99 Gedanken zu „Bluetooth-Kochbuch für den Arduino

    • Eigentlich wollte ich direkt einen Post verfassen ohne Dir, Frank, zu antworten…

      Ich verstehe nicht von welchem „Oben genanntes Beispielprogramm zu Softserial“ der Hubert Baumgarten da spricht. Ich sehe oben kein Programm.

  1. Hallo Hubert,
    eine sehr interessante Zusammenfassung. Mit dem HC-06 hatte ich auch bereits einige Untersuchungen gestartet, vom HC-05 allerdings die Finger gelassen. Bei nächster Gelegenheit werde ich mir dann wohl auch mal den HC-05 bestellen.

  2. Also ich bekomme meines nicht zum laufen (HC-06). Weder pairen noch AT Modus funktioniert, das Ding reagiert auf gar nicht, es blinkt nur vor sich hin.
    TX RX vertauscht, Hardware Serialport, Pegelwandler (2 Widerstände), …. hilft alles nix.

    • Wenn das Modul blinkt, scheint Plus und Minus in richtiger Polarität angeschlossen zu sein. TXD muß auf RX und RXD muß auf TX.
      Erkläre mal wie Du am Hardware Serialport ein AT-Command sendest.

      • Ja RX, TX stimmen, ich kann in eine Richtung ein Zeichen senden (BT-Dongle am PC) es kommt auch eines an, ist aber immer 0x00 oder 0xFF je nachdem ob man inverted singaling nutzt oder nicht, umgekehrt kommt nix an, egal ob SoftwareSerial, HardwareSerial, Pegel auf 3,3V angepasst,

        Test mit Hardwareserial, Kabel entspr. an den Pins auch schon vertauscht, macht kein Unterschied. Es wird nur die Funktion
        unten in loop() aufgerufen

        baudrate ist ein array mit den üblichen Baudraten, die werden
        alle durchprobiert.

        void detectBaudRateAtSerialPort() {
        /*Versucht Baudrate des BT-Moduls heruauszufinden wenn
        es am echten Serial Port des Arduino angeschlossen ist.
        Es dürfen deshlab keine Meldungen an diesem Port ausgegeben
        werden. Alles was über diese Leutungen geht, geht auch über USB
        an ttyUSB0 (Arduino nano, habe auch schon Uno Probiert geht auch nicht) */

        for (int i=0; i < sizeof(baudrate)/sizeof(unsigned long); i++) {
        Serial.begin(baudrate[i]);
        Serial.write("AT");
        delay(3); //auch schon mit Werten von 0…30 probiert
        if (Serial.available()) { //was gefunden!
        while(1) { //onboard LED in blinken-Modus und ende
        digitalWrite(13, HIGH);
        delay(500);
        digitalWrite(13,LOW);
        delay(500);
        }
        }
        //erst nach einer Sekunde wieder ein AT-Kommando
        // sonst wird es ignoriert laut Doku
        Serial.end();
        delay(1200);
        }
        }

          • Jetzt habe ich meine Testmethode zum durchprobieren nochmal umgeschrieben und es erkennt sie erfolgreich:
            void detectBaudRateAtSoftwareSerialPort() {

            //array baudraten ist ausserhalb definiert: unsigned long baudrate[] = {1200,2400, … 1382400};

            int startTime=0;
            int time=0;
            const int timeMax=1000; //1 sekunde nach senden des AT-Kommandos warten

            SoftwareSerial bt(rxPin,txPin );

            Serial.println(„Trying to detect Baudrate via SoftwareSerial“);
            for (int i=0; i < sizeof(baudrate)/sizeof(unsigned long); i++) {
            Serial.print("Baudrate:"); Serial.println(baudrate[i]);
            bt.begin(baudrate[i]);
            bt.write("AT");

            startTime=millis();
            while( millis() – startTime < timeMax ) {
            time = millis() – startTime;
            if (bt.available()) {
            while(bt.available()) { //Alle Zeichen einsammeln
            //delay(time/2); //kann man weglassen macht keinen Unterschied
            antwortStr += (char) bt.read();
            }
            Serial.print("BT-Modul antwortet: "); Serial.println(antwortStr);

            Serial.print("Wartezeit nach Senden:"); Serial.println(time);
            Serial.println("Programm beendet.");
            while(1); // und hier Programm beenden
            }

            }
            bt.end();
            }
            Serial.println("…keine Antwort vom Modul, Programm angehalten.");
            while(1);
            }

            Bei mir waren 115200 eingestellt, nicht 9600 wie in der Doku angegeben, als Antwort kommt nicht OK sondern "O¥" (falls es hier in der Codierung verschluckt wird statt 'K' ein Y mit zwei waagrechten Strichen, typisch Chinamodul 🙂 (LC-Technology "Bluetooth Serial Modul Slave")
            Als delay wird ein Wert um 510 ms ermittelt wie du sagtest, hätte nie gedacht dass die Antwort so lange dauert. Kannst du mir erklären warum, steht das in irgendeiner Doku?

  3. Den Wert 510 mSec habe ich mit dem Arduino ähnlich ermittelt wie Du.
    Das Verhalten, so lang zu warten, ist zwingend notwendig, weil das Modul ja prüfen muß, ob noch etwas hinterher kommt. Man könnte ja z.B. ein anderes AT-Kommando schicken wie etwa AT+NAMExyz.

    • Ja jetzt ist es mir klar, das sind die 1s nach jedem AT-kommando, die man warten soll, sonst wird ein neues Kommando ignoriert, real sind es halt 510ms bis es antwortet, wartet man dann noch 500ms hat man die 1s voll und kann ein neues AT-Kommando senden.
      Jetzt habe ich mal die Baudrate im Hardwareserial auf 115200 gesetzt und siehe da das Zeichen ¥ wird zu einem K, die war vorher auch auf 9600 gesetzt, deshalb gab es hier wohl auch Timingprobleme. Da war die Hardwareserial zu langsam mit der Ausgabe als schon wieder ein Zeichen reinkam.
      Ok jetzt läuft das Ganze endlich, danke.

  4. Hallo,
    Dein Beitrag hat mich auf ne kleine Bastelidee gebracht. Aber leider finde ich die Module irgendwie nicht… Wo kann ich die bestellen ?
    Gruß
    BlueDogi

    • Hallo BlueDogi,

      geh zu ebay und suche nach HC-05 oder HC-06. Es gibt solche Module inzwischen von verschiedenen Herstellern.
      Achte darauf nicht ein „rohes“ Modul ohne 3,3V-Spannungregel und ohne LED usw. zu erwischen (ca. 4 €); sondern ein Modul auf Adapter-Platine; zu erkennen an den 4 bzw. 6 Anschlußstiften (ab 6 €).

      Hubert.

  5. Hallo,
    vielen Dank für die ausführliche Beschreibung, leider funktioniert es bei mir noch nicht und ich habe folgendes Problem: Ich habe ein „rohes“ HC-05 Modul und es ist per löten folgendermaßen an einen Arduino Uno angeschlossen:
    Rx-Tx
    Tx-Rx
    3,3V-3,3V
    Gnd-Gnd
    Ich habe es sowohl mit Widerständen als auch ohne probiert, leider sendet das Modul kein Signal, das heißt am PC oder am Handy wird kein Bluetooth angezeigt. Ich habe auch das Beispiel mit Softwareserial auf den Arduino geladen. Ich habe bisher aber ohne den PIN key gearbeitet, weil ich auf dem Arduino ja schon den 3,3 V Platz belegt habe. In vielen Internetvideos ist auch keine Konfiguration zu sehen, ist diese wirklich von nöten? Ich möchte im Endeffekt nur Daten per Handy, Pc auf den Arduino schicken. Vielleicht können Sie mir helfen und sagen, was ich noch ausprobieren/machen muss, damit mein Modul funktioniert.
    Vielen Dank dafür schonmal im Vorraus.

    • Hallo Blauzahn,

      um das HC-05 konfigurieren zu können, muß zwingend der Pin Key auf high (+3,3V) gelegt werden. Es schaltet sich dann beim booten in einen Programmier-Modus. Die Baudrate zum Serial-Port wird automatisch auf 38400 Baud gesetzt.. Kommandos müssen bei diesem Modul mit CR/LF gesendet werden.

      Also: Das Kommando AT mit CR/LF sollte mit OK quittiert werden.
      Die im Beitrag genannten Einstellungen können mit ? statt =… abgefragt werden. Also z.B. AT+ROLE? sollte mit 0 oder 1 beantwortet werden.

      Viel Erfolg

      PS: Die Led auf dem HC-05-Module sollte blinken, sonst stimmt die Verkabelung nicht.

      • Vielen Dank für die schnelle Antwort!
        Ich meine auf meinem „rohen“ Modul, also ohne Pins, nur zum Löten, ist keine LED, kann das sein? Wenn ich den Pin Key mit 3,3 V verbinde, wo soll ich dann die 3,3V vom Modul auf den Arduino stecken. Ich meine das „rohe“ Modul hat keinen Spannungswandler, sodass ich den 5V Ausgnag vom Arduino nicht nehmen kann, bin ich da richtig informiert?

        • Hallo Blauzahn,

          bei einem rohen Modul reicht die Beschaltung, die Du vorgenommen hast, nicht aus.

          Bitte schau Dir das Datasheet des Herstellers an :

          http://makezineblog.files.wordpress.com/2014/03/hc_hc-05-user-instructions-bluetooth.pdf

          Bitte lies Kapitel 5 manual for the first use of HC-05.

          Für die Programmierung mußt Du PIN 34 (key) mit Pin 12 (3,3V) fest verbinden.

          An Pin 2 (RX) muß ein Pullup-Widerstand, ( z.B. 1,5 KOhm ) ebenfalls mit Pin 12 (3,3 V) verbunden werden.

          Ggf. muß, für einen sauberen Reset, der Pin 11 (Reset) nach dem Einschalten, kurzzeitig auf Gnd gezogen werden.

          Nochmals viel Erfolg

          Hubbie

          • Vielen, vielen Dank, echt großartig die Unterstützung hier! Ich werde das gleich ausprobieren.

  6. Hallo Hubert,
    sehr gute Erklärung. Ich möchte mit Arduino per Bluetooth Drucksensoren abfragen. Die Sensoren liefern ein analoges Signal zwischen 0 und 5 Volt. Kannst du mir sagen wie mann ein Bloetoothmodul mit diesem Sensor verbinden kann. Der Sensor wird hat 3 Pins,+5V, GND und Signal.

    • Hallo Horst-Dieter
      Du brauchst einen Prozessor, der die analogen Signale der Drucksensoren digitalisiert und zu einem seriellen Signal formt. Das sieht dann ähnlich aus wie in unserem Beitrag „Temperatursensor Dallas 18B20“.

      Hubert

  7. Hallo Hubert,

    Dein Artikel hat mir bei meinen Bluetooth Bemühungen sehr viel weiter geholfen. Ich habe mir bei ebay ein HC-05 und ein HC-06 geholt und der HC-05 erkennt den HC-06 als Slave und verbindet sich wie es aussieht erfolgreich. Die LED am Slave brennt permanent und der Master blinkt wenn er etwas sendet. Leider klappt die Kommunikation nicht so ganz. Am Master schreibe ich mit write und am Slave lese ich per read die Daten vom Bluetooth board. Nur bekomme ich beim Lesen am Slave eine grössere Anzahl von Bytes als ich im Master schreibe. Ich schreibe 2 Bytes und 5 kommen an. Wenn ich die gelesenen Daten per Serial.print ausgebe bekomme ich fast immer den Wert 128 und manchmal den Wert 248 angezeigt. Ich benutze ein Uno und ein Mega Board aber das sollte eigentlich keinen Unterschied machen. Fällt Dir eine Lösung ein? Ich habe schon alle Baudraten die unterstützt werden durchprobiert aber das hat nichts bewirkt.

    Vielen Dank für den tollen Blog

    Stephan

    • Hallo Stephan,

      ich sende bisher immer ASCII-Zeichen per PRINT zum Bluetooth-Partnergerät. Mit WRITE auf Bluetooth habe ich keine Erfahrung.

      Poste doch ggf. kein Coding der Sende- und die Empfangs-Routine; am Besten mit der Deklaration der Felder.

      Hubert

  8. Guten Tag,

    ich hab mir ebenfalls ein HC-06 angeschafft, stehe jedoch vor folgendem Problem:

    Habe es per Bluetooth mit meinem Smartphone verbunden, jedoch bleibt die LED am blinken. Sollte diese nicht normal nach erfolgreichem Verbindungsaufbau dauerthaft leuchten? Bin da aktuell ein wenig verunsichert, ob es überhaupt noch funktioniert. Kommandos über SoftwareSerial funktionieren. Tut mir Leid bin aktuell noch Anfänger in dem Bereich. Vielen Dank schonmal 🙂

      • Hallo Hubbie,
        vielen Dank für die rasche Antwort 🙂
        Aber wenn es gepairt sein sollte, müsste doch die LED durchgehend leuchten oder sehe ich das falsch?

        • Das Pairen bereitet das Connecten vor. Ein Modul kann mit beliebig vielen Partnergeräten gepairt werden. Es hat keinen Grund nach dem Pairen das Blinken einzustellen. Erst wenn es conneted ist, hört das Blinken, als Zeichen „Ich habe Kontakt“, auf.

          • Hallo zusammen,

            ich versuche mit meinem Handy über Bluetooth mein Arduino mit einer App zu steuern.
            Kann mir da jemand helfen?
            Das Verbinden klappt, allerdings reagiert dann nichts auf meine Befehle!
            Gruß Ralf

  9. hallo hubert,

    ich möchte eine verbindung aufbauen bei welcher mehrere arduinos mit meinem computer kommunizieren. ist es möglich von mehreren mastermodulen, daten auf einem slave- oder empfängermodul zu senden.
    falls dies nicht geht, währe es möglich mehrere master-slave kombinationen parallel zu haben.
    was könnte eine gute möglichkeit sein mehrere arduinos per bluetooth an einen computer anzuschliessen.

    schönen gruß, stefan

    • Hallo Stefan,
      .
      die hier beschriebenen Bluetooth-Module HC05 und HC06 nutzen das Bluetoothprofil SPP (Serial Port Protocol). Daher können immer nur genau 2 Module mit einander kommunizieren.
      .
      Das ist vermutlich für Dein Projekt eher ungeeignet.
      .
      Hubbie

      • Hallo,
        was muß man tun um sich mit dem HC-05 als Master vom Rechner aus einem Smartphone verbinden zu können?
        Wenn das HC-05 Slave ist kann ich mich vom Smartphone aus verbinden. Nur umgekehrt, wie geht’s ?

        • Hallo „Doc“,

          offenbar kannst Du weder Deinen Namen noch eines der Worte „bitte“ oder „danke“ schreiben. Daher meine Frage : Kannst Du Deinen Namen tanzen ?

          Hubert

          • Hallo Hubert,
            Ich habe eine ganz normale Frage gestellt. In allen anderen Fragen hat niemand Bitte und Danke geschrieben. Danke sage ich wenn mir jemand geholfen hat mein Problem zu lösen.

            Warum ausgerechnet ich erst Bitte sagen mußt, kannst nur Du beantworten.

            Also. Könntest Du mir bitte sagen was man tun muß um sich vom HC-05 als Master zu einem Smartphone verbinden zu können.

            Tschau
            Max

  10. Hallo Maximilian,
    .
    guten Tag, bitte und danke, sowie ein Abschiedsgruß gebieten die Höflichkeit, besonders wenn man sich nicht kennt. Das ist eine Selbstverständlichkeit. Es ist erbärmlich, wenn Du das hier nur schreibst um Deine Frage beantwortet zu bekommen. Ich danke Dir für Deine Ehrlichkeit.
    .
    Cu
    Hubert

    • Hallo Maximilian,
      .
      ich vermute daß das Problem besteht, weil die Bluetootheinstellung auf Deinem Rechner nicht auf „Sichtbar für andere Geräte“ steht. Ich habe das jedoch nie so gemacht und nie getestet. Diesen Hinweis habe ich vor langer Zeit irgendwo in einem Internetforum gelesen. Die nächste Frage ist dann : Welches Programm / welche App soll die Komunikation durchführen. Soweit ich mich erinnere fragt ein Android bei der Kontaktaufnahme nach der App die gestartet werden soll.

      Wie funktioniert das bei Dir ?
      .
      Nichts für ungut
      Hubert

  11. Hallo Hubert,

    ich möchte vom Rechner aus, an dem das HC-05 als Master angeschlossen ist, eine Verbindung zum Smartphone aufbauen. Das gelingt nicht. Umgekehrt funktioniert das. Smartphone sucht und findet alle BT Geräte in der Nähe. Das Smartphone ist auf sichtbar geschalten. Ich weis nicht welchen Befehl ich im Terminal eingeben soll damit das HC-05 suchen kann. Oder benötigt man auf dem Rechner ein richtiges Programm, kein Terminal, was das HC-05 zur Suche veranlaßt? Weist Du zufällig mehr darüber?

    Tschau
    Max

    • Hallo Maximilian,
      .
      hast Du dem HC-05 die Geräteadresse Deines Smartphones eingetragen und die Rolle auf Master und Modus auf automatisch verbinden gesetzt?
      .
      MfG
      Hubert

  12. Hallo Hubert,
    das habe ich noch nicht gemacht. Dachte immer bisher es muß einen Befehl geben das es die Geräte in der Nähe suchen kann. Werde ich probieren. Das bedeutet dann, es kann sich nur mit denen verbinden deren Adresse hinterlegt ist? Ich dachte es kann sich immer mit allen die da sind verbinden und ansonsten nur mit den hinterlegten. Aber ich werde das probieren. Danke schon einmal für den Tipp.
    Tschau
    Max

    • Hallo Hubert,

      ich habe nun alles mögliche und unmögliche versucht. bind, fsad, link, adcn, cmode 0 oder 1, alles egal, bringt nichts.
      Mein Smartpone war so eingestellt das es für alle sichtbar ist.
      Mit at+bind=1234,56,7890 (Adresse geändert, aber Format stimmt)
      erhalte ich ein ok.
      mit allen anderen eine fail oder error
      Pair list Abfrage mit at+adcn bleibt leer
      Mein Smartphone reagiert nicht auf eine Pairinganfrage. Wenn die pair list leer bleibt, ist die Adresse nicht hinterlegt. Nur wie bekomme ich die da rein? Ich weis nicht weiter. Ideen?

  13. Moin Moin,
    ich wollte fargen ob es eine Möglichkeit gibt den Arduino so zu programierne, dass checkt ob ein Bluetooth-Mastergerät mit dem HC-06 gekoppelt ist. Damit ist z.B.: ein „if-Abfrage“ gestallten kann.

    • Hallo,
      .
      ausser dass das Partnergerät sich zu erkennen gibt, in dem es was schickt, sehe ich nur die Möglichkeit, die Led auf dem BT-Modul anzuzapfen und auf einen Pin des Arduino zu führen und auszuwerten.
      .
      Das Modul hört ja auf zu blinken, wenn es connected ist.
      .
      Hubert

  14. „Die bessere Lösung ist die Softserial-Libray zu nutzen und z.B. an Port 2/3 eine 2. Serial-Verbindung einzurichten. Mit der Arduino-Entwicklingssoftware wird eine Libary und ein Beispielprogramm mitgeliefert.“

    Wie heisst das Beispielprogramm? Wie muss ich das Bluetoothmodul HC-06 an das Arduino Nano anschliessen damit ich Daten, die ich an das Bluetooth sende (mit Android oder so) mit dem Serial Monitor am Pc sehen kann?

    „Man kann also einfach VCC (5V) und GND mit dem Arduino verbinden und die TXD und RXD Anschlüsse gekreuzt, also TXD an RX und RXD an TX, anschliessen. Achtung wenn man die Standard-Anschlüsse benutzt (Pin 0 und 1), dann darf diese Verbindung nur solange bestehen, wie der USB-Port nicht angeschlossen ist bzw. kein USB-Daten-Verkehr (Download/Serial-Port) stattfindet.“

    Geht das Modul kaputt und der PC kaputt?

  15. Wie mache ich das dann, wenn ich die gesendete Daten an Bluetooth von einem Android Handy an das Arduino am Serial Monitor am PC sichtbar machen möchte? Ich habe ein Arduino Nano.
    Danke für eure Hilfe!

  16. Warum darf denn das BT Modul nicht an der D0 D1 eines Nano verbleiben? Weil die TX Leitungen gegeneinander arbeiten oder ein HC05 dabei Mist baut? Ich möchte ein Nano fest verbauen mit USB nach außen und ein BT Modul mit einsetzen. Würde es helfen das BT Modul per Leitung vom Nano in Reset zu halten und erst in der Anwendung freizugeben. Eine Softserielle möchte ich nicht verwenden

    • Hab jetzt selbst ein wenig ausprobiert. Das BT-Modul hab ich mit seinem TX Ausgang über eine Diode (Richtung zum BT-Modul) an RX0 vom Nano angeschlossen. Zusätzlich kann ich mit einem P-Mosfet die 5V vom BT-Modul mit einem Portpin wegschalten, was beim Reset des Nano auch passiert. Bluetooth und Flashen über USB geht damit ohne Stecker abzuziehen.

  17. Hi. Danke für dieses Tutorial. Allerdings habe ich ein Problem, und zwar bekomme ich keine Antwort, wenn ich AT sende. Ich versuche das ganze mit einem Arduino Nano und habe im SoftwareSerial-Sketch entsprechend die Pins auf SoftwareSerial mySerial(0, 1); // RX, TX geändert. Wenn ich den Sketch hochlade und den Serialmonitor danach starte, erhalte ich nur folgende Ausgabe:
    Goodnight moon!
    F
    Wenn ich AT sende, erscheint hinter dem F dieses Zeichen: þ
    Was ist da los?

        • Hallo Scritch,.
          .
          im Prinzip gehen alle Pins. Pin 2 oder 3 als RX-Pin ist empfehlenswert, weil die mit externem Interupt arbeiten können und daher am sichersten und mit den höchsten Baudraten funktionieren.
          .
          Hubert

          • Hatte mir zwischenzeitlich meine Frage bereits selbst beantwortet. Bei manchen Boards gibts ja irgendwelche Limitierungen, sodass man nicht alle Pins benutzen darf. Steht ja sogar im Beispielsketch.
            Trotzdem bekomme ich keine Funktion hin, wie du sie beschreibst. Ich sende per SerialMonitor AT und erwarte OK zurück. Es passiert aber gar nichts. Jetzt bin ich soweit dass ich folgende Ausgabe erhalte, ohne irgendwas eingegeben zu haben:
            Goodnight moon!
            ERROR:(0)
            Danke für deine Hilfe.

      • Hallo Zusammen,
        ich habe mir 5 Stk. HC-06 BT-Adapter gekauft und allen mit AT-Befehlen eine Baudrate von 9600 eingestellt und unterschiedliche Namen und PIN gegeben. Alle lassen sich mit dem Handy koppeln aber nur 3 von 5 verbinden dann in der App mit der Gegenstelle. bei den anderen bekomme ich die Fehlermeldung „Timeout reading 0 from 6 Byte“.
        Verbinde ich Handy+Terminal App mit PC kann ich daten senden und empfangen.
        Grüße, Sven

        • Hallo Sven,
          .
          mit welcher Handy-App möchtst Du kommunizieren? Es muss einr App sein, die über das SPP (serial port profile) kommuniziert. Im Beitrag habe ich geeignete Apps genannt..
          .
          Hubert

          • Hallo Hubert,

            vielen Dank erst mal für die Antwort. Und ich wie ich gerade sehe wurde meine erste Frage ja doch angenommen. Sorry.
            Die App die ich benutze ist speziell für das Steuergerät meines Motorrades um darüber Fehlerdiagnose zu betreiben, bzw. Änderungen im Steuergerät vorzunehmen.
            https://play.google.com/store/apps/details?id=org.ecmdroid&hl=de
            Es wird hier auch ganz gut der Bau des BT-Adapters beschrieben. Allerdings wird hier ein Modul von Sparkfun benutzt, welches aber nicht ganz billig ist.
            http://www.ecmspy.com/btwireless2.shtml
            Wie ich in meiner zweiten Anfrage auch schon beschrieben habe, funktionieren ja drei von fünf Adapter.

            Gruß,
            Sven

      • Ich habe jetzt nochmal bischen probiert und recherchiert und bin darauf gestoßen, den Key-Pin des HC-05 an einen auf HIGH gesetzten digitalen Pin anzuschliessen. Das hat zum Teil auch Erfolg gebracht. Wenn ich nun ein AT sende erhalte ich auch OK zurück. Wenn ich allerdings jeglichen anderen Befehl sende, erhalte ich keine Antwort. Beim HC-06 ist es nicht anders. Hast du da auch noch einen Tipp?

  18. Hallo Hubert,
    ich bin ziemlich neu auf dem Gebiet und hab hier ein Problem, wo ich einfach nicht weiter weiß.
    Ich habe auf meinem Droiden eine App mit der ich Daten vom Steuergerät meines Motorrades aus- und einlesen kann. Für die Verbindung benutze ich einen HC-06 BT-Adapter von denen ich gleich 5 Stück gekauft habe, da die kumpels ja auch gleich versorgt werden wollen.
    Diese 5 Stück habe ich alle mit AT-Befehlen konfigurieren können, sodass sie die selbe Baudrate (9600) haben, aber unterschiedliche Namen und PINs. Drei von ihnen funktionieren und bei zwein bekomme ich den Fehler „Timeout reading 0 from 6 Byte“, wenn ich sie in der App verbinde. Koppeln mit dem Droiden ist kein Problem.
    Defekt scheinen sie aber auch nicht, da ich mir zum Einen daraufhin noch zwei gekauft habe und diese auch den Fehler bringen, zum Anderen ich mit einer Terminal-App auf dem Droiden Daten zwischen Handy und PC senden kann. Heißt, die LED vom BT-Adapter blinkt schnell und leuchtet dauerhaft nach dem Verbinden.

    Gruß, Sven

    • Hallo Svensonite,

      Dein Bluetooth – Projekt ist sehr interessant. Wäre toll wenn Du uns auf den Laufenden hälst.
      .
      Ich fasse noch mal zusammen. 3 von 5 Bluetoothmodulen arbeiten einwandfrei. Bei den anderen kommt eine Fehlermeldung bei der Kommunikation mit dem Handy. Da kann ich mir nur vorstellen, dass die Parameter nicht stimmig sind.

      Setze doch nochmal mit dem PC Baudrate und Paritybit:
      .
      AT+PN no Parity
      AT+BAUD4 Baudrate 9600
      .
      Viel Erfolg
      Hubert

  19. Hallo Hubert,
    es wäre schön, wenn du mir bei meinem Problem helfen könntest. Ich habe einen Pro Micro von Sparkfun und daran habe ich ein HC-05 (wie es oben abgebildet ist) angeschlossen. Es geht darum, dass hauptsächlich Daten vom Smartphone an den Micro übertragen werden sollen, der Micro soll dann eine Rückmeldung ans Smartphone senden. Ich habe das HC-05 wie beschrieben angeschlossen die baudrate liegt bei 9600 (default). Ich habe einen Sketch geschrieben in dem der Micro Daten über das HC-05 versendet und sobald er eine 1 oder ein A empfängt, soll er Rückmeldung über den Erhalt der Daten geben. Auf dem Smartphone nutze ich die App Bluetooth Terminal. Ich empfange, sobald die Verbindung steht, alle Daten die das HC-05 sendet auf dem Smartphone, sende ich allerdings eine 1 oder ein A vom Smartphone an das HC-05 geschieht nichts. Ich habe schon alle möglichen Schaltungen mit Widerständen (Spannungsteiler) usw. probiert. Es funktioniert aber immer nur in die eine Richtung. Hast du vielleicht noch eine Idee? Vielen Dank schon mal 🙂

      • Hallo Micha,
        .
        vielen Dank für Dein Interesse. Damit ich Dir helfen kann sag mir bitte an welche Pins Du das Bluetoothmodul angeschlossen hast. Die sind vielleicht nicht für das Serial-Interface geeignet.

        .Hubert

        • Hallo Hubert,
          danke erstmal für die schnelle Antwort. Ich habe an Pin 0 und 1 angeschlossen (also Standard RX,TX) ich kommuniziere ja nicht zeitgleich über USB, sollte deshalb also funktionieren. Habe es allerdings trotzdem mit SoftwareSerial gemacht. Hab noch vergessen zu sagen, dass es ein 5V/16MHz Micro Pro ist.
          Das ist mein simples Testprogramm, das auf den Micro geladen ist:

          #include

          SoftwareSerial mySerial(0, 1); // RX, TX
          int ledpin=13;
          int i=0;

          void setup() {
          mySerial.begin(9600);
          mySerial.println(„Hallo vom Bluetooth Modul“);
          pinMode(ledpin,OUTPUT);
          }

          void loop() {

          digitalWrite(ledpin, 1);
          if (i= ‚0‘ && ch = ‚a‘ && ch <= 'A'){
          mySerial.println("hab empfangen");
          }
          else if (ch =='\n'){ // Wenn letztes Zeichen Protokoll empfangen und zwei Werte da.{
          mySerial.println("neue Zeile");
          }
          }

          Die Antworten vom BT-Modul kann ich auf dem Handy sehen ("(Nummer) von Bluetooth"), allerdings antwortet der Micro nicht darauf, wenn ich vom Handy aus eine Zahl zwischen 0 und 9 oder ein a bzw. A sende. Ich habe es eben mit Handy und Laptop gecheckt, da kommen alle Daten in beide Richtungen an.

          Gruß
          Micha

          • Hallo Micha,
            .
            in der Arduino IDE gibt es den Menu-Punkt als HTML kopieren. Damit kommt der Sketech schön aufbereitet in die Zwischenablage. Dann kannst Du mit Strg V den Sketch in die Kommentar TextBox kopieren.

            Wenn Du Pin 0 und 1 verwendest solltest Du nicht mit Softserial arbeiten, sondern mit Serial.
            .
            Hubert

          • Hallo Hubert,
            mit Serial und Serial1 hab ich es auch schon probiert, das bringt aber auch nichts, hab dann im Internet irgendwo gefunden, dass man es auch trotzdem mit SoftwareSerial machen kann. Hat aber bisher auch nichts gebracht hab auch schon pin 2/3 und 5/6 probiert.
            also hier jetzt der Code:

            #include <SoftwareSerial.h>

            SoftwareSerial mySerial(0, 1); // RX, TX
            int i=0;

            void setup() {
             mySerial.begin(9600);
             mySerial.println(„Hallo vom Bluetooth Modul“);
            }

            void loop() {
             if (i<1000){
               mySerial.print(i);
               mySerial.println(“ von Bluetooth“);
               delay(10);
               i++;}
             char ch = mySerial.read();
               // Falls die ASCII Zeichen Ziffern sind.
               if(ch >= ‚0‘ && ch <= ‚9‘){
                 mySerial.println(„hab empfangen“);
               }
               if(ch >= ‚a‘ && ch <= ‚A‘){
                 mySerial.println(„hab empfangen“);
               }
               else if (ch ==’\n‘){ // Wenn letztes Zeichen Protokoll empfangen und zwei Werte da.{
                 mySerial.println(„neue Zeile“);
               }
            }

            Gruß
            Micha

          • Hallo Micha,
            .
            ich bin ja noch skeptisch mit Softserial auf Port 0/1.
            .
            Deine Abfrage auf a / A kann niemals greifen, weil der ASCII Code eines a = 97 und A = 65 ist. Das empfangene Zeichen kann nicht größer 97 und gleichzeitig kleiner 65 sein.
            .
            Hubert

          • Hallo Hubert,
            danke. Jetzt erkenne ich meine Dummheit mit den a’s hab das übersehen soll natürlich == sein nicht > oder < =. Ok wenn du da skeptisch bist werde ich es morgen nochmal mit anderen pins und auf 0/1 ohne SoftwareSerial probieren. Danke schon mal für die Hilfe.

            Gruß
            Micha

          • Hallo Hubert,
            habe es jetzt nochmal in allen Varianten getestet. Es funktioniert immer noch nicht, es wird immer nur einseitig kommuniziert. Alles was ich vom Smartphone oder Laptop an den Arduino sende, scheint nich anzukommen. Hab es jetzt an PIN 0/1 angeschlossen und nutze Serial1 (Serial funktioniert nicht). Hast du vielleicht noch eine Idee?

            Gruß
            Micha

          • Hallo Micha,

            … schwieriger Fall …
            .
            Zur Sicherheit bitte überprüfe nochmals folgende Punkte :
            .
            * Die vom Arduino gesendeten Texte werden in Blueterm angezeigt.
            * Zeichen, die Du in Blueterm tippst werden in Blueterm angezeigt. (Es gab schon mal das Problem, dass die im Smartphone eingestellte Tastatur von Blueterm nicht erkannt wurde).
            * Deine a/A Abfrage ist jetzt mit „oder“ verknüpft (statt „und“ wie bisher)
            * Arbeite ggf. mit Serial1.availible() um erstmal zu prüfen ob ein Zeichen empfangen wurde.
            .
            Viel Erfolg
            .
            Hubert

          • Hallo Hubert,
            habe nicht Blueterm verwendet sonder Bluetooth Terminal, da wurde alles angezeigt was ich abgeschickt habe nur die Rückmeldung kommt nicht. Bei Blueterm (gerade runtergeladen) wird nicht angezeigt was ich eintippe. Ich habe schon gestern noch die Serial1.available() abfrage eingefügt in einer If-Anweisung und die A’s hab ich auch gestern noch korrigiert. Leider bisher alles ohne Erfolg. Bist du auch der Meinung, dass das Modul eher nicht kaputt sein kann, wenn es sich problemlos koppeln lässt und auch Daten ans Smartphone senden kann? Ich verstehe einfach nicht warum es in die eine Richtung funktioniert in die andere aber nicht… Vielen Dank dir für deine Tipps die du mir bisher schon gegeben hast =)

            Gruß
            Micha

          • Hallo Hubert,
            ich habe jetzt versucht mal im AT Command Mode den Namen zu ändern, das hat funktioniert. Ich habe allerdings auch hier überhaupt keine Rückmeldung erhalten, habe nur danach auf meinem Smartphone gesehen, dass das Modul jetzt umbenannt ist. Meinst du es kann an Lötverbindungen liegen? Kann ja aber eigentlich auch nicht sein, da ich ja mehrere Pins getestet habe und immer nur die eine Richtung nicht funktioniert. Hast du vielleicht irgendwo schonmal von einem ähnlichen Problem gehört oder gelesen? Habe dazu nicht wirklich was gefunden, dass mir weitergeholfen hätte. Du hast mich jetzt schon ein Stück weiter gebracht, danke dafür! Vielleicht bekomm ich es ja noch so weit, dass es funktioniert 😛

            Gruß
            Micha

          • Hallo Micha,
            .
            das mit dem Umbenennen macht mich stutzig. Ist das BT-Modul im Programmier-Modus ? Der Pin Key darf nicht an 3.3 V liegen !
            .
            Hubert

          • Hallo Hubert,
            ja hatte das Modul dafür kurz so angeschlossen, um zu testen ob das funktioniert. Es hat funktioniert daraufhin hab ich es wieder “normal“ angeschlossen. Am Problem hat sich ja aber nichts geändert.

            Gruß
            Micha

          • Hallo Micha,
            .
            ich habe jetzt einen fabrikneuen HC05 an meinen Arduino angeschlossen und mit dem Softserial Beispiel der Arduino IDE getestet (die Baudrate habe ich auf 9600 gestellt),
            .
            Test mit Samsung Tab S :
            Ergebnis : Koppeln: kein Problem. Blueterm: verbinden kein Problem Blueterm senden und empfangen: kein Problem.
            .
            Die Kommunikation von / zum PC via Arduino und Serial Port funktioniert auf Anhieb.
            .
            Dann habe ich im Sketch die Baudrate zum HC05 auf 38400 gestellt, den KEY-Pin auf + 3,3 V gelegt und USB-Stecker raus rein (HC05 bootet neu)..

            Jetzt war ich im Programmier-Modus (wichtige Einstellung im Serial Monitor : Zeilenende mit CR und NL).
            .
            Nun habe ich alle relevanten / interessanten Parameter abgefragt :
            .
            Gesendet :
            AT
            Antwort :
            OK
            .
            Gesendet :
            AT+CMODE
            Antwort :
            +CMOD:1
            OK

            .
            Gesendet :
            AT+ROLE
            Antwort :
            +ROLE:0
            OK
            .
            Gesendet :
            AT+UART
            Antwort:
            +UART:9600,0,0
            OK
            .
            Gesendet :
            AT+BIND
            Antwort :
            +BIND:0:0:0
            OK
            .
            Gesendet :
            AT+NAME
            Antwort :
            +NAME:HC-05
            OK
            .
            Bitte vergleiche das mit Deinem HC05-Modul. Möglicherweise ist da etwas verstellt.
            .
            Vielleicht hilft auch ein
            AT+ORGL
            um den HC05 auf die Werkseinstellungen zurück zusetzen.
            .
            Viel Erfolg
            .
            Hubert
            .
            PS: Ich weis das Du das die erforderlichen Schritte schon einmal erfolgreich durchgeführt hast. Dennoch beschreibe das hier etwas ausführlicher, damit andere Leser das genau nachvollziehen können.

          • Hallo Hubert,
            Danke, leider scheint der Erfolg auszubleiben. Mittlerweile hab ich mir einen Arduino Uno besorgt, um es mit diesem auch zu testen. Wie du vorgeschlagen hast, habe ich das Modul in den AT-Command Mode gesetzt und das Modul auf Werkseinstellung gesetzt. Dies hat auch funktioniert, da der Name des Moduls danach wieder anders war als ich ihn zuvor eingestellt hatte. Was dabei aber auffiel, ist das immer noch keine Rückmeldung vom Modul kommt. Ich gebe die AT-Commands im Serial Monitor ein, es kommt aber keine Antwort, also wenn ich zum Beispiel „AT“ eingebe kommt kein „Ok“ zurück, das einzige was im Serial Monitor aufgeführt ist, ist das hier ->Serial.println(„Enter AT commands:“);

            Danach hab ich dann Name und Baudrate wieder geändert, auch das scheint funktioniert zu haben, da der Name des Moduls geändert wurde. Ich habe anschließend wieder den alten Sketch drauf geladen, um das Modul zu testen, leider ist es immer noch das gleiche Problem. Ich habe einen Sketch geschrieben, bei dem der Arduino über das BT-Modul Daten sendet, diese Daten werden von meinem Smartphone auch empfangen, wenn ich es mit dem Modul gekoppelt und eine Terminal App geöffnet habe. Wenn ich allerdings vom Smartphone Daten über BT an das Modul sende kommt keinerlei Reaktion des Modul, eigentlich sollte laut Sketch der Arduino eine Rückmeldung ans Smartphone senden, dass die Daten erfolgreich empfangen wurden. Diese bleibt aber aus!

            Ich bin der Meinung, dass das Problem in der Übertragung vom Modul zum Arduino liegen muss. Denn auch im AT-Command Mode kommt ja keine Rückmeldung des Moduls am PC an, und da läuft die Kommunikation ja nicht über BT, also kann es nicht daran liegen, dass das Modul die BT Daten nicht empfängt. Ich habe die Anschlusskabel des Moduls auch mal getauscht, jedoch immer noch das gleiche Ergebnis.

            Gruß
            Micha

          • Hallo Micha,
            .
            ich fürchte es gibt nur noch eine Erklärung : Der TX-Ausgang Deines HC05 ist defekt.
            .
            Hubert

          • Hallo Hubert,
            komischerweise ging es gestern plötzlich, mit dem Sketch hat es jetzt funktioniert. Ich hab aber keine Ahnung warum es jetzt plötzlich ging. Vielen Dank für deine Hilfe!!! =)
            Hier der Sketch:

            #include <SoftwareSerial.h>

            SoftwareSerial mySerial(4, 5); // RX, TX
            int i=0;
            int pinled = 6;

            void setup() {
             mySerial.begin(9600);
             mySerial.println(„Hallo vom Bluetooth Modul“);
             pinMode(pinled,OUTPUT);
             digitalWrite(pinled,HIGH);
            }

            void loop() {
             if (i<1000){
               mySerial.print(i);
               mySerial.println(“ von Bluetooth“);
               delay(10);
               i++;}
             if (mySerial.available()>0){
               char ch = mySerial.read();
                 // Falls die ASCII Zeichen Ziffern sind.
                 if (i>900){
                   if(ch >= ‚0‘ && ch <= ‚9‘){
                     mySerial.println(„hab empfangen“);
                     delay(100);
                   }
                   if(ch == ‚a‘ || ch == ‚A‘){
                     mySerial.println(„hab empfangen“);
                     delay(100);
                   }
                 else if (ch ==’\n‘){ // Wenn letztes Zeichen Protokoll empfangen und zwei Werte da.{
                   mySerial.println(„neue Zeile“);
                 }
               }
             }
            }

            Gruß Micha

  20. Pingback: Sprachinterface a la Startrek | Arduino-Hannover

  21. Hallo Hubert,
    ich suche eine Lösung mit sehr niedrigem Stgromverbrauch, um eine LED per Bluetooth zu schalten. Ist es möglich eines der gängigen Bluetooth-Module standalone hierfür zu nutzen, d. h. ohne dass ein Arduino-Board eingesetzt werden muss?
    Freue mich über alle Infos hierzu!
    Vielen Dank schon einmal und beste Grüße
    Jörg

  22. Pingback: bluetooth sunrise alarm clock + iRise smartphone app | thisisyetanotherblog

    • Hallo, ich möchte mit einem Bluetooth Modul das Signal von einem MPU-6050 zu einem Arduino Nano schicken. Mit dem 6050 möchte ich dann bei einem bestimmten Winkel ein Servo in eine bestimmte Position bringen. An dem Nano habe ich das bereits hinbekommen aber jetzt möchte ich das auch von einer Position machen die 6 Meter entfernt liegt und nicht mit einem Kabel erreicht werden soll. Meine Idee ist jetzt einen Arduino Micro auch mit dem MPU 6050 Sensor zu bestücken und dann über das Bluetooth Modul bei dem bestimmten Winkel das Setvo am Arduino Nano zu schalten. Meine Frage dazu ist jetzt ob das was werden kann oder nicht. Vielleicht hat jemand einen Tipp für mich wie ein Sketch dafür aussehen muss.

      Vielen herzlichen Dank,
      Florian

  23. Servus,

    ich hätte eine Frage :
    ich habe meinen HC 06 so angeschlossen wie in der Anleitung beschrieben und
    auch mein Galaxy s5 ist bereits damit verbunden.

    Jedoch tut sich nichts wenn ich mit meiner „Ardudroid“ App zB. DigitalWrite 03 antippe…

    Muss ich eigentlich ein Programm hochladen wenn ich nur ein paar LEDs über die
    Digitalen Ausgänge ansteuern möchte, oder reicht es das Modul zu verbinden wie in der Anleitung?

  24. Gute Zusammenfassung, aber ich habe noch eine Frage. Wie sieht es damit aus, dass ich dem maester einen Befehl gebe und dieser soll den weiteren Modulen den Befehl weiterleiten doch über eine Distanz das der maester das letzte Modul nicht erreicht. Können diese Module HC-05 eine Information empfangen und wenn sie nicht für sie ist weitersenden? Oder schlägst du andere Module vor?
    Danke im voraus!

    • Hallo Jonas,

      laut Bluetooth – Konzept arbeitet jedes Gerät auch als Repeater.
      Somit müsste es genügen, ein HC-MODUL an geeigneter Stelle,ohne besondere Funktion , zu betreiben.

      Hubert

  25. Hallo,

    ich habe ein hc05 Modul als Master mit einem 06 verbunden. Das funktioniert einwandfrei. Vor kurzem habe ich mir einen RFduino zugelegt, da dieser kleiner ist als ein 06 Modul. Die Verbindung von hc05 und dem RFduino klappt leider nicht. Ich habe die Vermutung, dass das daran liegt dass der RFduino mit BluetoothLE arbeitet.
    Kann das hc 05 BluetoothLE bzw. sich mit einem Slave der mit LE arbeitet verbinden?
    Danke schonmal im Voraus.

    Grüße
    Marco

  26. Hallo Hubert,
    der Hinweis mit der UUID war echt gut. Vielen Dank!! Ich habe schon verzweifelt. Nun habe ich das Problem, das wenn ich mehrere Bytes Daten hintereinander vom µC über Bluetooth zum Handy schicken möchte, kommen nicht alle Bytes an. Nur wenn ich nach jedem Zeichen eine kleine Pause lasse, kommen alle Bytes an. Ich vermute das meine App zu langsam die Daten verarbeitet. Hast Du da Erfahrungen oder Tipps?

  27. Hallo, ich bin am verzweifeln. Ich habe ein hm-10 modul das einfach keine AT befehle annimmt. Eine Kommunikation zwischen iphone app und seriellen Monitor vom arduino geht in beide Richtungen. Habe schon etliche Anleitungen ausprobiert. Habe auch schon ein anders hm-10 modul mit einem andern breakboard ausprobiert!
    Würde mich mega freuen wenn mir jemand helfen könnte!
    Grüse heidepower

  28. Guten Abend,
    Ich habe einen HC 06 und brauche die Programmierschnittstelle. Mit meinem Handy kann ich diese aber nicht aufrufen. Ich mache es wie angegeben. Alles andere funktioniert (pin ändern und co). Gibt es noch eine andere Möglichkeit dieses herauszufinden ?

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

I accept that my given data and my IP address is sent to a server in the USA only for the purpose of spam prevention through the Akismet program.More information on Akismet and GDPR.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.