Forum: Mikrocontroller und Digitale Elektronik Mehrere Kameras auslesen und per WLAN übertragen


von Dani W. (winzland)


Lesenswert?

Hallo,

ich bin auf der Suche nach einer Möglichkeit mehrere Kameras per µC AVR 
oder ARM auszulesen und diese an einen WLAN-Router (Serielle 
Schnittstelle vorhanden) zu übertragen und freizugeben. Leider finde ich 
im Internet nur Basteleien mit einer Kamera an einem µC. Erfahrung habe 
ich nur mit Atmega-AVRs.
Der Aufbau:
3 Niederauflösende Kameras (Auch monochrom möglich)
1 Hochauflösende Farbkamera

Im Internet werden immer wieder Kameras mit digitalen Ausgang empfohlen. 
Sind diese am einfachsten anzusteuern?

Krieg ich überhaupt den Videostream von 4 Kameras über die Serielle bei 
einer 115200er Baud?

Danke im Voraus!

von HildeK (Gast)


Lesenswert?

Dani W. schrieb:
> Krieg ich überhaupt den Videostream von 4 Kameras über die Serielle bei
> einer 115200er Baud?

Nein!
Außer du bist mit einem extrem schlechten Bild zufrieden. Gehe eher mal 
von einigen MBit/s aus, aber auch das geht nur, wenn du codierst.

von Dani W. (winzland)


Lesenswert?

Danke für die schnelle Antwort :)
OK, dann wären da noch 4 Netzwerk Ports mit 100Mbit/1Gbit ;)
Wäre es möglich alle auf einen 100Mbit anzuschließen, also mit dem 
Kontroller dementsprechend auszuwerten, codieren und dann an einem 
Netzwerkanschluss freizugeben (mit z.B. unterschiedlichen Ports für jede 
Kamera)?
Welchen Controller kann ich dafür verwenden. Bräuchte ich Zusatzhardware 
(RAM, Portextender, ...)

von Daniel H. (Firma: keine) (commander)


Lesenswert?

Dani W. schrieb:
> 3 Niederauflösende

D.h. welche Auflösung?

> 1 Hochauflösende

D.h. welche Auflösung?

Dani W. schrieb:
> Krieg ich überhaupt den Videostream von 4 Kameras über die Serielle bei
> einer 115200er Baud?

115200 Baud ist extrem sportlich bis unmöglich (in gescheiter 
Auflösung), zumal noch die Angabe zur Bildfrequenz der Kameras fehlt.

von nobbe (Gast)


Lesenswert?

WLAN IP Camera

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Dani W. schrieb:
> ich bin auf der Suche nach einer Möglichkeit mehrere Kameras per µC AVR
> oder ARM auszulesen und diese an einen WLAN-Router (Serielle
> Schnittstelle vorhanden) zu übertragen und freizugeben.

Wenn das brauchbar sein soll und nicht nur Standbilder übertragen soll, 
dann ist so etwas eine Lösung:

http://www.axis.com/de/products/m70_series/index.htm

von Dipl.-Ing. (FH) (Gast)


Lesenswert?

Daniel H. schrieb:
> Angabe zur Bildfrequenz der Kameras fehlt.

Rechnen macht kluch:

640 x 480 x 10fps = 3MB/s

Bei Monochrom = 8 Bit -> 24Mbps, für alle Kameras 100Mbps

Mit einem sher guten MPEG4-Decoder kriegt man es auf 1/20 runter -< 
5Mbps, also eher was für USB.

von Dani W. (winzland)


Lesenswert?

Bei 3x Niederauflösung stell ich mir max 640x480 vor (Wobei dies nicht 
in Farbe sein muss).
Bei 1x Hochauflösend ab 800x600 (besser 1152 × 864) in Farbe.
Die Kameras habe ich noch nicht.

Und eine fix fertige WLAN IP Kamera wäre mir zu teuer. Deswegen würde 
ich sie lieber selber bauen.

Krieg ich das mit einem Kontroller hin, sowie ein Ethernet Anschluss?

von Dani W. (winzland)


Lesenswert?

Rufus Τ. Firefly schrieb:
> Dani W. schrieb:
>> ich bin auf der Suche nach einer Möglichkeit mehrere Kameras per µC AVR
>> oder ARM auszulesen und diese an einen WLAN-Router (Serielle
>> Schnittstelle vorhanden) zu übertragen und freizugeben.
>
> Wenn das brauchbar sein soll und nicht nur Standbilder übertragen soll,
> dann ist so etwas eine Lösung:
>
> http://www.axis.com/de/products/m70_series/index.htm

Danke Rufus, kann man so ein Teil auch selber bauen?


Anmerkung zu den Kameras: Es sind kleine und leichte Kameras 
(Handykameras, etc.)

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Dani W. schrieb:
> Danke Rufus, kann man so ein Teil auch selber bauen?

