Hallo Zusammen,
ich bin auf der Suche nach einer kostengünstigen Möglichkeit einen
Kamerasensor CMOS oder CCD via Kabelgebundenem Ethernet (IP) auszulesen.
Es geht nur um das Bild, eine Weboberfläche oder ähnliches wird nicht
benötigt. Gewünschte Auflösung wäre Full HD. Die Übertragung sollte in
einem Standard den übliche IP Cams nutzen efolgen (ONVIF, PSIA).
Möglichkeiten die mir dazu einfallen würden:
A) Ein Microcontroller DSP FPGA der diese Aufgabe komplett out of
the Box übernimmt, d.h. ich binde einen Sensor an den Microcontroller /
DSP / FPGA an und erhalten Zugriff auf das Bild als Datenstream.
B) Oder gibt es einen Microcontroller DSP FPGA der prädestiniert ist
um darauf diese Aufgabe leicht selbst zu verwirklichen.
C) Gibt es für einen Microcontroller DSP FPGA fertige middleware
oder IP Cores die man verwenden könnte?
D) Eine Umsetzung auf Linux, zum Beispiel auf einem Raspberry Pi?
Hintergrund ist der, dass ich selbst eine IP Kamera aufbauen möchte,
weil es aktuell nichts gibt was meinen Anforderungen entspricht bzw.
diese Lösungen deutlich zu teuer sind. Ich möchte aber dennoch möglichst
nicht das Rad neu erfinden und würde mich über eure Erfahrungen freuen.
Aufgrund der Fülle der IP Cams die es zu kaufen gibt, könnte ich mir gut
vorstellen das es eine best practice gibt, die ich nur noch nicht
herausgefunden habe...
Vielen Dank und Grüße!
RasPi + RaspiCam?
Was spricht gegen die vielen fertigen Ip Cams?
Es gibt auch Kameras mit serieller Schnittstelle (TTL oder RS232 Pegel),
die man dann über einen ESP oder Lantronix oder sowas auslesen kann. Obs
das auch in FullHD gibt, weiss ich gerade nicht. Suche nach SerialCam
oder so ähnlich.
Hallo,
tatsächlich möchte ich mir eine kleine Überwachungskamera* selbst
basteln. Zum einen interessiert mich die Technik dahinter (bin selbst
Embedded Bastler, habe nur mit den Themen Embeded + Kamera / Ethernet
noch nicht intensiv gearbeitet), zum anderen bin ich mit der
Bildqualität bezahlbarer IP Cams schlicht nicht zufrieden.
Das mit dem Raspberry Pi sieht auf jeden Fall schon mal sehr interessant
aus, da werde ich mich tiefer einlesen.
Es gibt ja auch Microcontroller mit Kamera Schnittstelle. Hat jemand
hiermit Erfahrung wie aufwändig es wäre das Kamerasignal in ein Ethernet
Protokoll zu packen? Gibt es ggf. Middleware die das kann?
Vielen Dank und Grüße!
* Bewegt sich alles im rechtlich absolut unbedenklichen Rahmen!
Lion schrieb:> Es gibt ja auch Microcontroller mit Kamera Schnittstelle. Hat jemand> hiermit Erfahrung wie aufwändig es wäre das Kamerasignal in ein Ethernet> Protokoll zu packen? Gibt es ggf. Middleware die das kann?
Kommt drauf an. Kommerzielle Produkte machen letztendlich auch nichts
anderes. Der Aufbau eines Einzelstücks wird allein schon durch die
Leiterplattenfertigung viel teurer als ein in Massenstückzahlen
produziertes Gerät. Sensor und Optik bestimmen den Preis, und die Optik
wirst Du kaufen müssen, und wenn Du Qualitätsansprüche hast, wirst Du
viel Geld dafür hinblättern müssen, vor allem bei Stückzahl 1.
Nächster Punkt: Moderne Sensoren verwenden kein paralleles Interface
mehr, sondern MIPI CSI2. (http://mipi.org/) Der Standard kostet Geld.
Dann ist es ein schnelles serielles Interface ähnlich wie PCIe oder
SATA. Heißt also Multilayer, Impedanzkontrolle, Length Matching sowohl
innerhalb der differentiellen Paare als auch zwischen den einzelnen
Lanes.
Kannst Du das? Hast Du ein geeignetes Layoutprogramm (nein, Eagle oder
Target sind dafür nicht wirklich geeignet)?
Vorschlag für einen Sensor:
http://www.ovt.com/download_document.php?type=sensor&sensorid=150
Der kann Full HD @60fps.
fchk
Hallo Frank,
ein ST32F4 (so einen habe ich auf der Embedded World geschenkt bekommen)
hätte zum Beispiel ein sogenanntes DCMI (Digital Camera Interface). Beim
überfliegen ist das wohl eine parallele Datenschnittstelle.
Eine Ethernet Einheit wäre ohnehin mit auf dem µC. Gehen wir mal davon
aus ich bekäme die Daten über das DCMI in den µC (oder ist das etwas
total exotisches und man bekommt es praktisch mit keinem Sensor zum
laufen?) und brauche nicht unbedingt 60 Hz sondern 25 Hz (oder was der
µC halt so hergibt). Was wäre denn dann der Schritt das in Ethernet
umzuwandeln? Gibt es da Bibliotheken? Vllt. Open Source?
(Es muss ja erst mal nichts professionelles sein, wie gesagt ist es auch
ein Hobby und da muss nicht jeder Cent umgedreht werden, geht da auch
immer etwas um den ideellen Wert... :))
Vielen Dank und Grüße!
Hallo Frank,
noch eine Frage (vielleicht kannst Du mir da helfen). Bei der Fülle der
billigst IP CAMS, gibt es da keinen Standard Chip der die Aufgabe CMOS /
CCD auf IP erledigt?
Kann mir fast nicht vorstellen dass jeder 08/15 China Hersteller hier
seine eigene Hardwaresuppe kocht?
Vielen Dank und Grüße!
Lion schrieb:> Hallo Frank,>> ein ST32F4 (so einen habe ich auf der Embedded World geschenkt bekommen)> hätte zum Beispiel ein sogenanntes DCMI (Digital Camera Interface). Beim> überfliegen ist das wohl eine parallele Datenschnittstelle.
Ja, das ist die alte, parallele Schnittstelle.
Dieser Chip wird normalerweise dafür nicht genommen, weil zuwenig
Rechenleistung. Der hat ja auch kein Gigabit Ethernet und wäre dafür
auch zu schwach. Also musst Du komprimieren, und das wird normalerweise
in Hardware gemacht.
Normalerweise ist in den Kameras irgendwas Richtung ARM9/11/Cortex A
drin, mit einem kleinen Linux, Webserver etc.
Ein anderer Weg ist GigE Vision. Da werden die Bilddaten unkomprimiert
über Gigabit Ethernet und UDP geblasen. So kann man die kritischen
Sachen gut in einem FPGA implementieren.
https://de.wikipedia.org/wiki/GigE_Vision
fchk
Der Prozessor des Rpi ist genau sowas, der hat eine CSI-Schnittstelle
(Camera Serial Interface). Da hängst du eine PiCam dran und kannst das
ganze in unter einer Stunde am laufen haben. Das läuft dann auch
flüssiger als eine USB cam, die man auch anhängen könnte. Wobei auch das
funktionieren dürfte.es gibt reichlich linux software dafür.
Alles andere würde nur einem lerneffekt dienen, wobei ich bei deiner
frage zweifel habe, ob dein grundlagenwissen ausreicht, so ein projekt
auch bis zum ende durchzuziehen.
ich hätte da keine lust drauf ;)