Seite 1 von 1
Ansteuerung Modem
Verfasst: 01.11.2011 21:51
von BlueHoschi
Hallo,
ich möchte ein Programm schreiben mit dem ich eine Modemverbindung aufbauen kann und evtl. Dateien übertrage.
Habe aber keinen Schimmer wie man mit Modems arbeitet.
Wie öffne ich eine Modemverbindung? Wie schliesse ich die? Und wie kann ich die Dateien zwischenzeitlich übertragen?
Außerdem wäre es nützlich zu wissen wie man ankommende Daten an einem Modem abfragt.
Ich arbeite in der Windbranche und da ist die Kommunikation via Modem noch üblich.
Ich möchte automatisiert Dateien in bestimmte Verzeichnisse kopieren können.
Und ankommende Dateien auslesen und analysieren.
Leider habe ich in der Suche nicht wirklich was zur Ansteuerung von Modems gefunden.
Gruß da´Hoschi
Re: Ansteuerung Modem
Verfasst: 01.11.2011 23:00
von HeX0R
Modems werden mit den sog. AT-Befehlen angesteuert.
Du öffnest die Schnittstelle zum Modem mit der gewünschen Baudrate.
Das muss nicht zwingend die selbe sein, wie die Modem-Modem-Geschwindigkeit, wähle hier die gleiche, oder eine schnellere.
Dann kannst du ein Modem per ATDT [telefonnummer] anrufen.
Dann liest du die Schnittstelle solange aus, bis entweder ein Fehler kommt, oder ein CONNECT [Irgendwas] da steht.
Nach dem Connect bist du im Datenübertragungsmodus und kannst mit der Gegenstelle kommunizieren.
Also so, als wärst du direkt damit per V24 verbunden.
Bist du fertig, sendest du die Escapesequenz: +++
Dann kannst du noch ATH senden, zum auflegen und fertig.
Genaueres gibt es zu Hauf im Internet, gerade was die AT-Befehle betrifft.
Die sind zwar grundsätzlich von Modem zu Modem gleich, dennoch gibt es dort auch öfter feine Unterschiede.
Re: Ansteuerung Modem
Verfasst: 01.11.2011 23:43
von 7x7
@BlueHoschi:
Suche mal hier im Forum nach "serielle Schnittstelle" "RS232", "V24" oder "mvcom".
Da findest du bestimmt nützliche Hinweise.
PB stellt auch "OpenSerialPort()" zur Verfügung
Re: Ansteuerung Modem
Verfasst: 02.11.2011 22:00
von BlueHoschi
Ok, erstmal danke.
Edit:
Habe es folgendermaßen versucht:
Ertmal mit DOS.
Kopieren.bat:
Code: Alles auswählen
rasdial Verbindung Benutzer Passwort /PHONE:243
ftp.exe -n -i -s:daten.ftp
rasdial /disconnect
pause
Daten.ftp:
Code: Alles auswählen
OPEN 192.168.0.1
USER Benutzer
PASS Passwort
cd \
cd Verzeichnis1
cd Verzeichnis2
asc
put "C:\Documents and Settings\Meins\Desktop\Test\Test.txt" Test.txt
disconnect
quit
Ich bekomme immer eine Meldung "unbekannter Fehler" sobald ftp.exe die Verbindung herstellen soll.
Mit PB habe ich es so probiert;
Code: Alles auswählen
A = RunProgram("rasdial.exe","Verbindung Benutzer Kennwort /PHONE:243","",#PB_Program_Open|#PB_Program_Hide|#PB_Program_Wait)
If A
While ProgramRunning(A)
q.s = ReadProgramString(A)
If FindString(q,"Der Computer",1)
MessageRequester(q,q)
End
EndIf
Wend
EndIf
debug q
InitNetwork()
If OpenFTP(0, "192.168.0.1", "Benutzer", "Kennwort")
Debug "Successfully connected"
If SetFTPDirectory(0, "pub")
If SetFTPDirectory(0, "linux")
Debug "Cool, changed to '/pub/linux'"
Debug GetFTPDirectory(0)
Else
Debug "Can't change to '/pub/linux'"
EndIf
Else
Debug "Can't change to 'pub'"
EndIf
Else
Debug "Can't connect to FTP-Client"
EndIf
If IsFTP(0)
CloseFTP(0)
EndIf
If RunProgram("Rasdial.exe", "/disonnect", "")
Debug "Verbindung beendet."
EndIf
End
Auch hier kann ich mich nicht mit dem FTP-Client verbinden.
Die Ras-Verbindung kommt aber in beiden Fällen zustande.
Gruß Holger
\\Doppeledit:
Es lag am entfernten Rechner, irgendwas funktioniert da nicht richtig. Habe es mit einem anderen ausprobiert und siehe da, es geht.
Gruß Holger (Nochmal)
Re: Ansteuerung Modem
Verfasst: 04.01.2012 23:15
von SpecialDXX
Also, was du dort genau versucht hast ist mir rätselhaft.. ???
Aber entweder willst du eine FTP - Datenübertragung machen
oder per Modem. Die Verbindung per Modem ist eig. nicht schwer und sehr einfach zu programmieren. Die Datenübertragung hingegen fällt mir etwas schwer, da die Daten ja nicht im Modem gespeichert werden sonder das Modem nur als "übertrager" fungiert und somit die Daten am Rechner im richtig Protokoll emfangen und zusammengesetzt werden müssen.