Hallo zusammen, für ein Projekt suche ich einen Mikrocontroller, der per SMB/CIFS eine Datei von Windows und Mac auslesen kann und Daten als USB-HID ausgeben kann. Das Challenger+ RP2350 WiFi6/BLE5 von iLabs scheint mir ein möglicher Kandidat zu sein: der Pico-Teil als USB-HID und der ESP32-Teil für die SMB-Kommunikation. Würde das funktionieren ? Kennt Ihr ggf. eine einfachere Alternative (einen µC, der beides kann) ? Grüße Tobias
Tobias schrieb: > Kennt Ihr ggf. eine einfachere Alternative (einen µC, der beides kann) ? Jeder µC, der einen IP-Stack bedienen kann, ausreichend RAM enthält und einen USB-Device-Controller enthält, kann das. Was ist der tiefere Sinn der Übung? Maximale Ressourcen verballern für minimales Ergebnis? SMB/CIFS ist ziemlich ressourcenfressend.
Harald K. schrieb: > SMB/CIFS ist ziemlich ressourcenfressend. Und ziemlich Update-verdächtig, weil sich da gerne mal etwas ändert, hinsichtlich Authentifizierung, Verschlüsselung und im Netz geforderter Protokoll-Version. Mit Linux erspart man sich deshalb Ärger.
:
Bearbeitet durch User
Deswegen sollte man sehr, sehr ernsthaft darüber nachdenken, ob die Grundidee tragfähig ist. Hier habe ich das Gefühl, daß das nicht unbedingt gegeben ist.
Hallo Harald, hallo A.K., vielen Dank für Eure Antworten. Warum SMB/CIFS? Der µC soll eine Datei sowohl von Windows- als auch von Mac-Hosts erhalten können. Das Bereitstellen der Datei soll mit einfachen Bordmitteln geschehen, ohne dass weitere Programme/Dienste auf dem Host installiert werden müssen (mangels Serverfunktionalität auf Windows scheidet daher z.B. SSH aus).
Tobias schrieb: > Der µC soll eine Datei sowohl von Windows- als auch von > Mac-Hosts erhalten können. Er soll sie also nicht als Client ziehen oder regelmässig woanders abfragen, sondern als SMB-Server agieren? Hast Du eine Vorliebe dafür, dicke Bretter zu bohren?
Tobias schrieb: > mangels Serverfunktionalität auf Windows scheidet daher z.B. SSH aus Mindestens in der Pro Version steht ein optional installierbarer OpenSSH Server zur Verfügung. Ob auch bei Home weiss ich nicht.
:
Bearbeitet durch User
Tobias schrieb: > Kennt Ihr ggf. eine einfachere Alternative (einen µC, der beides kann) ? Der ESP32S3 kann WiFi und hat eine USB-Peripherie und kann dementsprechend schon direkt mit einem USB-Host reden und braucht da nicht noch einen RP für. Für den ESP32S3 gibt es diverse Boards und Devkits. Möchtest du eine ganze Datei per HID übertragen? Klingt furchtbar umständlich und ineffizient. Tobias schrieb: > Der µC soll eine Datei sowohl von Windows- als auch von > Mac-Hosts erhalten können. Das ginge auch mit einem Webserver. Kaum noch jemand nutzt SMB und das macht ständig irgendwelche Probleme, während HTTP allgegenwärtig und super unterstützt ist. Für den ESP32 gibt es natürlich fertige Webserver. Wenn es unbedingt im Dateibrowser funktionieren muss wäre WebDAV auch eine Option, das wäre auf Basis des Webservers vermutlich gut umsetzbar. Nebenbei funktioniert das auch problemlos übers Internet wenn man es mit HTTPS sichert (SMB ist da zu unsicher für und müsste mit VPN gesichert werden, aber das auf dem ESP zu implementieren dürfte unspaßig sein). Tobias schrieb: > ohne dass weitere Programme/Dienste auf > dem Host installiert werden müssen Webbrowser sind ja schon lange überall vorinstalliert.
:
Bearbeitet durch User
(prx) A. K. schrieb: > Er soll sie also nicht als Client ziehen oder regelmässig woanders > abfragen, sondern als SMB-Server agieren? Nein, der µC soll als SMB-Client agieren und die Datei vom bereitstellenden PC abholen. Sorry, falls ich mich da missverständlich ausgedrückt habe.
Wenn das File nicht zu gross ist, dann pack auf den PC einen TFTP-Server drauf. Den kriegst du sogar mit einem AVR bedient.
Hallo Niklas, vielen Dank für Deine Antwort. Niklas G. schrieb: > Möchtest du eine ganze Datei per HID übertragen? Klingt furchtbar > umständlich und ineffizient. Der µC soll bestimmte Daten aus der Datei entnehmen und diese dann wie eine externe Tastatur an einem anderen Gerät eingeben. Hintergrund: Das Gerät selbst ist ein medizinisches Gerät, welches Daten nur über eine externe Tastatur entgegennehmen kann.
Tobias schrieb: > Nein, der µC soll als SMB-Client agieren und die Datei vom > bereitstellenden PC abholen. Und wozu soll das gut sein? Was hat das mit der Funktion als USB-HID zu tun? Wie willst Du die SBM-Credentials verwalten (Benutzername/Password), hast Du Dir darüber schon mal Gedanken gemacht?
:
Bearbeitet durch User
Niklas G. schrieb: > Tobias schrieb: >> Der µC soll eine Datei sowohl von Windows- als auch von >> Mac-Hosts erhalten können. > > Das ginge auch mit einem Webserver. Kaum noch jemand nutzt SMB und das > macht ständig irgendwelche Probleme, während HTTP allgegenwärtig und > super unterstützt ist. Das stimmt. Allerdings soll das Ganze quasi im Hintergrund ablaufen; der PC selbst wird "nebenbei" noch für diverse andere Aufgaben genutzt.
Tobias schrieb: > Allerdings soll das Ganze quasi im Hintergrund ablaufen; der PC selbst > wird "nebenbei" noch für diverse andere Aufgaben genutzt. Es soll also immer wieder automatisch eine Datei übertragen werden? Wo kommt die Datei überhaupt her? Muss es denn unbedingt eine Datei von der Festplatte des PCs sein, wie wäre es mit einer Web-GUI wo man die HID-Aktionen eingibt/konfiguriert und per JavaScript werden die dann automatisch raus geschickt? Javascript-GUIs sind heutzutage praktisch genau so mächtig wie gewöhnliche PC-Programme, aber laufen halt im Browser. Da könnte man sich beliebige Dinge zusammenklicken und die automatisch ablaufen lassen. Nur Dateien automatisch von der Festplatte lesen geht natürlich nicht.
Harald K. schrieb: > Tobias schrieb: >> Nein, der µC soll als SMB-Client agieren und die Datei vom >> bereitstellenden PC abholen. > > Und wozu soll das gut sein? Was hat das mit der Funktion als USB-HID zu > tun? Hatte ich um 14:53 geschrieben: der µC soll (neben der SMB-Client-Tätigkeit) als externe Tastatur dienen. > Wie willst Du die SBM-Credentials verwalten (Benutzername/Password), > hast Du Dir darüber schon mal Gedanken gemacht? Es wird jeweils ein µC mit pro PC (Win oder Mac) genutzt; somit ist jeweils nur ein "Benutzername und Passwort" pro µC notwendig. Die Daten sollen entsprechend auf dem individuellen µC abgelegt werden. (prx) A. K. schrieb: > Wenn das File nicht zu gross ist, dann pack auf den PC einen > TFTP-Server > drauf. Den kriegst du sogar mit einem AVR bedient. Danke für den Tipp. Der TFTP-Server wäre aber ein Programm/Dienst, welches bei Win/Mac nicht standardmäßig dabei ist, oder?
Wenn du um jeden Preis SMB implementieren willst, wird dich niemand daran hindern. Erwarte nur nicht, dass dich jeder dich in dieser Entscheidung bestätigen wird.
(prx) A. K. schrieb: > Wenn du um jeden Preis SMB implementieren willst, wird dich niemand > daran hindern. Erwarte nur nicht, dass dich jeder dich in dieser > Entscheidung bestätigen wird. Hm, etwas Simpleres als SMB wäre mir auch lieber... leider muss der Dateiaustausch halt mit Win/Mac-Bordmitteln funktionieren. Gibt es/kennt Ihr eine andere Möglichkeit als SMB? SSH, Webserver, WebDAV, (T)FTP fallen ja leider (wegen der Bordmittel-Beschränkung) aus :-(
Dann - wie gesagt - nimm etwas mit Linux. So RasPi Richtung, aber der echte, nicht der Pico. Da ist der SMB Client an Bord und kann ggf auf Stand gehalten werden.
:
Bearbeitet durch User
Tobias schrieb: > SSH, Webserver, WebDAV, (T)FTP fallen ja leider (wegen der > Bordmittel-Beschränkung) aus :-( Für Windows gibt es den integrierten Webserver IIS. Aber wie gesagt: Muss es unbedingt eine echte Datei sein die unbedingt von der Festplatte vom PC kommen muss? Wo kommen die Daten her?
:
Bearbeitet durch User
Niklas G. schrieb: > Aber wie gesagt: Muss es unbedingt eine echte Datei sein die unbedingt > von der Festplatte vom PC kommen muss? Wo kommen die Daten her? Ja, die Datei wird von einer Software erzeugt, die auf dem PC läuft (eine andere Datenweitergabe, z.B. "an Port senden" o.ä. ist nicht möglich). (prx) A. K. schrieb: > Dann - wie gesagt - nimm etwas mit Linux. So RasPi Richtung, aber > der > echte, nicht der Pico. Da ist der SMB Client an Bord und kann ggf auf > Stand gehalten werden. Linux wäre dafür natürlich perfekt. Ich möchte/muss einen µC nutzen, da die Stromversorgung nur über die USB-Schnittstelle erfolgen kann, an welche der µC als "externe Tastatur" angeschlossen ist (genauer USB1.1, d.h. max. 0,5A).
Tobias schrieb: > Ja, die Datei wird von einer Software erzeugt, die auf dem PC läuft Die kann man nicht modifizieren? Keine Chance ein Batch-Script zu schreiben was regelmäßig die Datei hochlädt? Oder eine Mini-Anwendung die das macht?
Wo ist das Problem: https://www.berrybase.de/raspberry-pi-zero-wh?c=319 245 Stueck sofort lieferbar. Und ja, es laeuft jetzt gerade an einem USB-Port an einem PC.
Thomas W. schrieb: > Wo ist das Problem: > > https://www.berrybase.de/raspberry-pi-zero-wh?c=319 > > Und ja, es laeuft jetzt gerade an einem USB-Port an einem PC. Hallo Thomas, das wäre tatsächlich eine gute Lösung. Weißt Du, wie empfindlich der Pi Zero ggü. Power Off ohne Shutdown ist? Hintergrund: das System wird mehrmals täglich einfach stromlos gestellt werden, da das Gerät an dem Pi Zero / µC einfach ausgeschaltet wird. Niklas G. schrieb: > Tobias schrieb: >> Ja, die Datei wird von einer Software erzeugt, die auf dem PC läuft > > Die kann man nicht modifizieren? Keine Chance ein Batch-Script zu > schreiben was regelmäßig die Datei hochlädt? Oder eine Mini-Anwendung > die das macht? Auf dem PC soll tatsächlich kein Programm/App/Dienst/Skript o.ä. laufen
Tobias schrieb: > Auf dem PC soll tatsächlich kein Programm/App/Dienst/Skript o.ä. laufen Das ist dann ein Catch-22: Tobias schrieb: > Ja, die Datei wird von einer Software erzeugt, die auf dem PC läuft
Tobias schrieb: > Auf dem PC soll tatsächlich kein Programm/App/Dienst/Skript o.ä. laufen Also auch nicht der Fileserver-Dienst. Interessanter Ansatz, wenn der MC genau den ansprechen soll.
:
Bearbeitet durch User
Tobias schrieb: > das wäre tatsächlich eine gute Lösung. > Weißt Du, wie empfindlich der Pi Zero ggü. Power Off ohne Shutdown ist? > Hintergrund: das System wird mehrmals täglich einfach stromlos gestellt > werden, da das Gerät an dem Pi Zero / µC einfach ausgeschaltet wird. Dann installiere openwrt auf dem Ding.
Tobias schrieb: > Hm, etwas Simpleres als SMB wäre mir auch lieber... leider muss der > Dateiaustausch halt mit Win/Mac-Bordmitteln funktionieren. > > Gibt es/kennt Ihr eine andere Möglichkeit als SMB? > > SSH, Webserver, WebDAV, (T)FTP fallen ja leider (wegen der > Bordmittel-Beschränkung) aus :-( Klar. Noch mehr Schmerz mit Bluetooth und Bluetooth-FTP. Oder per Klaut mit IP-over-DNS tunneln. :) Oder mit einem "erratisch" blinkenden Quadrat auf dem Bildschirm. > pack auf den PC einen TFTP-Server drauf +1 Wer denkt sich eigentlich solchen Schwachsinn aus. (?)
G. K. schrieb: > Tobias schrieb: > >> das wäre tatsächlich eine gute Lösung. >> Weißt Du, wie empfindlich der Pi Zero ggü. Power Off ohne Shutdown ist? >> Hintergrund: das System wird mehrmals täglich einfach stromlos gestellt >> werden, da das Gerät an dem Pi Zero / µC einfach ausgeschaltet wird. > > Dann installiere openwrt auf dem Ding. Hallo G.K., vielen Dank für den Tipp - da werde ich mich einmal einlesen! Motopick schrieb: > Wer denkt sich eigentlich solchen Schwachsinn aus. (?) Hallo Motopick, die PCs werden im medizinischen Bereich eingesetzt. Hierauf etwas zu installieren, soll v.a. aus Haftungsgründen unterbleiben - unabhängig davon, ob es technisch ggf. sinnvoll wäre.
Tobias schrieb: > soll v.a. aus Haftungsgründen unterbleiben Aber Dateien mit Anweisungen über eine komplett unsichere SMB-Verbindung über WLAN (!) übertragen...? Hoffentlich steuert das nur die Spülmaschine 👀
Tobias schrieb: > die PCs werden im medizinischen Bereich eingesetzt. Hierauf etwas zu > installieren, soll v.a. aus Haftungsgründen unterbleiben Was nahelegt, dass der PC über Netz keine nichtessentiellen Dienste anbietet, und damit eben auch keine Fileservices. Sofern man nicht bloss die Versicherung im Auge hat, sondern auch den Sinn solcher Regeln. Womit dieser Lösungsweg gestorben sein sollte.
:
Bearbeitet durch User
Tobias schrieb: > die PCs werden im medizinischen Bereich eingesetzt. Hierauf etwas zu > installieren, soll v.a. aus Haftungsgründen unterbleiben - unabhängig > davon, ob es technisch ggf. sinnvoll wäre. Und was für eine merkwürdige Idee steckt dahinter, ein Ding ("Gerät" will ich das jetzt mal nicht nennen) zu konstruieren, das sich (mit viel Aufwand) eine sich offenbar häufiger ändernde Datei von einem Dateiserver abholen soll, um sich dann gegenüber einem anderen PC als USB-HID auszugeben? Was für ein Problem meint das zu lösen?
Beitrag #7767382 wurde vom Autor gelöscht.
Tobias schrieb: >> Dann installiere openwrt auf dem Ding. > > Hallo G.K., > vielen Dank für den Tipp - da werde ich mich einmal einlesen! Bastel aber erst deinen Kram unter Raspbian fertig und fummel das danach auf openwrt rüber. Und speichere die Daten trotzdem ruhig mit Prüfsummen ab und schreibe nach einem sync einen zusätzlichen fertig_nach_sync Marker via touch in ein anderes Filesystem oder so. SD-Karten sind halt merkwürdig. Optimal für ausschalten im laufenden Betrieb wäre eine 2. SD-Karte oder ähnlich wo die beweglichen Daten drauf liegen, dann kann auf der 1. SD-Karte nur das readonly OS + Anwendung liegen. Im Extremfall könnte die Anwendung wenn die Filesysteme auf der 2. Karte komplett kaputt sind diese komplett neu formatieren und die entsprechenden Verzeichnisse neu anlegen und dann mounten. Die diversen sync Optionen erhöhen auch die Sicherheit gegen Stromausfall, zusätzlich braucht das Datenfilesystem auf nur dann rw gemountet sein wenn tatsächlich geschrieben wird, ansonsten reicht ro. (mount -o remount) Und stell das Ergebnis hier ruhig zur Verfügung.
:
Bearbeitet durch User
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.