Ansteuerung Modem

Hardware- und Elektronikbasteleien, Ansteuerung von Schnittstellen und Peripherie.
Fragen zu "Consumer"-Problemen kommen in Offtopic.
Benutzeravatar
BlueHoschi
Beiträge: 97
Registriert: 02.10.2007 07:19

Ansteuerung Modem

Beitrag 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
Wer Dir Steine in den Weg legt, pflastert den vielleicht.

PB 5.21, Win 7 64 bit
Benutzeravatar
HeX0R
Beiträge: 2960
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win10 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2
Kontaktdaten:

Re: Ansteuerung Modem

Beitrag 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.
Benutzeravatar
7x7
Beiträge: 591
Registriert: 14.08.2007 15:41
Computerausstattung: ganz toll
Wohnort: Lelbach

Re: Ansteuerung Modem

Beitrag 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
- alles was ich hier im Forum sage/schreibe ist lediglich meine Meinung und keine Tatsachenbehauptung
- unkommentierter Quellcode = unqualifizierter Müll
Benutzeravatar
BlueHoschi
Beiträge: 97
Registriert: 02.10.2007 07:19

Re: Ansteuerung Modem

Beitrag 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)
Wer Dir Steine in den Weg legt, pflastert den vielleicht.

PB 5.21, Win 7 64 bit
SpecialDXX
Beiträge: 29
Registriert: 08.07.2007 17:52
Kontaktdaten:

Re: Ansteuerung Modem

Beitrag von SpecialDXX »

Also, was du dort genau versucht hast ist mir rätselhaft.. ??? :freak:

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.
Antworten