Moin zusammen, ich habe eine Frage und bin mir nicht sicher ob ich das so lösen kann. Ich habe ein SIM 800 Modem an einen Mikrocontroller. Verbunden ist das über die RX TX Leitugen. Das Modul sendet Temperaturwerte an einen Server. Es müsste doch möglich sein die Kommunikation zwischen dem Sim 800 Modul und dem Mikrocontroller mitzuloggen um zu sehen mit welchen AT Befehlen das SIM Modul angesprochen wird. Geht das mit einem Logic Analyzer ? bzw. kann eine Software die AT Befehle darstellen? Oder kann ich einen Arduino z.B. paralel draufklemmen und der loggt das mit? (Paralel dürfte ja eigentlich nicht gehen) Oder gibt es einen Sketch der einfach nur auf den TX und RX Leitungen "lauscht" ? Hat jemand so was schon mal gemacht ? VG n382
Nils schrieb: > Es müsste doch möglich sein die Kommunikation zwischen dem Sim 800 Modul > und dem Mikrocontroller mitzuloggen um zu sehen mit welchen AT Befehlen > das SIM Modul angesprochen wird. Ja. > > Geht das mit einem Logic Analyzer ? bzw. kann eine Software die AT > Befehle darstellen? Mit einem Logik-Analyzer kann man zumindest die Datenströme sehen / ausmessen Ob der auch das Protokoll decodieren kann, ist ein Software-Problem. Du kannst auch einen PC mit zwei seriellen Schnittstellen (vermutlich TTL-Pegel) derart anschließen, dass du nur die RX-Leitungen des PCs und zwei Instanzen eines Termnialprogramms verwendest. Dazu musst du noch die Baudrate und Übertragungsparameter wissen / herausfinden. Auch hier benötigst du zum Decodieren Hirnschmalz oder eine Software. Die Steuerbefehle des SIM800 sind sicherlich nicht geheim...
Das ist eine normale RS232-Kommunikation mit 5V oder 3,3V. Die Geschwindigkeit kann variieren, das SIM800 kann sich automatisch auf eine Baudrate einstellen. Für das SIM800 gibt es alle Informationen im Netz, ich habe mit dem Ding eine Alarmanlage gebaut, war kein Problem.
:
Bearbeitet durch User
Ben B. schrieb: > Das ist eine normale RS232-Kommunikation mit 5V oder 3,3V. Ganz sicher nicht! UART, ja, RS232C nein. Pegel stehen im Datenblatt Entsprechen dem LiPo Spannungsbereich also keine 5V nur bis 4,2V oder so. Nils schrieb: > Hat jemand so was schon mal gemacht ? Warum sollte man das denn tun, der Arduino Code liegt doch sicherlich im Quellcode vor.
Hör doch mal auf rumzustänkern. Du weißt, was ich meine. Das Datenformat ist mit RS-232 identisch (glaube 8N1 beim SIM800, aber wahrscheinlich kann das auch mehr) und ich habe drangeschrieben, daß es keine RS-232-konformen Spannungspegel sind. Da es sonst aber das Gleiche ist, mit Ausnahme des Weglassens der Pegelwandler, beschreibe ich diese Form der Kommunikation weiterhin mit RS-232. U(S)ART kann noch so vieles mehr sein. Das SIM800 verwendet wenn ich mich recht erinnere 3,3V bis 4,2V Betriebsspannung. Der in meiner Alarmanlage verwendete ATMega1284 verwendet 5V und ich kann mich dran erinnern, daß ich deswegen Pegelwandler eingesetzt habe. Diese sind glaube ich auch im Datenblatt des SIM800 beschrieben. In dieser Schaltung kann man die Datenkommunikation einmal mit 5V messen und einmal mit 3,3V bzw. mit der Betriebsspannung des SIM800, je nachdem an welcher Seite man misst. Schönen Tag noch!
Nils schrieb: > Ich habe ein SIM 800 Modem an einen Mikrocontroller. Ich erlaube mir hier den Hinweis, dass das SIM800 nur G2 (GSM) kann. Das ist nach G3 (UMTS) eine aussterbende Technik. https://www.teltarif.de/mobilfunk/gsm/abschaltung.html?page=all
Logic Analyzer sollten so was können, dafür werden sie gebaut. Mit so einem Teil kannst Du zunächst die Baudrate bestimmen, dann die Anzahl Bits pro Wort (vermutlich 8) und dann mit diesen Erkentnissen die Datenströme dekodieren lassen. Bei Saleae ist alles dafür benötigte in der PC Software dabei. Klar RTFM hilft auch immer weiter. Kann man aber auch kombinieren. So sagt einem das Manual, was die abgefangenen Kommandos bedeuten. Mit den abgefangenen Kommandos kann man sehen, was von den Kommandos im Manual gebraucht wird. Wenn dieses Jahr schon wieder kein Logic Analyzer unterm Christbaum liegt, kann man sich auch mit einem Arduino behelfen. Möglichst einem mit 2 UARTS und passenden Pegeln. Man kann Eingänge parallel hängen, wenn man es nicht übertreibt. Von Deinem zusätzlichen Arduino nimmst Du also nur freie RxD Pins. Du willst ja nur lauschen, nix senden. Deshalb hatte ich Dir ja eben, 2 UARTS empfohlen, einer lauscht auf der Leitung zum Modem, der andere auf der Leitung vom Modem. Da darf dann auch der auf dem Arduino vorhandene USB auf UART Wandler nicht dazwischen funken. Beim Due gibt es dafür eine schräge Open-Drain Beschaltung auf dem Arduino. Wobei der genug UARTS hätte, dass Du auch zwei komplett freie nehmen kannst. Haken dabei, einen Arduino zu benutzen, ist, dass Du Baudrate und Konfiguration erraten bzw. durch Probieren finden musst.
Flunder schrieb: > Wenn dieses Jahr schon wieder kein Logic Analyzer unterm Christbaum > liegt, kann man sich auch mit einem Arduino behelfen. Oder man spart sich mühsam das Geld für einen einfachen Saleae-Klon zusammen, den bekommt man durchaus schon für unter 12 Euro: https://www.amazon.de/dp/B01MUFRHQ2 Man muss halt mit den Signalpegeln aufpassen, aber die zwischen Arduino und Sim800 verwendeten sollte das Ding einfach so abkönnen.
Rahul D. schrieb: > Du kannst auch einen PC mit zwei seriellen Schnittstellen (vermutlich > TTL-Pegel) derart anschließen Vermutungen führen hier nicht weiter, alleine schon wegen der vom Potential inversen Logikpegelzuordnung. Und wenn die Polarität nicht stimmt, versteht der PC kein einziges Byte richtig. Ben B. schrieb: > Das Datenformat ist mit RS-232 identisch ... Bis auf die Polarität eben.
:
Bearbeitet durch User
Rainer W. schrieb: > Rahul D. schrieb: >> Du kannst auch einen PC mit zwei seriellen Schnittstellen (vermutlich >> TTL-Pegel) derart anschließen > > Vermutungen führen hier nicht weiter, alleine schon wegen der vom > Potential inversen Logikpegelzuordnung. > Und wenn die Polarität nicht stimmt, versteht der PC kein einziges Byte > richtig. Sowas kann und sollte man vorher messen, oder? Wäre beim reinen Horchen bis auf die Polaritär egal. Was soll bei einem Arduino schon als Pegel anliegen? Früher gab es mal die HV-AVR - das war aber eher ein Aprilscherz für Leute, die sie mit Netzspannung oder 48V betreiben wollten.
Rahul D. schrieb: > Was soll bei einem Arduino schon als Pegel anliegen? > Früher gab es mal die HV-AVR - das war aber eher ein Aprilscherz für > Leute, die sie mit Netzspannung oder 48V betreiben wollten. Was kasperst du jetzt mit Netzspannung und 48V rum? Wenn die Polarität nicht stimmt, kann der UART nicht einmal das Start-Bit identifizieren, geschweige denn irgendetwas richtig empfangen.
Rahul D. schrieb: > Sowas kann und sollte man vorher messen, oder? am AVR oder ESP ist der Ruhepegel high AVR meist 5V am ESP 3,3V je nach Wandler invertiert 0V bis -12V
:
Bearbeitet durch User
Beitrag #7778991 wurde von einem Moderator gelöscht.
Rainer W. schrieb: > Wenn die Polarität nicht stimmt, kann der UART nicht einmal das > Start-Bit identifizieren, geschweige denn irgendetwas richtig empfangen. Bis auf die auserwählten UARTs, die Config-Bits haben, um Ein- und/oder Ausgang zu invertieren...
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.