- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 10 von 33

Thema: Bluetooth BLE 4.0 - CC41-a zu HM-10 umwandeln

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #7
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    17.02.2009
    Ort
    Aachen
    Beiträge
    1.181
    Hmmm....also bisher hab ich mit dem Ändern der Baudrate keinen Erfolg gehabt.
    Die Ausgabe sieht immer noch wie folgt aus:
    Code:
    Send something in serial-monitor or in bluetooth-terminal
    Here we go
    69
    82
    82
    79
    82
    61
    50
    48
    49
    13
    10
    69
    82
    82
    79
    82
    61
    49
    48
    49
    13
    10
    -1
    -1
    -1
    -1
    Code:
    #include <SoftwareSerial.h>
    SoftwareSerial softSerial(2, 3);    // RX, TX
    
    void setup()
    {
        Serial.begin(9600);
        softSerial.begin(115200);
        delay(100);
        softSerial.println("U,9600,N");  // Temporarily Change the baudrate to 9600, no parity
        // 115200 can be too fast at times for NewSoftSerial to relay the data reliably
        softSerial.begin(9600);  // Start bluetooth serial at 9600
         
        Serial.println("Send something in serial-monitor or in bluetooth-terminal");
        delay(1000);
    
        softSerial.println("AT");
        delay(1000);
        softSerial.println("AT+NAMEfunnylilbluetooththing");
        Serial.println("Here we go");
        delay(500);
    
        // Reset all settings.
        softSerial.write("AT+RENEW");
        delay(300);  
    
        //AT+ROLE1 = slave
        //AT+ROLE0 = is master
        softSerial.write("AT+ROLE1");
        delay(300);
    
        //AT+PASSxxxxxx sets the password xxxxxx (6 characters)
        softSerial.write("AT+PASS000001"); 
        delay(300);
    
        //The work mode only works for the Master HM-10.
        //AT+MODE0 = Transmission Mode
        //AT+MODE1 = Remote Control Mode
        //AT+MODE2 = Modes 0 + 1
        softSerial.write("AT+MODE0"); 
        delay(300);
    
        //AT+IMME0 = wait until "AT+START" to work
        //AT+WORK1 = connect right now
        softSerial.write("AT+IMME0");
        delay(300);
    
        softSerial.write("AT+BAUD9600");
        delay(300);
    
        //AT+START = AT+WORK
        softSerial.write("AT+START"); 
        delay(300);
    }
    
    void loop()
    {
        if (softSerial.available())
            softSerial.print("AT");
            delay(500);
            Serial.println(softSerial.read());
        if (Serial.available())
            softSerial.println(Serial.read());
    }

    Ich wär momentan froh, wenn ich einfach auf ein AT ein OK bekommen würde...

    //Edit: Der Chip auf meinem Modul ist übrigens ein CC2541.

    - - - Aktualisiert - - -

    Komisch....jetzt spuckt mir das HM-10 ein OK aus mit diesem Code:
    Code:
    #include <SoftwareSerial.h>
    //SoftwareSerial softSerial(6, 5);    // RX, TX HC-05
    SoftwareSerial softSerial(2, 3);    // RX, TX HM-10
    
    void setup()
    {
        Serial.begin(9600);
        softSerial.begin(9600);  // Start bluetooth serial at 9600
        Serial.println("Send something...");
        delay(300);
    
        softSerial.println("AT");
        delay(300);
    /*    softSerial.write("AT+ROLE0");
        delay(300);
        softSerial.write("AT+PASS000001"); 
        delay(300);
    
        softSerial.write("AT+MODE2"); 
        softSerial.write("AT+WORK1");
        delay(300);
    */
    }
    
    void loop()
    {
        if (softSerial.available())
            Serial.write(softSerial.read());
        if (Serial.available())
            softSerial.write(Serial.read());
    }
    Blöd nur, dass ich es bluetoothseitig vom Smartphone oder PC nicht finden kann.

    - - - Aktualisiert - - -

    Finally it works!

    Code:
    #include <SoftwareSerial.h>
    //SoftwareSerial softSerial(6, 5);    // RX, TX HC-05
    SoftwareSerial softSerial(2, 3);    // RX, TX HM-10
    
    void setup()
    {
        Serial.begin(9600);
        softSerial.begin(9600);  // Start bluetooth serial at 9600
        Serial.println("Send something...");
        delay(300);
    
        Serial.println("AT");
        softSerial.println("AT");
        delay(500);
        
        Serial.println("AT+NAMEansgar");
        softSerial.println("AT+NAMEansgar");
        delay(500);
    
        Serial.println("AT+PASS000001");
        softSerial.println("AT+PASS000001"); 
        delay(500);
        
    
        Serial.println("AT+ROLE0");
        softSerial.println("AT+ROLE0");
        delay(500);
    
        Serial.println("AT+MODE2");
        softSerial.println("AT+MODE2");
        delay(500);
        
        Serial.println("AT+WORK1");
        softSerial.println("AT+WORK1");
        delay(500);
    }
    
    void loop()
    {
        if (softSerial.available())
            Serial.write(softSerial.read());
        if (Serial.available())
            softSerial.write(Serial.read());
    }

    liefert im Serial-Monitor folgendes zurück:
    Code:
    Send something...
    AT
    AT+NAMEansgar
    AT+PASS000001
    AT+ROLE0
    AT+MODE2
    AT+WORK1
    OK
    +NAME=ansgar
    OK
    +PASS=000001
    OK
    +ROLE=0
    OK
    (die Ausgabe ist war was durcheinander....aber hauptsche es funktioniert erstmal! Jetzt weiß ich immerhin, dass ich den Chip nicht mit 5V gegrillt habe )

    Probleme hat das softSerial.write() gemacht, wobei ich gestern getestet hatte, ob alles mit write() oder print() funktioniert. Scheinbar ist wirklich ein println() nötig!

    - - - Aktualisiert - - -

    Arrrrgh....doch nicht.
    Er hat kurzzeitig reagiert auf die AT-Commands.
    Aber nun nicht mehr. Jetzt bekomme ich keine Antwort mehr vom Modul.
    Also habe ich mal mein Austauschmodul angeklemmt....und da bekomme ich mit exakt dem selben Code wieder so ne komische Zahlenabfolge.
    Ich werd jetzt mal die Delays hochschrauben und sehen, obs daran liegt.

    //Edit: Infos zum HM-10 gibts übrigens hier: http://www.jnhuamao.cn/showNews.asp?id=87
    Geändert von Cysign (04.12.2015 um 01:02 Uhr)

Ähnliche Themen

  1. DC in Drehstrom umwandeln
    Von Devil im Forum Elektronik
    Antworten: 10
    Letzter Beitrag: 25.06.2011, 11:52
  2. +/-10V zu Differentialausgang umwandeln
    Von Andal im Forum Elektronik
    Antworten: 4
    Letzter Beitrag: 20.10.2008, 18:47
  3. .exe in .c umwandeln?
    Von Römer im Forum Software, Algorithmen und KI
    Antworten: 10
    Letzter Beitrag: 20.03.2007, 12:26
  4. 12V in 5V umwandeln
    Von LinuxFan im Forum Elektronik
    Antworten: 19
    Letzter Beitrag: 13.06.2005, 10:03
  5. PocktetPC mit Bluetooth & Bluetooth-Adapter
    Von Biene im Forum PC-, Pocket PC, Tablet PC, Smartphone oder Notebook
    Antworten: 7
    Letzter Beitrag: 17.01.2005, 11:15

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress