AT Kommando per RS232 zu GSM Modul

OP #5134034
Lesenswert?

Hallo zusammen,

Ich versuche von meinem ATMega2561 per RS232 -Schnittstelle AT Kommandos 
zu einem GSM Modul von Telit zu senden. Das klappt leider nicht. Wenn 
ich das Kommando vom Mikrocontroller zum Laptop HTerm sende kommt das 
Kommando richtig an, inkl. CR. Beispiel HTerm empfängt AT\r.

Sende ich das Kommando von HTerm zum GSM Modul kommt das Signal an und 
ein OK kommt zurück.

Wieso klappt das vom Mikrocontroller nicht?

Vielen Dank im Voraus.

Gruß

Datatom
OP #5135824
Lesenswert?

Kurt schrieb:
> Thomas H. schrieb:
>
>> Sende ich das Kommando von HTerm zum GSM Modul kommt das Signal an und
>> ein OK kommt zurück.
>>
>> Wieso klappt das vom Mikrocontroller nicht?
>
> Hast du auch das richtige Format?
> Heisst: Pegelwandler TTL > RS232 am Mikrokontroller?
>
>  Kurt

Wenn ich den RS232-Stecker am Laptop anschließe, wird der Wert vom 
Mikrocontroller richtig angezeigt. Ziehe ich den RS232-Stecker vom 
Laptop ab, und schließe ihn an das GSM-Modul an, passiert nichts.

Von daher müsste ja im richtigen Format übertragen werden.

Ich übertrage mit folgendem Befehl:

printf("AT+CPIN=0000\r");

Darstellung in HTerm: AT+CPIN=0000<\r>
<\r> stellen das verkleinerte \r da.
Gast #5136094
Lesenswert?

Thomas H. schrieb:

> Wenn ich den RS232-Stecker am Laptop anschließe, wird der Wert vom
> Mikrocontroller richtig angezeigt.

Der Stecker ist Teil des Mikrocontrollers?

Am Laptop wird das angezeigt was der Mikro ausgibt?

Der Mikro ist also, aus Sicht des Laptop, der Slave.

> Ziehe ich den RS232-Stecker vom
> Laptop ab, und schließe ihn an das GSM-Modul an, passiert nichts.

Klaro, du hast zwei Slaves zusammengeschaltet.


Dreh mal Stift 2 und 3 am Mikro, dadurch wird der Mikro zum Master.
(die Kommunikation mit dem Laptop darf/kann dann nicht mehr 
funktionieren)

(Da der Laptop sich als Master verhält kann er mit dem GSM reden)

Es kann sein dass du noch eine Steuerleitung am GSM-Modul beaufschlagen 
musst.


 Kurt
OP #5136132
Lesenswert?

Kurt schrieb:
> Kurt schrieb:
>
>> Der Stecker ist Teil des Mikrocontrollers?
>
> Korrektur!
>
> Der Stecker ist Teil des GSM-Moduls?
>
>  Kurt

Das GSM-Modul

http://www.telic.de/Load/Telemetry/M2M_Terminals/GT864_E/EN_UserManual_GT864-E.pdf

hat einen eingebauten RS232-Anschluss. Ich verbinde den Mikrocontroller 
und den Laptop bzw. das GSM-Modul mit einem RS232-Kabel. Zum Testen 
wechsel ich den Stecker zwischen dem Laptop und dem GSM-Modul. Auf dem 
Mikrocontroller bleibt der Stecker immer drauf.

Ich habe das Ausgangssignal vom Mikrocontroller debugged. Die Werte 
werden beim Debugger in HEX angezeigt. Alles stimmt. Und auf dem Laptop 
werden sie ja auch richtig angezeigt.

Alles seltsam.
Gast #5136170
Lesenswert?

Thomas H. schrieb:
> Kurt schrieb:
>> Kurt schrieb:
>>
>>> Der Stecker ist Teil des Mikrocontrollers?
>>
>> Korrektur!
>>
>> Der Stecker ist Teil des GSM-Moduls?
>>
>>  Kurt
>
> Das GSM-Modul
>
> http://www.telic.de/Load/Telemetry/M2M_Terminals/G...
>
> hat einen eingebauten RS232-Anschluss. Ich verbinde den Mikrocontroller
> und den Laptop bzw. das GSM-Modul mit einem RS232-Kabel. Zum Testen
> wechsel ich den Stecker zwischen dem Laptop und dem GSM-Modul. Auf dem
> Mikrocontroller bleibt der Stecker immer drauf.
>
> Ich habe das Ausgangssignal vom Mikrocontroller debugged. Die Werte
> werden beim Debugger in HEX angezeigt. Alles stimmt. Und auf dem Laptop
> werden sie ja auch richtig angezeigt.
>
> Alles seltsam.

Ist es nicht.

"
> Ich habe das Ausgangssignal vom Mikrocontroller debugged. Die Werte
> werden beim Debugger in HEX angezeigt. Alles stimmt."


Der Debugger ist im Laptop, richtig?
Der Laptop verhält sich wie ein Master, wie ein "Sender".

Also verhält sich dein Mikro wie ein Slave, das muss so sein denn sonst 
könnten sie nicht miteinander reden.
Master/Slave im Sinne von:
Auf Pin2 geht meine "Sendesignal" raus, auf Pin2 empfängt es der Mikro
Und auch:
Auf Pin2 geht meine "Sendesignal" raus, auf Pin2 empfängt es der GSM


Auf Pin3 kommt die Antwort rein, die "Antwort" die dein Mikro "sendet"
Auf Pin3 kommt die Antwort rein, die Antwort die dein GSM-Modul "sendet"

Der Laptop und GSM unterhalten sich also dadurch dass der Laptop (auf 
Pin2)
den "Befehl" ausgibt und das GSM-Modul auf Pin3 antwortet.

Das gleiche Prozedere muss nun dein Mikro auch veranstalten, er muss auf 
Pin2 seinen Befehl raussenden und auf Pin3 die Antwort abwarten.

Da du aber mit deinem Laptop deinen Mikro "lesen" kannst ist dieser im 
"Slave-Modus", heisst: er verhält sich so wie dein GSM-Modul.
Das kann natürlich nicht gutgehen.

Bringe deinen Mikro in den Mastermodus, heisst: gib dessen Anweisungen 
auf Pin2 aus und erwarte die Antwort von deinem Sklaven, dem GSM-Modul, 
auf Pin3.

Versuchs mal, drehe Pin2 und Pin3 bei deinem Mikro um.


 Kurt
(Firma: Vescomp) #5136736
Lesenswert?

Kurt schrieb:
> Auf Pin2 geht meine "Sendesignal" raus, auf Pin2 empfängt es der Mikro
> Und auch:
> Auf Pin2 geht meine "Sendesignal" raus, auf Pin2 empfängt es der GSM


 Was für ein Blödsinn.

 RxD ist immer Pin2, TxD ist immer Pin3.
 Deswegen werden Pin2 und Pin3 im Kabel gekreuzt.

 Und es gibt keinen Master und keinen Slave beim RS232.
Persönliche Seite #5136766
Lesenswert?

Marc V. schrieb:
> Und es gibt keinen Master und keinen Slave beim RS232.

Es gibt DTE ("data terminal equipment") und DCE ("data communication 
equipment"), und die haben eine unterschiedliche Anschlussbelegung. Sie 
können deshalb mit einem 1:1-Kabel miteinander verbunden werden.

Ein häufiges Kennzeichen ist, daß die eine Sorte Geräte einen Stecker 
(das Ding mit den Stiften) verwendet, während die andere Sorte Geräte 
eine Buchse (das Ding mit den Löchern) verwendet.

Das klassische Beispiel ist das gute alte analoge Modem.

Der PC hat als DTE einen Stecker, das Modem als DCE eine Buchse, und 
verbunden werden beide mit einem 1:1-Kabel.


Man sollte spätestens dann stutzig werden, wenn man zwei Geräte 
miteinander verbinden will, die beide einen Stecker (oder beide eine 
Buchse) haben.
#5136924
Lesenswert?

Rufus Τ. F. schrieb:
> Der PC hat als DTE einen Stecker, das Modem als DCE eine Buchse, und
> verbunden werden beide mit einem 1:1-Kabel.
>
> Man sollte spätestens dann stutzig werden, wenn man zwei Geräte
> miteinander verbinden will, die beide einen Stecker (oder beide eine
> Buchse) haben.

Und wenn das noch zu keiner Lösung führt sollte man daran denken, dass 
sich nicht alle an diesen Quasi-Standard "DTE = Stecker, DCE = Buchse" 
halten.

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