SIM900 FTP-Client

OP #2647638
Lesenswert?
• ▲
▼
Hallo Forum,

ich habe gerade ein Projekt mit einem GSM-Modul SIM900 von Simcom in 
Arbeit. Das Modul soll Binärdaten (JPG) an einen FTP-Server übertragen. 
Nun hat dieses Modul netterweise einen kompletten FTP-Clienten an Bord, 
man kann mit ein paar AT-Befehlen eine FTP-Verbindung aufbauen und Daten 
übertragen. Das ganze funktioniert soweit auch, allerdings habe ich 
jetzt ein dummes Problem:

Die FTP-Verbindung ist vom Typ Binär, die Daten werden mit 
AT+FTPPUT=2,<anzahl> an das Modul gesendet. Ist die Anzahl erreicht, 
antwortet das Modul mit OK. Wenn aber jetzt im binären Datenstrom ein 
0x0A enthalten ist, macht das Modul daraus ein 0x0D 0x0A. Ich habe also 
ein Byte mehr auf dem FTP-Server als ich gesendet habe. Alle anderen 
Bytes zwischen 0x00 und 0xFF werden einwandfrei übertragen.

Ich weiß nicht, ob man das SIM900 anders kunfigurieren kann, oder ob es 
irgend eine Escape-Sequenz für das 0x0A gibt. Im Moment komme ich nicht 
weiter, die Doku gibt diesbezüglich auch nix her. Hat jemand von Euch 
schonmal mit dem SIM900 gespielt und den integrierten FTP-Clienten 
verwendet?

Gruß,
Peter
#2647644
Lesenswert?
• ▲
▼
0xA (dec: 10) ist ein linefeed, da hängt das modul dann wohl automatisch 
ein carriage return 0xD (dec: 13) an. Das Modul scheint also nicht im 
Binärmodus zu arbeiten, sondern im Textmodus.
Es gibt natürlich die Möglichkeit die Binärdaten vorher in Base64 
umzuwandeln, aber das muss die Gegenseite natürlich erstmal wieder 
zurückwandeln.

Du könntest versuchen die Zeichen mit einem DataLink Escape (0x10) zu 
schützen, vielleicht erkennt das Modul dies. Ich würde aber eher 
versuchen das Modul in den Binärmodus zu bringen.

gruß cyblord
#2647681
Lesenswert?
• ▲
▼
Kenne leider das Modul gar nicht, aber das Verhalten lässt schon 
eindeutig auf Text schließen. Sowas im Binärmodus geht ja eigentlich 
nicht.

Grundsätzlich läuft ein Escapen ja immer gleich ab. Es gibt halt ein 
spezielles Escape Zeichen in der ASCII Tabelle, welches oft dafür 
verwendet wird. Aber es kann natürlich grundsätzlich jedes Zeichen als 
Escape Zeichen verwendet werden.
Der Sender erkennt das Escape Zeichen und behandelt das nachfolgende 
Zeichen anders als sonst. Und entfernt das Escape Zeichen vor dem 
Senden. Will man ein Escape Zeichen an sich senden, so doppelt man es. 
Der Sender entfernt dann einfach eines davon.

gruß cyblord
OP #2650100
Lesenswert?
• ▲
▼
So, Ursache gefunden, das SIM900 ist unschuldig. Ich habe die 
übertragene Datei mit Filezilla vom FTP-Server zurückgeholt. Steht jetzt 
Filezilla auf Typ "Auto" und die Datei ist vom Typ ".txt", wird der 
Dateiinhalt wie oben beschrieben manipuliert. Da habe ich mir also 
selber ein Bein gestellt.

Peter

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.