Arduino soll Daten an PC schicken plug&play aber wie

Gast #5812308
Lesenswert?

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
#5812326
Lesenswert?

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.
Gast #5812328
Lesenswert?

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.
#5812347
Lesenswert?

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
Gast #5812350
Lesenswert?

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.
#5812353
Lesenswert?

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.
#5812358
Lesenswert?

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.
Gast #5812501
Lesenswert?

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.
#5812506
Lesenswert?

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?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren