BTM222 konfigurieren

Gast #3511200
Lesenswert?

Hallo,

ich habe ein BTM222 Bluetooth-Modul auf meiner Platine zusammen mit 
einem ATMega8 (und einem 74HTC14N) verlötet. Nun wollte ich das Modul 
konfigurieren um die Baudrate, den Namen und die PIN zu ändern, aber ich 
bekomme es nicht hin.
Ich kann meinen PC mit dem Modul (PIN 1234) koppeln und danach auch mit 
HTerm eine Verbindung mit einer Baud-Rate von 19200, 8 Bits, 1 Stop bit, 
keine Parität herstellen.

Wenn ich nun "AT" sende, blinkt in dem Moment, in dem ich Enter drücke 
auch die entsprechende Übertragungsstatus-LED aber das war es dann auch. 
Es kommt nichts zurück. Nach verschiedenen Berichten sollte hier ein 
"OK" kommen.
Wenn ich mit dem Bluetooth-Modul etwas vom ATMega sende, kommt dies auch 
beim Terminal an ("Hello World"), die Verbindung scheint also zumindest 
in eine Richtung zu funktionieren.

Daher denke ich, dass ich vielleicht einen grundlegenden Fehler mache. 
In dem Programm HTerm habe ich als Übertragungstyp: ASC eingegeben, was 
wohl für ASCII steht. Ist das korrekt? Send on enter steht auf CR.
Ich gebe dann die zwei Buchstaben AT ein und drücke Enter. Muss ich 
vielleicht noch ein \n oder \r oder so in Klartext dahinter schreiben?

Danke
Tobi
Angehängte Dateien:
Gast #3511293
Lesenswert?

Hmm, die Bluetooth-Module mit denen ich bisher gearbeitet habe, ließen 
sich nur von der "Draht-Seite" aus konfigurieren. Sobald die 
Bluetooth-Verbindung hergestellt war, verhielten sie sich als 
transparente UART-Brücke.
Waren allerdings keine BTM-222...
Gast #3511299
Lesenswert?

Hallo,

habe bereits alle Optionen dort durchprobiert. Leider kein Erfolg. Habe 
auch gerade mal Send on enter auf "none" gestellt und AT\n und AT\r 
ausprobiert. Darauf kam aber ebenfalls keine Antwort.

Gruß
Tobi
Gast #3511306
Lesenswert?

asd schrieb:
> Hmm, die Bluetooth-Module mit denen ich bisher gearbeitet habe, ließen
> sich nur von der "Draht-Seite" aus konfigurieren.

Es war von mir auch etwas ungünstig formuliert. Von Haus aus sollten die 
oben genannten Einstellungen auf dem Modul eingespeichert sein. Daher 
wollte ich die erst mal von der PC Seite aus testen. Kann man also per 
Funk die Einstellungen gar nicht abfragen?

Gruß
Tobi
Gast #3513597
Lesenswert?

Hallo,

ist es denn möglich das Bluetooth-Modul vom Mikrocontroller aus zu 
konfigurieren? Ich habe den Mikrocontroller mehrere Befehle durch das 
Modul senden lassen. Diese kommen zwar am PC an, verändern aber nicht 
die Konfiguration des Moduls. Also beispielsweise habe ich ein
1
uart_puts("ATN=Test");

geschickt, aber der Name bleibt auf dem Ausgangswert.
Gast #3513662
Lesenswert?

hab das btm222 auch in gebrauch, bisher aber noch nicht aktiv 
konfiguriert.

dieser beitrag ist der entscheidende hinweis:

asd schrieb:
> Hmm, die Bluetooth-Module mit denen ich bisher gearbeitet habe, ließen
> sich nur von der "Draht-Seite" aus konfigurieren. Sobald die
> Bluetooth-Verbindung hergestellt war, verhielten sie sich als
> transparente UART-Brücke.
> Waren allerdings keine BTM-222...

du kannst das btm222 nur konfigurieren, wenn KEINE funkverbindung 
besteht. entweder, du bastelst dir irgendwas kabeliges für den pc, oder 
du musst ein programm schreiben, bei dem der µC die konfiguration via 
usart sendet, wenn das modul nicht gekoppelt ist.
Gast #3513869
Lesenswert?

Woher soll den das Teil wissen das AT nicht ein Teil eines Textes oder 
sonst ein Teil eines Datenstroms ist. Du musst es erst durch eine Escape 
Sequenz darauf vorbereiten das jetzt nicht mehr Daten versendet werden 
sollen, sondern das jetzt AT Befehle kommen. Ich hab selber noch nicht 
mit dem BTM222 gearbeitet sollte aber auch das gleiche sein. Lies das 
Datenblatt oder nutze die Suchfunktion hier.
#3513884
Lesenswert?

> Ich hab selber noch nicht mit dem BTM222 gearbeitet sollte aber auch
> das gleiche sein.

Keine Ahnung, aber gute Ratschlaege geben. Na super.

> Woher soll den das Teil wissen das AT nicht ein Teil eines Textes oder
> sonst ein Teil eines Datenstroms ist.

Eben aus diesem Grund kann man es nicht per Bluetooth konfigurieren.

> Du musst es erst durch eine Escape Sequenz darauf vorbereiten das jetzt
> nicht mehr Daten versendet werden sollen, sondern das jetzt AT Befehle
> kommen.

Unfug, siehe oben.

> Lies das Datenblatt oder nutze die Suchfunktion hier.

Solltest Du Dir mal zu Herzen nehmen, BEVOR Du postest.
Gast #3513899
Lesenswert?

Ich habe nie behauptet das das von Bluetooth aus konfiguriert werden 
kann Tobi versucht es ja auch mit der weile über den UART.
Was kannst du dem Tobi an Hilfestellung bieten ?
Dafür hast du wahrscheinlich gar keinen Bock.
Ist in diesem Forum ja auch nur noch nebensächlich.
#3513934
Lesenswert?

> Das das beim BTM222 standartmäßig auch +++ ist wie bei meinem hatte ich
> im Datenblatt nachgeschlagen.

Und genau das hat mullwark (Gast) gefuehlte 75 Beitraege hoeher schon 
bemerkt, woraufhin jetzt alles funktioniert.

> du kannst das btm222 nur konfigurieren, wenn KEINE funkverbindung
> besteht. entweder, du bastelst dir irgendwas kabeliges für den pc, oder
> du musst ein programm schreiben, bei dem der µC die konfiguration via
> usart sendet, wenn das modul nicht gekoppelt ist.

>>Sorry.

Angenommen.
Gast #3514668
Lesenswert?

Hallo und danke für die angeregte Diskussion ;-)

Leider habe ich es noch immer nicht geschafft das Bluetooth-Modul zu 
konfigurieren.
Es sendet und empfängt ohne Probleme, allerdings kann ich weiterhin 
keine Einstellungen ändern.
Ich habe das Modul nicht mit anderen Geräten gekoppelt und dann 
verschiedene Befehle vom Mikrocontroller senden lassen:
1
// Escape Sequence
2
uart_puts_extended("+++");
3
      
4
// PIN Off
5
uart_puts_extended("ATP0");
6
      
7
// Namen ändern
8
uart_puts_extended("ATN=Test");

Und dann einmal die Escape Sequence mit dem AT davor, da ich mir nicht 
sicher war, wie es gemeint ist.
1
// Escape Sequence
2
uart_puts_extended("AT+++");
3
      
4
// PIN Off
5
uart_puts_extended("ATP0");
6
      
7
// Namen ändern
8
uart_puts_extended("ATN=Test");

Die uart_puts_extended verwendet die uart_putc() von Peter Fleury und 
ich habe diese wie folgt definiert:
1
void uart_puts_extended(const char *s)
2
{
3
  while (*s)
4
  {
5
    uart_putc(*s++);
6
    
7
    _delay_ms(50);
8
    // ... insgesamt 20 mal
9
    _delay_ms(50);
10
  }
11
}

Leider haben beide Varianten keinen Erfolg. Habt ihr vielleicht sonst 
noch Vorschläge?

Danke
Tobi
#3514897
Lesenswert?

Zum konfigurieren muss das Bluetooth Modul BTM - 222 ein mal an den 
Rechner angeschlossen werden. über Die Bluetooth Verbindung geht dies 
nicht!
Die Baud Rate ist bei einem jungfräulichen BTM 222 Modul vom Hersteller 
auf 19200bps 8N1 und SLAVE voreingestellt. Bei einigen Firmwareversionen 
auch 9600bps 8N1
Gast #3514993
Lesenswert?

Wayne Monga schrieb:
> Zum konfigurieren muss das Bluetooth Modul BTM - 222 ein mal an den
> Rechner angeschlossen werden. über Die Bluetooth Verbindung geht dies
> nicht!

Ich habe keine RS232 Steckplatz an meinem Rechner, daher muss ich das 
Modul mit meinem Mikrocontroller konfigurieren. Da diese Direkt (mit 
einer Leiterbahn) miteinander verbunden sind, benutze ich auch keine 
Funkverbindung.

Wayne Monga schrieb:
> http://stefanfrings.de/btm222/

Den Link habe ich schon durchgelesen, dieser hilft mir allerdings nicht 
bei meinem Problem, da ich das Modul nicht mit dem Rechner verbinden 
kann.

Wayne Monga schrieb:
> Die Baud Rate ist bei einem jungfräulichen BTM 222 Modul vom Hersteller
> auf 19200bps 8N1 und SLAVE voreingestellt. Bei einigen Firmwareversionen
> auch 9600bps 8N1

Ja, ich weiß, siehe mein erstes Posting. Grundlegend klappt die 
Kommunikation, aber die Konfiguration nicht.

Tom P. schrieb:
> +++ braucht es nicht.

Okay, hab ich auch weggelassen.

Ich habe jetzt sowohl
1
// PIN Off
2
uart_puts("ATP0\n");
3
      
4
// Namen ändern
5
uart_puts("ATN=Test\n");
als auch
1
// PIN Off
2
uart_puts("ATP0");
3
uart_putc('\n');
4
      
5
// Namen ändern
6
uart_puts("ATN=Test\n");
7
uart_putc('\n');
ausprobiert und auch das \n in beiden Varianten mit \r\n ausprobiert. 
Leider alles ohne Erfolg.

Ich schicke die Daten von meinem Mikrocontroller an Pin 26 UART RX des 
Moduls. Ist das korrekt?

Danke
Tobi
#3515098
Lesenswert?

Hi,

das Modul erwartet kein \n als Zeilenabschluss, sondern nur ein \r.
1
uart_puts("atz0\r");     //Modul-Reset
2
_delay_long(4000)        //Warten bis Modul gestartet
3
uart_puts("atn=NAME\r"); //Modul Name
4
_delay_ms(10);
5
uart_puts("atp=1234\r"); //Passwort
6
_delay_ms(10);

Antworten tut es mit einem Echo. Z.b:
1
atp=1234\r
2
\r\n
3
OK\r\n


Das geht nur von der "Kabel" Verbindung aus. Und nur wenn keine 
Bluetooth verbindung besteht. Dann musst du mit "+++\r" in den 
Command-Modus wechseln, was etwa 1sekunde dauert, aber nur sehr 
sporadisch. mit "ato\r" gehts zurück zur Datenübertragung

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren