Hi, ich würde gerne Daten von meinem Arduino z.B. UNO an den PC schicken. Nach dem einstecken des USB Kabels sollen Daten z.B. als Textdatei in einem Pfad unter Windows abgelegt werden ( ohne zusätzliches Programm). Der USB-Controller auf dem Arduino ist evtl. nur mit Rx und Tx verbunden. Er erscheint auf dem PC z.B. als UART Bridge CP210x von Silicon Labs. In einem anderen Projekt habe ich bereits den USB-Controller überschrieben, damit Midi Daten gesendet werden an den PC. Mit einem Programm konnte man die ankommenden Daten sehen. Das war etwa so wie standardmäßig wenn man mit der Arduino IDE die Seriellen Daten vom Arduino abhört. Ist es denn jetzt möglich den Arduino oder seinen Controller so umzuprogrammieren, dass er beim einstecken ein Programm ausführt, dass auf einen eingegeben Pfad Dateien auf dem PC speicher kann ? Das wäre ja ein großes sicherheitsrisiko für Windwos, wenn so etwas gehen würde. Aber wenn der Nutzer dem Gerät das erlaubt könnte das ja gehen. Im Endeffekt soll man mit Plug & Play (USB) den Controller anschließen können , auf erlauben klicken und der Datentransfer soll beginnen. Nachtrag: muss gar nicht umbedingt USB sein vll gibt es ja etwas anderes Vielen Dank
Frege schrieb: > Nach dem einstecken des USB Kabels sollen Daten z.B. als Textdatei in > einem Pfad unter Windows abgelegt werden ( ohne zusätzliches Programm). Das ist unmöglich.
ich hab da mal ein Demo für einen "Bad USB"-Stick gesehen. Wenn man den Stick ansteckt öffnet er das Notepad auf dem Rechner und schreibt einen Text ins Fenster. Grundsätzlich gehts also weil der Stick als HID-Tastatur arbeitet.
Mit dem CP210x geht das nicht, aber du könntest per VUSB eine Tastatur emulieren, darüber WindowsTaste+r, dann notepad d:\blubb Txt starten, per Tastendruck Emulation die Daten tippen und dann abspeichern.
Ohne Programm auf dem PC geht das nicht. Du könntest evtl. einen Massenspeicher emulieren, trotzdem müsste das Laufwerk erst geöffnet und eine Datei kopiert werden. Eine Tastatur könnte (wenn sie das Zielsystem kennt) zumindest kleine Datenmengen eintippen, z.B. als WinR-echo "Testtext">c:\Testfile.txt. Das wär eindirekt eine Sicherheitslücke, aber auffällig und mühsam. Autostarts auf Wechseldatenträgern sind m.W. schon seit Dekaden nicht mehr aktiv, sonst wäre das noch ein Weg. Allen gemeinsam ist aber, das der COM-Port-Chip auf dem Uno/Nano das nicht kann, mehr wie einen seriellen Port gibt's da nicht. Wenn, dann ginge das nur mit einem Chip, der sich selber um den USB-Port kümmert, wie ein Arduino Micro z.B., wobei der oft auf den Unos als USB-Adapter sitzt.
Frank L. schrieb: > ich hab da mal ein Demo für einen "Bad USB"-Stick gesehen. Wenn man den > Stick ansteckt öffnet er das Notepad auf dem Rechner und schreibt einen > Text ins Fenster. Grundsätzlich gehts also weil der Stick als > HID-Tastatur arbeitet. Ja. Mit dem Problem, dass dazu die HID-USB-Klasse verwendet wird. Der (externe) USB-Controller des Arduino unterstützt aber nur die CDC-Klasse, also UART auf USB umgesetzt. Ein Leonardo (ATmega32U...) könnte als HID programmiert werden. Könnte dann aber immer noch nicht auf ein Verzeichnis auf dem Windows-Rechner zugreifen.
STK500-Besitzer schrieb: > Der (externe) USB-Controller des Arduino unterstützt aber nur die > CDC-Klasse, also UART auf USB umgesetzt. Der USB-Controller beim Arduino Uno ist ein ATMega16U2, also dem könnte man schon beibringen, als HID zu arbeiten.
STK500-Besitzer schrieb: > Ein Leonardo (ATmega32U...) könnte als HID programmiert werden. Könnte > dann aber immer noch nicht auf ein Verzeichnis auf dem Windows-Rechner > zugreifen. geht das nicht? Windowstaste+R öffnet sich "Ausführen". In dieses Fenster geben Sie "cmd.exe" + <ENTER> + "copy con: c:\datei.txt" + <ENTER> + "hallo^z" + <ENTER> gibt zumindest hier: hallo in "c:\datei.txt" welcher Tastencode für windowsTASTE + R gesendet werden muss müsste rauszubekommen sein
:
Bearbeitet durch User
Sebastian R. schrieb: > Der USB-Controller beim Arduino Uno ist ein ATMega16U2, also dem könnte > man schon beibringen, als HID zu arbeiten. Danke, mit dem UNO habe ich mich noch nicht auseinandergesetzt.
Joachim B. schrieb: > STK500-Besitzer schrieb: >> Ein Leonardo (ATmega32U...) könnte als HID programmiert werden. Könnte >> dann aber immer noch nicht auf ein Verzeichnis auf dem Windows-Rechner >> zugreifen. > > geht das nicht? > > Windowstaste+R öffnet sich "Ausführen". In dieses Fenster geben Sie > "cmd.exe" + <ENTER> + "copy con: c:\datei.txt" + <ENTER> + "hallo^z" + > <ENTER> > > gibt zumindest hier: > > hallo in "c:\datei.txt" > > welcher Tastencode für windowsTASTE + R gesendet werden muss müsste > rauszubekommen sein Vermutlich schon. Ein Fenster-Wechsel während der "Eingabe" könnte zu Problemen führen.
grad mit nem Bad-USB-Stick mal getestet. Man kann damit als HID-Tastatur das Notepad öffnen, einen Text reinschreiben, das Elaborat abspeichern und das Notepad wieder schliessen. Die Datei ist dann auf dem Rechner als Textdatei gespeichert. Der Stick meldet sich beim PC als Leonardo an aber es sollte auch mit einem Digispark-Board funktionieren. Das kann auch HID aber ich hab grad Keins zum testen hier.
OK, angenommen er simuliert eine Tastatur als HID und das mag ja auch funktionieren, nur blöd wenn er nebenbei am PC arbeiten möchte... weil, was würde nämlich passieren, wenn das Programm den Fokus verliert bzw. er Word oder Browser öffnet: Dann würde sein Arduino alles in das Fenster schreiben.
STK500-Besitzer schrieb: > Ein Fenster-Wechsel während der "Eingabe" könnte zu Problemen führen. klar Mausspielereien sollten dabei nicht stattfinden, evtl. geht noch <ALT> <ENTER> für fullscreen, da kann keine Maus mehr fensterln denke ich
Bei allen Plug&Play Geschichten läuft entweder ein aktives Programm oder ein Dienst im Hintergrund. Du könntest ja ein Dienst schreiben der bei Geräteerkennung ein Empfangsprogramm startet, welches dann Daten entgegen nimmt und verarbeitet. Oder du lässt den Dienst weg und lässt dein Programm im Hintergrund arbeiten. Aber von irgendwo muss das Betriebssystem halt wissen was es bei Aktion-X tun soll.
Frege schrieb: > Hi, > ich würde gerne Daten von meinem Arduino z.B. UNO an den PC schicken. Wie schon gesagt brauchst du dazu einen Arduino mit USB HID. E.g. Digispark https://www.heise.de/select/ix/2017/7/1499358388386903 oder Leonardo, Arduino Micro Pro Uno, Nano usw gehen nicht. leo
Ich kann nur dringend davon abraten, den Rechner von außen fernsteuern zu wollen. Das funktioniert nur unter sehr beschränkten Bedingungen (z.B. nicht, wenn der Bildschirm mit Passwort gesperrt ist) und kollidiert mit manuellen Bedienvorgängen, sowie mit Popup Fenstern, die unter Windows gerne mal unerwartet erscheinen. Und dann gibt es ja noch Leute mit anderen Windows Versionen oder anderen Betriebssystemen. Also wenn ich etwas an den Rechner stecke, was Tastatureingaben simuliert, dann kommt das sofort in den Müll. Denn das wäre für mich genau so inakzeptabel, wie ein Viren-versuchtes Programm.
Stefanus F. schrieb: > Ich kann nur dringend davon abraten, den Rechner von außen fernsteuern > zu wollen. > Also wenn ich etwas an den Rechner stecke, was Tastatureingaben > simuliert, dann kommt das sofort in den Müll. Denn das wäre für mich > genau so inakzeptabel das bleibt dir doch unbenommen, aber den Wunsch vom TO hast du doch gelesen? Frege schrieb: > Hi, > ich würde gerne Daten von meinem Arduino an den PC schicken. > Nach dem einstecken des USB Kabels sollen Daten z.B. als Textdatei in > einem Pfad unter Windows abgelegt werden ( ohne zusätzliches Programm). klar kann er an seinem PC, oh er schrieb ja nicht das der PC seiner ist, was nun alle unter Generalverdacht?
Joachim B. schrieb: > aber den Wunsch vom TO hast du doch gelesen? Den habe ich so verstanden: Er möchte Daten vom Mikrocontroller aus in eine Datei ablegen. Von "Fernsteuern" war nicht die Rede. Rufus Τ. F. schrieb: > Das ist unmöglich. Sehe ich ebenso.
Stefanus F. schrieb: > Rufus Τ. F. schrieb: >> Das ist unmöglich. > > Sehe ich ebenso. Ohne zusätzliche Software auf dem PC geht es nicht > sinnvoll. Zumindest nicht ohne irgendwelche fehlerträchtigen Verrenkungen.
Stefanus F. schrieb: > Von "Fernsteuern" war nicht die Rede. an welcher Stelle soll das geschrieben worden sein? Stefanus F. schrieb: > Denn das wäre für mich > genau so inakzeptabel, wie ein Viren-versuchtes Programm. du hast es angedeutet?
Vielen Dank für eure zahlreichen Antworten !
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.