Selberbauen kann man alles, wenn man nur ausreichend Zeit und Aufwand 
'reinsteckt. Aber Du kannst damit rechnen, die nächsten paar Jahre unter 
der Decke zu verschwinden, wenn Du das wirklich komplett selbst basteln 
willst. Bewegtvideo zu komprimieren ist rechenintensiv, und produziert 
erhebliche Datenmengen.

von Dani W. (winzland)


Lesenswert?

Habe jetzt diese Kamera gefunden. Wäre genau richtig:

http://www.sparkfun.com/products/8668

Die Komprimiert bereits auf JPG und hat sogar ein I2C-Interface.

Wie siehst nun mit 4 von den Teilen aus? Per µC an einen 
Ethernet-Anschluss freigeben, Umsetzung möglich?

Danke

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Tja, Einzelbilder wirst Du damit dann hinbekommen.

Mit einem µC und entsprechender Webserverumgebung wirst Du die 
JPEG-Daten auch in ein Netzwerk einspeisen können; wenn allerdings mehr 
als ein Client damit verbunden werden soll, wirst Du über eine 
Zwischenspeicherung der Bilddaten im Webserver nachdenken müssen. Ist 
das kein Thema, weil es nur einen Client geben wird, sollte sogar so ein 
einfacher AVR-basierter Webserver ausreichen.

von Dani W. (winzland)


Lesenswert?

Rufus Τ. Firefly schrieb:
> Tja, Einzelbilder wirst Du damit dann hinbekommen.
>
> Mit einem µC und entsprechender Webserverumgebung wirst Du die
> JPEG-Daten auch in ein Netzwerk einspeisen können; wenn allerdings mehr
> als ein Client damit verbunden werden soll, wirst Du über eine
> Zwischenspeicherung der Bilddaten im Webserver nachdenken müssen. Ist
> das kein Thema, weil es nur einen Client geben wird, sollte sogar so ein
> einfacher AVR-basierter Webserver ausreichen.

Ja Aber interessant wäre nur ein Videostreaming. Und zugreifen würde 
dann maximal ein Benutzer oder eben ein Dienst vom Linux-Router.
Steht ja dabei, dass die Kamera 25 fps schafft.

LG

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Dani W. schrieb:
> Aber interessant wäre nur ein Videostreaming.

Das müsstest Du dann aber aus den einzelnen JPEG-Frames 
zusammenstückeln, was möglicherweise per Motion-JPEG möglich ist. Sieh 
Dir an, wie groß ein einzelnes Frame typischerweise ist, und rechne 
hoch, welche Datenmenge pro Zeiteinheit Dein µC da verdauen muss.

von PittyJ (Gast)


Lesenswert?

Bei der Sparkfun Camera:
Berechne doch mal, was da wirklich an Daten herauskommt. Das wird wohl 
ein 8Bitter AVR nicht schaffen. Sowohl vom Speichervermögen des 
Hauptspeichers als auch von der Bandbreite der IOs.
Das muss alles über einen Datenbus gehen. I2C dient wohl nur für die 
Steuerung, aber nicht für die Daten selber. Denn dafür ist I2C zu 
langsam.

Ein VGA-Bild (monochrom, 8Bit tief) hat 480*640 Punkte, dass sind schon 
~308 KBytes. Das kann ein 8Bitter gar nicht mehr speichern.

Vielleicht mal mit einfacheren Sachen beginnen, um ein Gefühl für MBytes 
und Mbytes/sec zu bekommen??

von AG (Gast)


Lesenswert?

Dani W. schrieb:
> Die Komprimiert bereits auf JPG und hat sogar ein I2C-Interface.

Jaja aber I2C ist nur zur Konfiguration nicht zum Daten auslesen (wär eh 
zu lahm)


> Und eine fix fertige WLAN IP Kamera wäre mir zu teuer.
> Deswegen würde ich sie lieber selber bauen.

Lol na klar doch.

Will ich sehen das Du das für weniger als 60 Euro baust:
http://www.reichelt.de/IP-LAN-W-LAN-Kameras/APM-J012-WS/3/index.html?;ACTION=3;LA=446;ARTICLE=116374;GROUPID=4013;artnr=APM+J012+WS;SID=31Ijb9fqwQAR8AAFMenBc64ce8df5f2916d7a3cdcd3dcf1564875

http://www.reichelt.de/IP-LAN-W-LAN-Kameras/EDI-IC3030I-WN/3/index.html?;ACTION=3;LA=446;ARTICLE=115219;GROUPID=4013;artnr=EDI+IC3030I+WN;SID=31Ijb9fqwQAR8AAFMenBc64ce8df5f2916d7a3cdcd3dcf1564875

Ist natürlich billigkram daher vermutlich auch keine gute Bildquali aber 
DU bekommst es sicher nicht besser hin ;-)

von Daniel H. (Firma: keine) (commander)


Lesenswert?

Dipl.-Ing. (FH) schrieb:
> Rechnen macht kluch:
>
> 640 x 480 x 10fps = 3MB/s

Wow, bist du ein Held. Wenn du mir jetzt noch zeigen kannst, wo diese 
Informationen in diesem Thread bis zu meinem Post geliefert wurden bist 
du richtig gut. Achso, ich weiß schon, kannst du nicht, weil du dir die 
Zahlen selber aus dem Ärmel geschüttelt hast. Na dann herzlichen 
Glückwunsch, hauptsache mal groß rumgepupt :)

von Dani W. (winzland)


Lesenswert?

Danke für die vielen Interessanten Antworten!

PittyJ schrieb:
> Ein VGA-Bild (monochrom, 8Bit tief) hat 480*640 Punkte, dass sind schon
> ~308 KBytes. Das kann ein 8Bitter gar nicht mehr speichern.
>
> Vielleicht mal mit einfacheren Sachen beginnen, um ein Gefühl für MBytes
> und Mbytes/sec zu bekommen??

Mir reicht bei den 3 kleinen Kameras die VGA Auflösung auch locker! 
Außerdem kommt dazu, dass ich diese nicht in Farbe benötige.
Und bei der "großen" Cam muss die Auflösung auch nicht gerade hoch sein, 
da ist die Qualität wichtiger!

Rufus Τ. Firefly schrieb:
> Das müsstest Du dann aber aus den einzelnen JPEG-Frames
> zusammenstückeln, was möglicherweise per Motion-JPEG möglich ist. Sieh
> Dir an, wie groß ein einzelnes Frame typischerweise ist, und rechne
> hoch, welche Datenmenge pro Zeiteinheit Dein µC da verdauen muss.

PittyJ schrieb:
> Bei der Sparkfun Camera:
> Berechne doch mal, was da wirklich an Daten herauskommt. Das wird wohl
> ein 8Bitter AVR nicht schaffen. Sowohl vom Speichervermögen des
> Hauptspeichers als auch von der Bandbreite der IOs.
> Das muss alles über einen Datenbus gehen. I2C dient wohl nur für die
> Steuerung, aber nicht für die Daten selber. Denn dafür ist I2C zu
> langsam.

Kann ja auch ein stärkerer ARM sein ;)

AG schrieb:
> Jaja aber I2C ist nur zur Konfiguration nicht zum Daten auslesen (wär eh
> zu lahm)

Schon klar, steht ja auch extra dabei: ...standard data+I2C interface...

AG schrieb:
> Lol na klar doch.
>
> Will ich sehen das Du das für weniger als 60 Euro baust:
> http://www.reichelt.de/IP-LAN-W-LAN-Kameras/APM-J0...
>
> http://www.reichelt.de/IP-LAN-W-LAN-Kameras/EDI-IC...
>
> Ist natürlich billigkram daher vermutlich auch keine gute Bildquali aber
> DU bekommst es sicher nicht besser hin ;-)

Danke sehr interessant! Die Cams sind halt sehr groß und WLAN übernimmt 
sowieso der Router, also wenn bräuchte ich dann nur Netzwerk :)

-----

Andere Sache!
Der Router hat ja auch ein USB Port. Könnte man die 4 Cam-Daten auch an 
einen USB 2.0 übertragen?

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Dani W. schrieb:
> Der Router hat ja auch ein USB Port. Könnte man die 4 Cam-Daten auch an
> einen USB 2.0 übertragen?

Nein, noch weniger, zumal der Router an seinem USB-Port wenig anderes 
als Massenspeicher, Drucker oder gegebenenfalls UMTS-Sticks unterstützen 
wird.

von Dani W. (winzland)


Lesenswert?

Rufus Τ. Firefly schrieb:
> Nein, noch weniger, zumal der Router an seinem USB-Port wenig anderes
> als Massenspeicher, Drucker oder gegebenenfalls UMTS-Sticks unterstützen
> wird.

Das sehe ich weniger als Problem an, da auf dem Router ein OpenWRT-Linux 
läuft. Wenn z.B. der Microcontroller aus den 4 Cams (alle mit gleicher 
Auflösung) ein virtuelle Cam mit einem Großen Bild (die 4 Video-Signale 
alle zusammen auf einem Bild, alles untereinander, nebeneinander, wie 
auch immer) ausgibt könnte man das USB-Signal sicher einfach am 
Router-Netzwerk freigeben, so ähnlich machen das ja auch die 3D Beamer 
(side-by-side, top-and-bottom)
Wäre das umsetzbar?

LG

von AG (Gast)


Lesenswert?

Na wenn Du usb host hast isses easy. 4 uvc kompatible USB Webcams per 
Hub und dann MJPEG Streamer verwenden und fertig.

von Dani W. (winzland)


Lesenswert?

AG schrieb:
> Na wenn Du usb host hast isses easy. 4 uvc kompatible USB Webcams per
> Hub und dann MJPEG Streamer verwenden und fertig.

Danke! Werde mir mal ein paar USB-Cams besorgen und schauen, ob das das 
Router packt. Rückmeldung gibt's dann noch ;)

LG

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
Noch kein Account? Hier anmelden.