Forum: Mikrocontroller und Digitale Elektronik BTM-222 antwortet immer nur mit ERROR


von martin (Gast)


Lesenswert?

Hallo,
habe zwei BTM-222 auf Platine aufgebaut. Kommunikation klappt.
Bei AT kommt OK und bei Firmwareabfrage bekomme ich auch eine Antwort.
Nur wenn ih andere BEfehle reinschicken will, kommt immer ein ERROR.
So als wenn ein Schreibschutz draufliegt.
Wer kann helfen?

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Wartest Du mit dem Senden eines neuen Zeichens immer auf das Echo des 
gerade gesendeten Zeichens?

von martin (Gast)


Lesenswert?

Hallo,

ich betreibe das Nodul an einem Terminalprogramm.
(HTERM)

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Ja und? Wie sendest Du die Befehle?

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Aus einem anderen Thread, Kommentar von Hagen Re:


1.) Erst nach langer Suche fand ich ein Terminalprogram das richtig
arbeitet. Für den Anfang sollte man mit HyperTerminal das Modul per PC
ansprechen. Dann dort sofort ATE0, also Echos aus, ausführen. Danach
kann man auch mit normalen Programmen arbeiten die per Buffer asynchron
den RS232 Sende/Empfangsroutinen arbeiten.

2.) Im Datenblatt des BTM-112 an PIO(7) eine LED nach Masse schalten,
Vorwiderstand. Das ist die Link-Status-LED die anzeigt wann das Modul
einen Discovery, Pairing, Inquiry Status hat. Im Discovery Modus zieht
das Modul den meisten Strom. Ist man einmal verbunden so sinkt der Strom
auf 3mA wenn keine Daten übertragen werden.

3.) Im Datenblatt an PIO(6) ist falsch. Der korrekte Pin ist PIO(5)
ebenfalls LED nach Masse. Diese LED leuchtet auf wenn Daten übertragen
werden, also nach einem Verbindungsaufbau.

4.) mit ATX1 die +++ Sequenz zum Wechseln aus dem DATA ind den COMAND
Mode aktivieren.

5.) Geht man mit ATR0 in den Master Modus sollte man erstmal ATO1
ausführen. Danach ein ATF? um die in Reichweite befindlichen Module zu
finden. Man muß aber einige Zewit warten bis dieser Suchvorgang fertig
ist. Danach kann man mit ATA1 bis ATA8 eines der Module verbinden. Mit
+++ kommt man aus der bestehenden Daten-Verbindung wieder in den
Kommandomodus. Man kann nun mit ATH die aktuelle verbindung trennen.
Gibt man jetzt mit ATD=xxxxxxxxxxx eine feste Geräte ID vor und wechselt
mit ATO0 in den automatischen Verbindungsmodus so connected das Modul
nun immer automatisch mit der Gegenstelle. Das kann man testen indem man
auf dem PC den Bluetooth Serial Port trennt, das Modul baut sofort
wieder die Verbindung auf.

6.) mit ATZ kann man 2 Konfigurationen laden. ATZ0 offiziell und ATZ1
gibts eine zweite Konfiguration. Die ist im Grunde identisch mit der
Ausnahme das die Baudrate auf 9600 Baud eingestellt ist. Darauf bin ich
beim Testen herein gefallen und dachte schon das mein Modul kaput
konfiguriert ist. Musste aber nur die Baudrate auf 9600 Baud einstellen

...

Den kompletten Thread gibt es hier: 
Beitrag "Bluetoothmodul BTM-222"

von martin (Gast)


Lesenswert?

Hallo,
ja das hat weitergeholfen. ATE0 hat das Echo abgeschaltet. Ein Modul 
funktioniert, alle AT Befehle werden umgesetzt.
Jetzt hab ich noch ein zweites Modul, identissh aufgebaut.
Er reagiert auf jedem Befehl mit ERROR.
Außer bei AT kommt noch OK, dh Baudrate stimmt.
In Master Mode kann ich ihn gar nicht setzten, bzw kontrollieren.
Hilfe
Martin

von martin (Gast)


Lesenswert?

hallo?
keiner eine idee?

von Christian J. (stormracer)


Lesenswert?

Moin,
sorry wenn ich mich hier einfach mal mit einklinke.

Habe auch eine kleine Frage, will nur kein neues Thema dafür aufmachen.
Und zwar habe ich mir auch so ein Modul aufgebaut. An POI(5) und POI(7) 
habe ich eine LED nach Masse angeschlossen.

Wenn ich jetzt erstmalig das Modul mit Spannung versorge, zeigt es dann 
schon eine Reaktion? Kann ich da also schon feststellen, ob es 
funktioniert, oder muss ich es erst an den PC hängen und dann mit 
HyperTerminal darauf zugreifen.

Meins zeigt nämlich leider noch keine Reaktion.

MfG
Christian

von Jürgen H. (heidi02)


Lesenswert?

@ Christian

Also mein BTM-222 hat nach dem ersten Anlegen der Spannung sofort 
angefangen zu blinken. Naja, genauer gesagt die LED an pio7.

Jürgen

von Christian J. (stormracer)


Lesenswert?

@Jürgen
THX, dann funktioniert bei mir wohl etwas nicht. Nur bei den LEDs kann 
ich mir sicher sein, dass die funktionieren.....
Werd ich wohl dir Lötstellen nochmal überprüfen müssen...

Reagiert das Modul eigentlich sehr empfindlich auf "anfassen", also Pins 
berühren? Habe mich zwar bemüht aber war leider nicht immer zu vermeiden 
gewesen.

MfG
Christian

von Gast (Gast)


Lesenswert?

Hast du die Befehle auch richtig geschrieben ATB, ATC, ATD Befehle 
fangen immer mit AT an.

