Arduino als serielle Schnittstelle zwischen 2 PCs benutzen

Hi,
ich bin's wieder. Vielleicht kennt mich ja jemand von Euch noch von letztem Mal.

Und zwar habe ich einen neuen und einen alten Laptop und ich hätte gerne diesen Song hier auf meinem alten Laptop. Allerdings kennt mein neuer Laptop keine Disketten und hat auch keine serielle oder parallele Schnittstelle und mein alter Laptop kennt kein LAN, WLAN, Bluetooth und auch keine Speicherkarten, hat aber ein DOS-Programm namens LapLink DE-3.00, mit dem man Dateien und Ordner über eine serielle oder parallele Schnittstelle übertragen kann, und da ein Arduino für den PC eine ganz normale serielle Schnittstelle ist, wollte ich die Datei eben darüber übertragen, aber irgendwie funktioniert das nicht. Ich hab's mit und ohne Serial.begin probiert, aber in beiden Fällen lehnt DOSBox 0.74 das Gerät ab und springt wieder auf "dummy" zurück (Wieso? Es ist doch auch ein COM-Port.) und die Signale, die der Arduino vom alten Laptop erhält, sendet er an ihn sofort wieder zurück, was ich auch nicht verstehe.
Bei den Beispielen gibt es bei "COMMUNICATION" ja ein Sketch namens "SerialPassthrough", bei dem angezeigt wird, dass "Serial" die Pins 0 und 1 und "Serial1" die USB-Schnittstelle sind,

/*
  SerialPassthrough sketch

  Some boards, like the Arduino 101, the MKR1000, Zero, or the Micro, have one
  hardware serial port attached to Digital pins 0-1, and a separate USB serial
  port attached to the IDE Serial Monitor. This means that the "serial
  passthrough" which is possible with the Arduino UNO (commonly used to interact
  with devices/shields that require configuration via serial AT commands) will
  not work by default.

  This sketch allows you to emulate the serial passthrough behaviour. Any text
  you type in the IDE Serial monitor will be written out to the serial port on
  Digital pins 0 and 1, and vice-versa.

  On the 101, MKR1000, Zero, and Micro, "Serial" refers to the USB Serial port
  attached to the Serial Monitor, and "Serial1" refers to the hardware serial
  port attached to pins 0 and 1. This sketch will emulate Serial passthrough
  using those two Serial ports on the boards mentioned above, but you can change
  these names to connect any two serial ports on a board that has multiple ports.

  created 23 May 2016
  by Erik Nyquist
*/

void setup() {
  Serial.begin(9600);
  Serial1.begin(9600);
}

void loop() {
  if (Serial.available()) {      // If anything comes in Serial (USB),
    Serial1.write(Serial.read());   // read it and send it out Serial1 (pins 0 & 1)
  }

  if (Serial1.available()) {     // If anything comes in Serial1 (pins 0 & 1)
    Serial.write(Serial1.read());   // read it and send it out Serial (USB)
  }
}

aber auf meine Arduino Unos lässt es sich leider nicht raufladen und mit meinem Arduino Mega 2560 funktioniert es nicht so, wie es eigentlich funktionieren soll. Auch wenn ich es auf ihn raufgeladen habe, zeigt der Monitor immer noch nicht an, was vom alten Laptop empfangen wird, was ich beim Monitor eingebe, wird auch nicht an den alten Laptop gesendet, und egal, welcher Eingangspin etwas vom alten Laptop empfängt, es kommt gleich bei allen Ausgangspins auf einmal wieder raus.

Was muss ich also tun, damit ich einen meiner Arduinos als ganz normale serielle Schnittstelle für DOSBox 0.74 benutzen kann? Und muss dafür auch Arduino Create Agent geschlossen werden, falls es stören sollte?

Vielen Dank schon mal im Voraus!

Nein, Arduino macht das nicht.
Außerdem benutzen diese Trasferprogramme mehr Leitungen als nur RX und TX und damit funktioniert das über einen Arduino einfach nicht..
Speichere das File auf einer Diskette und frage in Deinem Bekanntenkreis, ob jemand einen PC hat, wo noch ein Diskettenlaufwert vorhanden ist. Der soll dir das File von Diskette auf einen USB Stick kopieren. ZB ich hab 2 PCs mit einem Diskettenlaufwert.

Kannst Du den Song nicht aus einer anderen Quelle bekommen? zB Du extrahierst ihn aus einen Youtube-Video?

Das ist die billigste Lösung.

