Ich arbeite momentan an einem Projekt, bei dem ich mehrere UNOs + je einer ArduCam (Mini-5MP-Plus (OV5640)) an einen PC schliessen will, um so ueber eine GUI zeitgleich Aufnahmen zu machen.
Die Boards sind via USB an den PC geschlossen und ich nutze kein Kamera- oder SD-Card-Shield.
Ich habe eine vorhandene GUI mit Visual Studio bearbeitet. Das zeitgleiche Aufnehmen klappt damit soweit ganz gut.
BILDER IM ANHANG
Hier meine Fragen zu meinen noch anstehenden Problemen & Zielen:
I
Das Uebertragen der .jpg-Daten von den Kameras/Boards dauert bei hoechster Qualitaet ca. 13 s. Kann ich das irgendwie beschleunigen? Oder aufgrund der Rechenleistung und Speicherkapazitaet des UNOs nicht optimiern?
II
Langfristig wuerde ich eigentlich gerne auf so viele USB-Kabel verzichten. Im besten Fall nur ein Masterboard via USB (oder sogar per Wifi) mit dem PC verbinden und die anderen Boards dann mit diesem Master verkabeln. Spricht da irgendwas gegen. Muss ich irgendwas Besonderes dabei beachten. Hab Ihr Tipps oder kennt vergleichbare Projekte?
III
Ich haette gerne mehr Kontrolle ueber die Kameraeinstellungen. Also evtl. Werte wie Belichtungszeit auslesen und veraendern. Ist das Moeglich? Wenn ja, habt Ihr eine Idee wie?
Ein Arduino am USB Port könnte die Kommandos an die anderen Arduinos weiterleiten, und die Bilder zurückschicken. Nur dauert dann die Übertragung der Bilder noch länger.
Ob eine Komprimierung der Bilder möglich ist, kommt auf den Typ der Image-Dateien an, vermutlich läßt sich da nicht viel dran drehen. Einzige Möglichkeit die Baudrate möglichst hoch setzen.
Erweiterungen hängen vom API der Kameras ab, was sich da programmieren läßt.
Zum einen will ich mich mit Arduino beschaeftigen und etwas lernen. Zum anderen will ich langfristig nicht 20 Kameras mit je einem USB-Kabel anschliessen, sondern alle ueber eine Schnittstelle (USB oder Wifi) verbinden. Das wird mit Webcams schwierig.
TobiG:
Zum einen will ich mich mit Arduino beschaeftigen und etwas lernen. Zum anderen will ich langfristig nicht 20 Kameras mit je einem USB anschliessen, sondern alle verbinden ueber eine Schnittstelle (USB oder Wifi) verbinden. Das wird mit Webcams schwierig.
...
Schön, dass du dich beschäftigen willst aber Arduino ist hierfür einfach gänzlich ungeeignet.
Arduinos sind für andere Dinge gut, aber nicht für Bilddaten in dieser Menge.
Also momentan laeuft es eigentlich ganz gut und ich wuerde gerne weiter machen. Besonders, weil ich die Hardware nun mal grade da habe.
Langfristig koenntest du jedoch recht haben. „Gänzlich ungeeignet“...alle Arduinoboards? Oder speziell der UNO? Welches Board (Arduino oder RasPi) koenntest du fuer meine Anwendung empfehlen?
Alternativ zu empfehlen Raspi-Zero mit Rasicamera mit einem Wifi-USB stick. Oder wenn du es logistisch (vom Ort gesehen) hinbekommst, einige Webcams mit Kabel an je einen Raspi-Zero.
Der Arduino ist schlichtweg zu langsam und hat keinen vernünftigen Speicher etc... Das ist ein universeller kleiner Microcontroller.
Theseus:
Wenn du viel Qualität haben willst, solltest du dir Canon-Kameras in Kombination mit CHDK und SDM anschauen.
Danke! Zu dem Canon Hack hatte ich mir auch schon ein bisschen was durchgelesen. Ist eine coole Idee. Leider fuer mein Projekt etwas zu gross und zu teuer.
staivoup:
Alternativ zu empfehlen Raspi-Zero mit Rasicamera mit einem Wifi-USB stick.
Leider sind Raspi-Zeros nicht so leicht in grosser Stueckzahl zu bekommen. Na ja...aber auf Raspi umzusteigen, werde ich mir wohl ueberlegen muessen. Danke!