von veit (Gast)


Lesenswert?

fyi: der btm kann sofort nach dem einschalten per bluetooth gefunden 
werden und bietet nach pin 1234 das serial port profile zur verfügung 
...
geht allerdings nur wenn eine antenne (31mm draht) dranhängt.

led´s bin ich viel zu faul zum anlöten

von Stefan M. (stefan-mens)


Lesenswert?

Hallo,

ich habe das Modul BTM222 am PC und kann die AT Befehle AT, ATI0, ATI1 
absenden und bekomme am HTERM die entsprechenden Ergebnisse.
Sobald ich versuche einen anderen AT Befehl zu senden versuche z.B. 
ATE0\r bekomme ich ein Error.

Kann man mit HTERM eine Pause zwischen den einzelnen Bytes festlegen?
Oder gibt es eine Erklärung für dieses verhalten.

Gruß Stefan

von Stefan M. (stefan-mens)


Lesenswert?

Hallo, eine Erfolgsmeldung falls es jemand interessiert.

Mein Problem war das ich mein BTM über den AVR ausversehen falsch 
konfiguriert habe d.h. ich habe die Bautrate auf 57,6k gestellt. Danach 
war keine Kommunikation mehr möglich da ich nur einen 8Mhz Quarz drauf 
habte.
Kein Problem dachte ich, USB Konverter + Pegelwandler an den PC und 
umkonfiguriert. Als Terminal verwendete ich HTerm das ich auf die 57,6k 
stellte und feuerte AT oder ATI0 oder ATI1 ab die allesamt das 
gewünschte Ergebnis brachten. Alle anderen Befehle wurden aber mit Error 
quittiert.
Nach 3h probieren und testen, schnell eine eigene C# App geschrieben die 
nach jedem Zeichen eine Pause von ca 50ms macht und schwupp war der 
Baustein wieder auf 19200 gestellt.

Vielen Dank an das Forum.

von Betti (Gast)


Lesenswert?

Hallo,

kann man mit einem BTM112 auch mehrere gleichzeitige Verbindungen
aufbauen. In klassischen Pico-Netzten können ja 7 Slaves mit einem
Master verbunden sein. In Scatternetzen sogar bis zu 255.

Hat jemand sowas schonmal versucht?

Grüße dirk

von Max (Gast)


Lesenswert?

If your BT module always answers with ERROR except of ATIx commands, you 
should issue ATR0 command to set the device into Master mode. Now it is 
ready to receive and process all your orders.

von Harald A. (embedded)


Lesenswert?

Sorry für das Ausgraben dieses alten Threads.

Hier wird ja das "altbekannte" Problem beschrieben, das sich das BTM-22x 
im Commandmode beim Empfang von mehr als 2 Zeichen verschluckt und den 
Befehl mit Error quittiert. Das habe ich bisher auch immer so 
berücksichtigt.

Jetzt habe ich Module auf dem Tisch, die dieses Verhalten nicht mehr 
zeigen. D.h., sie akzeptieren längere Kommandos auch in einem Rutsch. 
ATI0 liefert die Firmware-Version 4.35.

Soweit ich mich erinnere, war bei älteren Modulen mit dem beschriebenen 
Problem noch 4.22 installiert.

- Kennt jemand eine Firmware-History der Module?
- Hat jemand das Update-Tool von Rayson?
- Ähnliche Beobachtungen?

von Harald A. (embedded)


Lesenswert?

Es ist tatsächlich so wie vermutet.
Abhilfe ist kein Problem, allerdings nur im direkten Dialog mit Firma 
Rayson. Die möchten diese Information nicht öffentlich preisgegeben 
wissen.

von mizu42 (Gast)


Lesenswert?

@Harald: Hast Du direkte Kontaktdaten?
Was meinst genau? welche Info? Oder meinst Du das FW Updatetool?
Danke,
MiZu

von Bernhard S. (b_spitzer)


Lesenswert?

Hmmm,
ich habe insgesamt 5 Module mit dem BTM-222. Bei meinen Modulen ist das 
Verhalten gerade anders herum. Die Module mit der Firmware 4.35 
akzeptieren zwar jeden Befehl (und führen ihn auch korrekt aus), aber 
nur 1x. Ab dem 2.Befehl kommt immer nur ERROR zurück - egal ob im 
Master- oder Slave-Mode.
Meine Module mit Firmware 4.22 akzeptieren hingegen in beiden Modi viele 
Befehle nacheinander. Auch längere Befehle wie z.B. zum Setzen eines 
Modulnamens funktionieren. Andere Befehle aus dem Datenblatt (so man das 
Datenblatt nennen kann) funktionieren bei FW 4.22 aber überhaupt nicht. 
ATF? gibt z.B. nie was zurück, ATL? gibt auch keine Antwort, andere 
Befehle wie ATE? geben die korrekte Antwort zurück.
Ich verwende zum Konfigurieren der Module Hypterterminal unter XP und 
PuTTY unter Win7. Bei den XP-Rechnern mit einer echten seriellen 
Schnittstelle, beim Win7-Rechner über einen USB-Adapter.

Wenn das Verhalten der Module weiterhin so unzuverlässig und 
unvorhersagbar ist, dass kann ich die geplante Kleinserie vergessen... 
Ich werde wohl auch mal beim Hersteller nach dem FW-Update-Tool anfragen 
müssen.

tschuessle
Bernhard

von Andreas (Gast)


Lesenswert?

Hallo,
hatte gerade das gleiche Problem die Lösung bei mir lautete:
nach den AT kommandos im HTERM nur ein 0xd senden nicht 0xd 0xa.
Dann klappts auch mit den Nachbarn :)
Grüße,
Andreas

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.