Grüße Uwe

AFAIR braucht man LapLink auf beiden PC, dann kann man zwischen beiden Dateien übertragen.

Ob es LapLink für Arduino gibt, mußt Du selbst herausfinden, ich habe aber keine großen Hoffnungen.

Hallo,

Externes Diskettenlaufwerk mit USB gibt es bei den üblichen Quellen für 12 Euro.

Preiswerter ist ein Arduino ( theoretisch ) auch nicht.

Hallo,

hat dein alter Laptop eine USB Buchse? Wenn ja, kannste WLAN mit einem edimax EW7811Un günstig nachrüsten.
Allerdings kannste dann auch gleich mittels USB Stick die Daten kopieren.

Hi

Wie geil - LapLink :slight_smile:
Stundenlanges Dateien rumschieben via Null-Modem-Kabel ... die ersten 'Netzwerk'-Spielereien (C&C1) ... auch per Null-Modem ... mei, was eine geile Zeit :slight_smile:

USB-CD-Laufwerke hätte ich schon gesehen - als Floppy ist mir neu (zugegeben, müsste auch erst Disketten suchen)

Leider keinen Hinweis für den TO, nur wehleidiges 'in Erinnerungen schwelgen'.

MfG

Die meisten meiner alten 3.5" Floppies sind inzwischen verklebt, aber die übrigen lassen sich mit meinem externen USB Floppy Laufwerk lesen :slight_smile:

Wenn du das nur zum Zweck des einen Liedes realisieren willst, warum lädst du dir das Teil nicht von der von dir verlinkten Seite runter? :wink:

Oder wie Doc_Arduino schreibt:

Allerdings kannste dann auch gleich mittels USB Stick die Daten kopieren.

mein alter Laptop kennt kein LAN, WLAN, Bluetooth und auch keine Speicherkarten

Kennt er denn USB ?
Wenn ja, wo ist das Problem (USB-Stick?)
Wenn nein, kannst du auch keinen Arduino anschließen, auch nicht am COM1: Anschluß. Jedenfalls nicht so einfach, dass es sinnvoll wäre.

Viele alte Rechner können auch schon Speicherkarten lesen, und die neuen immer noch.

@uwefed

uwefed:
Nein, Arduino macht das nicht.
Außerdem benutzen diese Trasferprogramme mehr Leitungen als nur RX und TX und damit funktioniert das über einen Arduino einfach nicht..

Schade! Aber das hab' ich mir schon fast gedacht.
Allerdings verstehe ich nicht, wieso dann die empfangenen Signale vom Arduino auch wieder zurückgesendet werden konnten. Die Zeichen waren auch alle korrekt. Und warum wurden Sie denn überhaupt wieder zurückgesendet?

uwefed:
Speichere das File auf einer Diskette und frage in Deinem Bekanntenkreis, ob jemand einen PC hat, wo noch ein Diskettenlaufwert vorhanden ist. Der soll dir das File von Diskette auf einen USB Stick kopieren. ZB ich hab 2 PCs mit einem Diskettenlaufwert.

Aber mein neuer Laptop hat doch gar kein Diskettenlaufwerk. Die Datei soll außerdem vom neuen Laptop auf den alten gebracht werden und nicht andersrum.

uwefed:
Kannst Du den Song nicht aus einer anderen Quelle bekommen? zB Du extrahierst ihn aus einen Youtube-Video?

Das ist die billigste Lösung.

Na ich hab' sie mir ja schon runtergeladen. Außerdem, hast Du denn noch nicht auf den Link geklickt? Es ist eine MOD-Datei und keine MP3-, WAV- oder sonstige Datei, die heutzutage fast überall abgespielt werden kann. Und von YouTube würde man sowieso nur MP3-Dateien mit 128 kbit/s bekommen, und wenn man beim Downloaden auf 320 kbit/s geht, würde es genau so wie 128 kbit/s klingen, weil dann ja der Rest davon fehlt.

  1. Ich wollte mir mal anhören, wie dieser Song durch den parallelen Anschluss über den Covox Speech Thing klingt, und das geht leider nur mit meinem alten Laptop, auf dem ich gerade FastTracker II drauf habe, denn 1. hat mein neuer Laptop keinen parallelen Anschluss und 2. macht DOSBox das auch leider nur intern.
  2. FastTracker II kann nur MOD-, XM- und S3M-Dateien abspielen.
  3. Die Datei muss klitzeklein sein, weil sie sonst nicht auf die Festplatte des alten Laptops passen würde. MP3-Dateien sind zwar komprimiert und somit auch viel kleiner als WAV-Dateien, aber 1. klingen sie darum auch nicht perfekt wie unkomprimierte Dateien und 2. sind MOD-, XM- und S3M-Dateien noch viel kleiner.

