postmaster-ino:
Bedenken habe ich wegen der USB-Verlängerung - bei USB 2 war bei 5m Ende - hätte noch nicht gesucht, wie Das mit USB 3 aussieht.
Es gibt USB over LAN. Dabei wird das USB-Signal am Anfang verstärkt und am Ende wieder auf den normalen Pegel gesetzt. Einfach ne Cat.7 Leitung gezogen und Stecker drauf gemacht. Funktioniert bei mir auf ca 20m ganz gut, solange ich am Ende einen aktiven Hub setze. Ist gegen Überspannung abgesichert. Habs bereits ausversehen in die falsche Datendose mit PoE gesteckt, funktioniert immernoch.
postmaster-ino:
Dann: Da kann JEDER einen USB-Ding anschließen - mit etwas Glück sogar mit den erwarteten Dateien - wenn die kopierten Dateien auf dem Server ausführbar sind, würde ich mir Das noch einige Dutzend Male überlegen wollen - ob ich wirklich ungeprüft fremden Code auf meinem Server haben möchte (wie User-Eingaben, so was muß man parsen).
Theoretisch ja, praktisch nein. Da ich zb ne Datei mit dem Namen und Endung "USBX.kdp" mit einem Inhalt, der auf jedem der 2 Sticks unterschiedlich ist, damit diese eindeutig identifiziert werden können neben der Seriennummer.
Außerdem wird der USB-Port nur von max 2 Leuten benutzt: Mir und meinem Kollegen, da wir beide KNX programmieren.
8-Mann Betrieb, Firma ist wie Fort Knox - also wenn jemand reingeht und da nen Stick anschließt, ohne dass jemand es mitbekommt, ist sehr sehr gut. oder auch sehr sehr dumm.
postmaster-ino:
Was, wenn durch diese USB-Verlängerung, ob bösartig oder nicht, Mal mehr als 5V drüber gehen?
Vertrau mir, ich bin Elektriker ;D
postmaster-ino:
Den Rest, also USB-Stock erkennen, einbinden, Arduino A senden, Kopiervorgang starten, alle halbe Sekunde dem Arduino einen Wert senden, Kopiervorgang beenden, Stick auswerfen, Arduino B senden - muß Dein Script auf dem Server erledigen.
Das ist mir klar. Der Code schickt dem Arduino jedes %
uxomm:
Es ist noch nicht so ganz klar, was über die serielle Schnittstelle geschickt wird.
So wie du es beschreibst stelle ich mir das etwa so vor:
Nachdem der USB-Stick wird eingesteckt wurde kommt über die serielle Schnittstelle etwa folgendes.
A
0
10
20
30
40
50
60
70
80
90
100
B
Wäre das ein "normaler" Ablauf? Die Zahlen könnten natürlich auch andere sein.
Und 'A' bedeutet: USB-Stick keinesfalls entfernen, Kopiervorgang läuft. Eine LED soll leuchten (z.B. ROT).
Und 'B' bedeutet: Kopie ist abgeschlossen, USB-Stick darf entfernt werden. Eine andere LED soll leuchten (z.B. GRÜN).
So sieht es aus. Wobei logischerweise
A und B nicht als diese angezeigt werden sollen sondern
A = "Fortschritt:" und darunter die % und die Rote LED
und
B = lcd.clear und "Fertig!" und die Grüne LED
uxomm:
Oder gibt es einen anderen Ablauf?
Nein
uxomm:
Oder noch andere mögliche Nachrichten?
Nein.
Sowas in die Richtung? Allerdings bekomm ich wieder einen fast ausgefüllten Block in das Display(█), was ich glaub, das es das "\n" ist. Wie bekomm ich das weg?
while (Serial.available() > 0)
{
char recieved = Serial.read();
inData += recieved;
if (recieved == '\n')
{
Serial.print("Arduino Received: ");
Serial.print(inData);
lcd.print(inData);
if(inData == "+++\n"){
Serial.println("OK. Press h for help.");
}
inData = "";
}
}
Edit: habs mit trim() gemacht.
Danke