Hi, kann mir jemand erklären, wie ich AT Befehle an einen BT222 Bluetooth Modul sende? Ich will eigentlich die Baudrate auf 4800 setzen, aber ich finde nirgends eine Erklärung wie man den Befehl "L0" jetzt in das Modul bekommt. Wenn ich den String ATL0 oder nur L0 in den UART schreibe bekomme ich nichts zurück. Baudatenrate ist korrekt am RX- kommt auch was an, nur aus dem TX kommt nichts wieder zurück. Ich hab auch keine Bluetooth Verbindung initialisiert. Wäre über Tipps sehr Dankbar, ich weiß nicht mehr weiter.
Dshing Sung schrieb: > kann mir jemand erklären, wie ich AT Befehle an einen BT222 Bluetooth > Modul sende? Per Hardware-Schnittstelle ohne dass eine BT-Verbindung besteht. > Ich will eigentlich die Baudrate auf 4800 setzen, aber ich finde > nirgends eine Erklärung wie man den Befehl "L0" jetzt in das Modul ATL0<CR> <CR> = Carriage Return = 0x0d = 13 Zwischen jedem Character eine Pause, bis das echo vom Modul zurückgekommen ist. > bekommt. Wenn ich den String ATL0 oder nur L0 in den UART schreibe > bekomme ich nichts zurück. Dann stimmt mit der Hardware etwas nicht, da das BTM222 im Auslieferungszustand lokales echo liefert. Bild/Schaltplan vom Hardwareaufbau?
Hi, danke schon mal. Also anscheinend liegt das Problem daran, das das Modul nichts am RX-Kanal empfängt. Zu mindestens gibt es über BT nichts zurück wenn man was darauf schreibt, andersherum klappt es allerdings schon. Ich hab den RX an dem Pin26 direkt unter dem TX, so wie es im Datenblatt steht. Woran kann es noch liegen?
>so sollte es aussehen.
Eher nicht. Die Transistorschaltungen sind überflüssig.
Selbst wenn da nur eine Verstärkung stattfinden soll, sind Ausgänge und
Eingänge vertauscht.
Lass die Transistoren weg und verbinde, wie in meinem Bild gezeigt, den
MAX direkt mit dem Prozessor.
Oh. Sch... Das ist ja wegen der 3.3V. Habe ich übersehen. Sorry. Aber ist nicht der RX Anschluss vom BTM ein Eingang und der TX ein Ausgang? Jedenfalls sind die Pegelwandler falsch am MAX angeschlossen.
Nicht nur die Transistoren sind überflüssig, der MAX232 ist es auch. Er zerstört nur den BTM222, weil der 3V-Pegel haben will.
Michael H. schrieb: > Zwischen jedem Character eine Pause, bis das echo vom Modul > zurückgekommen ist. Das ist übrigens nur bei Firmware Versionen VOR(!) V4.35, ab dieser Version ist dieser Bug beseitigt. siehe auch: Beitrag "BTM-222 antwortet immer nur mit ERROR"
Thomas R. schrieb: > Nicht nur die Transistoren sind überflüssig, der MAX232 ist es auch. > Er zerstört nur den BTM222, weil der 3V-Pegel haben will. Verstehe ich nicht wieso ist der Max232 überflüssig? Soll ich etwa mit den RS232 Pegel(+/-12V) an den BT222? Das würde ihn doch zerstören und nicht die 3V von den Transistoren. Hab den Max232 auch mal mit 3,3V betrieben und die Transistoren weggelassen, hilft auch nichts. Wenn ich ein µC an den Max232 hänge klappt die Kommunikation Problemlos.
Also, warum der Thomas das meint, kann ich mir auch nicht erklären. Wenn Du von RS232-Pegeln auf 3.3V Pegel kommen willst ist die Schaltung mit dem MAX und den Transistoren an sich schon so in Ordnung. Es gäbe, denke ich, auch noch MAX mit 3.3V Pegeln auf der CPU-Seite. Das einzige was nicht stimmt, ist die Anschaltung der Transistoren an den MAX. Du hast den Ausgang des TX-Pegelwandlers an den Ausgang R1OUT des MAX angeschlossen und den EIngang des RX-Wandlers an den TX1IN - Eingang des MAX. Das kann nicht gehen.
Dshing Sung schrieb: > Thomas R. schrieb: >> Nicht nur die Transistoren sind überflüssig, der MAX232 ist es auch. >> Er zerstört nur den BTM222, weil der 3V-Pegel haben will. > > Verstehe ich nicht wieso ist der Max232 überflüssig? Soll ich etwa mit > den RS232 Pegel(+/-12V) an den BT222? > Das würde ihn doch zerstören und nicht die 3V von den Transistoren. Nein, so war das nicht gemeint. Du brauchst was anderes als den MAX232. Zum Beispiel einen MAX2232, der mit 3,3V funktioniert. > Hab den Max232 auch mal mit 3,3V betrieben und die Transistoren > weggelassen, hilft auch nichts. Wenn ich ein µC an den Max232 hänge > klappt die Kommunikation Problemlos. Logisch, der Max232 funktioniert auch nicht mit 3,3V.
So wie in deinem Bild kann gar nichts funktionieren. Wenn also doch etwas funktioniert, stimmt dein Bild nicht. So wie im Anhang muss es aussehen. Überprüf deinen Hardwareaufbau!
Ja sorry, die müssen vertauscht sein. Hab ich hier auch so. Mit 3,3V funktioniert es aber auch bei mir, zu mindesten beim Senden. Allerdings bekomme ich jetzt solange kein BT an ist ein Echo vom BT222, jedoch mit BT funktioniert das Empfangen immer noch nicht nur das Senden. Also wie sendet man denn die AT-Befehle? Einfach als String AT... senden und dann müsste als Antwort zu mindestens ein Error zurück kommen?
Dshing Sung schrieb: > Allerdings bekomme ich jetzt solange kein BT an ist ein Echo vom BT222, Gut. Dann passt immerhin schon mal deine Hardware. > jedoch mit BT funktioniert das Empfangen immer noch nicht nur das > Senden. Manche Bluetooth-Geräte am PC haben für Senden und Empfangen ZWEI VERSCHIEDENE Com-Ports am PC. Warum auch immer... > Also wie sendet man denn die AT-Befehle? Einfach als String AT... senden > und dann müsste als Antwort zu mindestens ein Error zurück kommen? Eigentlich ja. Das BTM222 muss dazu in der richtigen "Rolle" sein. Ich weiß nur nicht mehr, ob es Master oder Slave sein muss. Einfach ausprobieren. Wenn du z.B. ATN?<CR> sendet, muss der Name zurückkommen. "serial-adaptor" oder sowas ist das per default.
Simon K. schrieb: > Du brauchst was anderes als den MAX232. Zum Beispiel einen MAX2232, der > mit 3,3V funktioniert. Ein MAX2232 hilft da auch nichts. Das ist ein 900MHz ISM Band Verstärker. Du meinst wahrscheinlich einen MAX3232.
Alles klar, jetzt antwortet er komischerweise und es lässt sich auch die Baud verändern. Danke für die Hilfe, weiß leider nicht genau woran es lag :) Aber wie funktioniert das mit dem Master Slave Modus? Also default ist er im Slave und damit kann ich senden aber nicht empfangen? Ich hab ihn mal umgestellt auf Maser, aber da kann ich mich nicht mehr mit ihm verbinden.
Dshing Sung schrieb: > Alles klar, jetzt antwortet er komischerweise und es lässt sich auch die > Baud verändern. Danke für die Hilfe, weiß leider nicht genau woran es > lag :) Am Hardware-Aufbau =) > Also default ist er im Slave und damit kann ich senden aber nicht > empfangen? Nein. Ich hab nur gesagt, dass manche PC devices zwei verschiedene COM-Ports für das selbe profil zum Senden und Emfpangen zur Verfügung stellen. Sprich du kannst vom PC aus an dein device im SPP profil mit einem COM-Port senden auf auf dem anderen empfangen. Das muss aber nicht so sein. Ich hatte den Fall nur schon ein mal. Falls du ein Android-Handy hast, hol dir mal die App BlueTerm. Damit gehts auf alle Fälle problemlos. > Ich hab ihn mal umgestellt auf Maser, aber da kann ich mich nicht mehr > mit ihm verbinden. Blueooth ist eine Master-Slave-Struktur. Dein bluetooth device kann master oder slave in seinem netzwerk sein. Die Verbindung wird immer vom Master iniitiert.
myTwoCent schrieb: > Simon K. schrieb: >> Du brauchst was anderes als den MAX232. Zum Beispiel einen MAX2232, der >> mit 3,3V funktioniert. > > Ein MAX2232 hilft da auch nichts. Das ist ein 900MHz ISM Band > Verstärker. > Du meinst wahrscheinlich einen MAX3232. Ups ;-) Genau den meinte ich.
Thomas R. schrieb: > Nicht nur die Transistoren sind überflüssig, der MAX232 ist es auch. > Er zerstört nur den BTM222, weil der 3V-Pegel haben will. Da habe ich groben Unfug geschrieben - ich hatte das Schaltbild nur überflogen und dachte, links sitzt ein µC und rechts gehts in den BTM222. Ich bitte um Entschuldigung!
Hmm ok dann hab ich das mit dem Master Slave Prinzip soweit verstanden. Das Problem warum ich sonst nichts empfangen habe ist, das das Terminal Programm erst ab ca.1000 Zeichen diese aus dem Puffer oder sonst wo her holt. So viele hab ich natürlich nie in einem Versuch gesendet XD Also sind jetzt alle Unklarheit beseitigt. Danke euch.
hi, ich verwende das modul als master, und soweit klappt auch alles. aber, wie kann ich eine bestehende verbindung trennen? mit +++ komm ich ja nur raus zu den at-commands, aber die verbindung steht weiterhin. ev. ein kleiner trick!? danke.
Daniel R. schrieb: > ich verwende das modul als master, und soweit klappt auch alles. > aber, wie kann ich eine bestehende verbindung trennen? Bei Modems ging das früher mit ATH.
hi, ich hätte noch ne frage. ich hab nun das trennen der Verbindung am PC (usb-uart adapter + putty) geschafft wo das bt222 dran hängt. erst per +++ zurück zu cmd und mit ath die verbindung trennen. jetzt hätte ich das auch so in mein uC Programm eingebaut und das BT222 dran gehängt. andere AT-befehle gehen soweit auch, zb. ata baut verbindung auf... aber ich schaffe es partout nicht dass er die escape-sequenz frisst! spiel nun schon eine ewigkeit rum, aber er sendet immer nur die + rüber zum empfänger anstatt zum cmd zurück zu kehren. hat jemand ein idee? quick and dirty-code schaut so aus: printf("+"); delay_ms(250); printf("+"); delay_ms(250); printf("+"); // zu schnell hintereinander mag er die + auch nicht haben :o)
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.