@DrDiettrich

DrDiettrich:
AFAIR braucht man LapLink auf beiden PC, dann kann man zwischen beiden Dateien übertragen.

Ach keine Sorge! Wozu hab' ich denn DOSBox?

DrDiettrich:
Ob es LapLink für Arduino gibt, mußt Du selbst herausfinden, ich habe aber keine großen Hoffnungen.

Naja, das glaube ich eher nicht, denn LapLink DE-3.00 ist ja für DOS und das ist schon uralt. Außerdem ist DOSBox ja nicht mal dazu fähig, jeden COM-Port einzubinden.

DrDiettrich:
Die meisten meiner alten 3.5" Floppies sind inzwischen verklebt, aber die übrigen lassen sich mit meinem externen USB Floppy Laufwerk lesen :slight_smile:

Naja, das würde ich ja sehr gerne tun, aber Microsoft musste ja unbedingt Windows 10 die Diskettenlaufwerke aus dem Gedächtnis streichen. Mich kotzt es ja schon an, dass es ab Windows 8 keinen MIDI Mapper mehr gibt und dass da auch nicht mal mehr Putzlowitschs MIDIMapper funktioniert, den man auf Windows Vista und 7 dafür extra noch installieren muss.

DrDiettrich:
Viele alte Rechner können auch schon Speicherkarten lesen, und die neuen immer noch.

Hm... Meinst Du damit sowas wie SD-Karten? USB-Sticks und Speicherkartenlesegeräte, wie wir sie heute kennen, funktionieren meiner Meinung nach erst ab Windows ME richtig, wenn ich mich nicht irre.

@Saubr

Saubr:
Hallo,

Externes Diskettenlaufwerk mit USB gibt es bei den üblichen Quellen für 12 Euro.

Hi,
naja tut mir leid, aber leider funktionieren Diskettenlaufwerke nicht mehr ab Windows 10.

@Doc_Arduino

Doc_Arduino:
Hallo,

hat dein alter Laptop eine USB Buchse? Wenn ja, kannste WLAN mit einem edimax EW7811Un günstig nachrüsten.
Allerdings kannste dann auch gleich mittels USB Stick die Daten kopieren.

Hi,
ne leider nicht. USB gibt's ab Windows 98SE, aber mein alter Laptop hat nicht mal Windows für Workgroups. Das Betriebssystem, das er hat, ist die neueste DOS-Version, nämlich MS-DOS 6.22. Darum bleibt mir leider auch keine andere Möglichkeit als eine Verbindung über die serielle oder parallele Schnittstelle. Ich hab' zwar noch einen USB-Adapter für eine weitere serielle Schnittstelle, aber der funktioniert leider nur mit 32-Bit-Betriebssystemen und somit eben nicht mit meinem neuen Laptop.

@postmaster-ino

postmaster-ino:
Hi

Wie geil - LapLink :slight_smile:
Stundenlanges Dateien rumschieben via Null-Modem-Kabel ... die ersten 'Netzwerk'-Spielereien (C&C1) ... auch per Null-Modem ... mei, was eine geile Zeit :slight_smile:

Hi,
ja finde ich auch.

postmaster-ino:
Leider keinen Hinweis für den TO, nur wehleidiges 'in Erinnerungen schwelgen'.

Hm... Was meinst Du denn mit "TO"?

@wapjoe

wapjoe:
Wenn du das nur zum Zweck des einen Liedes realisieren willst, warum lädst du dir das Teil nicht von der von dir verlinkten Seite runter? :wink:

Aber ich hab's mir doch schon runtergeladen. Es soll ja auf den alten Laptop und dafür fehlt mir leider die Verbindung zwischen beiden Laptops.

@michael_x

michael_x:
Kennt er denn USB ?

Ne leider nicht! Er hat ja noch nicht mal eine Soundkarte. Wenn mein Opa nicht an der falschen Stelle gespart hätte, hätte ich jetzt unterwegs auch einen PC, der auch echtes AdLib unterstützt.

Aber trotzdem vielen Dank, dass Ihr alle mir so schön helfen wolltet.

Hallo,
"Allerdings verstehe ich nicht, wieso dann die empfangenen Signale vom Arduino auch wieder zurückgesendet werden"
Echo on ?
Kannst Du mit dem Arduino eine serielle Verbindung zwischen den PC herstellen?
Auf beiden PC ein TerminalProgramm starten.
PC-alt sendet "ich bin der alte"
PCneu empfängt "ich bin der alte"
Bekomst Du es hin, das das in beide Richtungen funktioniert?
Wenn ja- dann besorge Dir einmal ZTerm für den alten Rechner.
So haben wir das früher gemacht.
Wenn das alles nicht funktioniert, dann den billigsten USB-SeriellWandler nehmen- und gut ist.
Gruß und Spaß
Andreas

SkobyMobil:
Echo on ?

?

SkobyMobil:
Kannst Du mit dem Arduino eine serielle Verbindung zwischen den PC herstellen?

Aber uwefed hat doch grade gesagt, dass das nicht möglich ist.

uwefed:
Nein, Arduino macht das nicht.
Außerdem benutzen diese Trasferprogramme mehr Leitungen als nur RX und TX und damit funktioniert das über einen Arduino einfach nicht..

SkobyMobil:
Auf beiden PC ein TerminalProgramm starten.
PC-alt sendet "ich bin der alte"
PCneu empfängt "ich bin der alte"
Bekomst Du es hin, das das in beide Richtungen funktioniert?

Na damit hab ich ja kein Problem. Ich hab ja auf beiden schon LapLink DE-3.00 drauf.

SkobyMobil:
Wenn ja- dann besorge Dir einmal ZTerm für den alten Rechner.
So haben wir das früher gemacht.

Auch mit MS-DOS?

SkobyMobil:
Wenn das alles nicht funktioniert, dann den billigsten USB-SeriellWandler nehmen- und gut ist.

Naja, ich weiß nicht, ob der Billigste auch mit 64-Bit-Betriebssystemen funktioniert.

Hallo,
"Na damit hab ich ja kein Problem. Ich hab ja auf beiden schon LapLink DE-3.00."
Du kannst also zwischen beiden Rechnern eine Verbindung herstellen, und Daten hin- und her schaufeln?
Spiele Dir doch ein altes Win auf. dann mit einem Terminal Programm die Daten rüber.
Gruß und Spaß
Andreas

Hallo,
wenn mich nicht alles täuscht, dann kannst Du über die EingabeAufforderung Dateien an die serielle senden.
Die solltest Du dann auch empfangen können. DOS- welche Version?
Gruß
Andreas

SkobyMobil:
Spiele Dir doch ein altes Win auf. dann mit einem Terminal Programm die Daten rüber.

Naja, tut mir leid, aber mit Windows für Workgroups würde die Maus stehenbleiben, sodass ich dort dann gar nix mehr machen kann. Darum hab' ich das auch wieder runtergeschmissen. Und Windows 95 würde dort auch nicht laufen, da der alte Laptop dafür zu langsam ist.
Das Programm, das ich da drauf habe, reicht mir schon.

SkobyMobil:
Hallo,
wenn mich nicht alles täuscht, dann kannst Du über die EingabeAufforderung Dateien an die serielle senden.
Die solltest Du dann auch empfangen können.

Aber über den Arduino kann ich doch keine Verbindung herstellen, oder meinst Du, ich kann mit der Eingabeaufforderung von Windows 10 Dateien an Pin 0 des Arduinos senden?

SkobyMobil:
DOS- welche Version?

PlayerX:
... aber mein alter Laptop hat nicht mal Windows für Workgroups. Das Betriebssystem, das er hat, ist die neueste DOS-Version, nämlich MS-DOS 6.22. ...

Hi,

zum USB/Serial-Adapter: Versuch mal ein älteres Betriebssystem wie Windows XP in einer VM, auf dem neuen Laptop, zu installieren. Ich meine ich hätte damit vor Jahren so ein Teil zum laufen gebracht.
Wenn der irgendwie unter Win10 erkannt wird, kannst du den eventuell in der VM nutzen.

Oder versuchs alternativ mit einer Linux Live CD/USB Stick.

besorg dir einen Serial-USB Adapter für den neuen Laptop und ein Null-Modemkabel und verbinde damit die zwei Geräte.

irgend ein Terminalprogramm für DOS wird sich schon finden. Putty für den neuen gibt es garantiert.

besorg dir einen Serial-USB Adapter für den neuen Laptop

Achte drauf, dass der RS232 (hierzulande auch V.24 genannt) Signale macht und nicht TTL-Serial.