Hi Leute, für mein Mäuseprojekt (Beitrag "Projekt Maus") suche ich eine möglichst günstige µC-Camera-Kombination im einstelligen EURO-Bereich. Für den Fall, daß die Mäusefalle auslöst, sollen damit Bilder der gefangenen Maus gemacht werden, die an den/die glückliche(n) Besitzer(in) der Falle gesendet werden ... (Wobei ich den Sende-Part bereits gelöst habe) Die Anforderungen wären: - gut erkennbare Bilder (640x480 sollten reichen) - s/w reicht, bunt ist natürlich schöner - Beleuchtung erfolgt durch LED-Flash - Kamera sollte in einem Bereich von ca. 5-30 cm halbwegs scharf sein - Ausgabeleitungen/Protokoll sollte noch halbwegs handelbar sein - Einzelbilder reichen (kein Streaming oder Film nötig) - Bild kann ruhig mehrere Minute zur Verarbeitung benötigen - kein Problem Wäre toll, wenn Ihr ein paar Ideen / Erfahrungen dazu habt, die Ihr beisteuern möchtet. Ich bin eimal sehr gespannt. Viele Grüße Igel1
:
Bearbeitet durch User
Such mal auf aliexpress.com nach "camera module", sortiert nach Preis. Da gibt es dann die USB Endoscope Module, vom USB-Protokoll her dürfte das HID sein, also sollte man das auch auf einem uC mit USB Master mit überschaubaren Aufwand programmieren können. Die Preise sind ja meist Endkundenpreise inkl. Versand. Bei Stückzahl sollte da noch was gehen.
Es gibt Kamera-Module für Arduino (sind auch an anderen MC verwendbar), die liefern über eine serielle Schnittstelle (RS232 - TTL) Bilddaten im JPEG-Format - einfacher gehts kaum noch ... Beispiel: http://www.ebay.de/itm/VC0706-5V-JPEG-Camera-Module-TTL-UART-level-NTSC-For-AVR-STM32-Arduino-Adafruit-/191526916051?hash=item2c97e4cfd3:m:mmnenRErMAJqloI-Xy1-1DA
Der OV7670 mit AL422-FIFO ist da sehr beliebt, sollte sich mit STM32-µC auslesen lassen. Wenn 320x240 Pixel reichen, passt das sogar in ein SPI-RAM, das ginge dann sogar ohne FIFO. Bitte sehr, einstelliger Euro-Betrag: http://www.aliexpress.com/item/1PCS-640x480-VGA-OV7670-FIFO-CMOS-Camera-Module-Buffer-AL422B-SCCB-I2C/32346768651.html Ohne FIFO, 4€: http://www.aliexpress.com/item/with-FIFO-CMOS-Camera-Module-OV7670-Sensor-Module-Microcontroller-Collection-Module/32367040588.html
Harald A. schrieb: > Da gibt es dann die USB Endoscope Module, vom USB-Protokoll her dürfte > das HID sein HID? Halte ich bei einer Videokamera für ausgesprochen unwahrscheinlich.
:
Bearbeitet durch User
Yep, haste Recht - war nur meine ursprüngliche Vermutung, da man solche Produkte meist ohne jegliche Treiberinstallation unter Windows zum Leben erwecken kann. Ist das UVC Profil auch generisch in Windows enthalten?
Konnte es gerade selber sehen, UVC ist seit Win XP SP2 drin. Hat sich mit den anderen Vorschlägen vermutlich eh erübrigt.
Davon gehe ich aus. Video wird aber gar nicht gefordert: Andreas S. schrieb: > - Einzelbilder reichen (kein Streaming oder Film nötig)
Harald A. schrieb: > Such mal auf aliexpress.com nach "camera module", > sortiert nach Preis. Da gibt es dann die USB Endoscope Module Toller Tipp. Der Preis und Funktionsumfang passen optimal, allerdings fand ich null Doku. Und ohne Doku traue ich mich einfach nicht an so etwas ran ... Das Reverse Engineering könnte mich Monate kostbarer Freizeit kosten. Was das HID-Protokoll angeht, so stimme ich leider Rufus Τ. Firefly zu: es ist sehr unwahrscheinlich, daß dieses Protokoll dort zum Einsatz kommt - die USB-Specs kennen neben der Device Class "HID" nämlich auch eine Device Class "Video" ... Sollte jemand Hinweise haben, wie man den Bilddatenstrom ausgelesen bekommt - nur zu. Grundkenntnisse von USB habe ich (das Buch von Jan Axelson ebenfalls) und einen USB-Analyzer habe ich sogar auch. Frank Esselbach schrieb: > Es gibt Kamera-Module für Arduino (sind auch an anderen MC verwendbar), > die liefern über eine serielle Schnittstelle (RS232 - TTL) Bilddaten im > JPEG-Format - einfacher gehts kaum noch ... Ja - das wäre natürlich die Non-Plus-Ultra-Easy-Quick-Lösung. Allerdings lautete eine meiner Anforderungen "... suche ich eine möglichst günstige µC-Camera-Kombination im einstelligen EURO-Bereich." Und die genannte Kamera hängt leider um den Faktor 4 über dieser Anforderung. Trotzdem danke für den Tipp und die Mühe Deiner Antwort. Dirk K. schrieb: > Der OV7670 mit AL422-FIFO ist da sehr beliebt, > sollte sich mit STM32-µC auslesen lassen. Yep - dieses Modul war mir im Vorfeld bei den Recherchen auch schon aufgefallen. Klingt sehr interessant - aktuell ist dies mein Favorit, wenn sich hier in diesem Thread nichts anderes ergibt. So richtig preiswert ist natürlich nur die Non-FiFo-Version. Ob ich die mit einem ESP8266 (der sowieso schon in der Mäusefalle zum Einsatz kommt) schnell genug ausgelesen bekomme, und wo ich dann die Daten so fix zwischengespeichert bekomme - das alles muß ich allerdings erst noch recherchieren. Harald (vermutlich identisch mit Harald A.) schrieb: > Konnte es gerade selber sehen, UVC ist seit Win XP SP2 drin. > Hat sich mit den anderen Vorschlägen vermutlich eh erübrigt. Ah - Du kommst zum selben Ergebnis wie ich oben. Allerdings bringst Du mich mit Deinem dritten Posting auf eine Idee: Wenn diese Endoskop-Cameras ohne eigenen Treiber auskommen, so muß der Datenstrom der UVC-Norm entsprechen. Und auch wenn ich bislang nichts mit UVC gemacht habe, so sollte ich früher oder später über diesen Weg an die Bilder drankommen, korrekt? Allerdings dürfte der Weg dahin für mich als Hobby-Bastler ziemlich weit sein ... Rufus Τ. Firefly schrieb: > Video wird aber gar nicht gefordert: Stimmt Rufus, aber aus dem Video sollte ich auch ein paar Einzelbilder extrahieren können, oder? Der Knaller wäre natürlich wenn ich sogar das Video über mein ESP8266 ins Internet streamen könnte - aber dafür wird die Rechenleistung dieses Zwergs wohl kaum reichen. Danke an Euch alle für Eure Beiträge. Wer noch weitere Ideen hat: nur zu - ich bin sehr gespannt. Viele Grüße Igel1
:
Bearbeitet durch User
Andreas S. schrieb: > aber aus dem Video sollte ich auch ein paar > Einzelbilder extrahieren können, oder? Der Aufwand, den Du da treiben musst, ist aber erheblich - immerhin musst Du den Videostrom decodieren, was je nach Format wenig bis ganz wenig einfach ist. Am besten dürftest Du mit einem Kamerasensor bedient sein, der direkt jpg-Daten erzeugt. Mit denen musst Du dann gar nichts mehr machen, außer sie an die Mausefallenbesitzerin zu senden. Aber vielleicht bist Du hiermit ja auch schon bedient: http://www.pollin.de/shop/dt/Mjk3OTE0OTk- Das ist ein RGB-Sensor mit VGA-Auflösung, der auch Einzelbilder erfassen kann. Trivial ist die Ansteuerung nicht; per I2C wird dem Ding mitgeteilt, was es machen soll, und über ein 10 Bit breites Parallelinterface gibt es die Bilddaten in unkomprimierter Form aus. Ein "de-bayering" sowie eine etwaige Kompression der Daten in jpg musst Du also selbst umsetzen. Und die Daten kommen mit recht hoher Geschwindigkeit, aus einem Referenztakt, der zwischen 3 und 30 MHz liegen muss, wird mit einem programmierbaren Teiler (/1, /2, /4 oder /8) ein Pixeltakt von laut Datenblatt mindestens 2 MHz erzeugt. Das lässt sich mit einfachem Port-I/O eines µCs kaum handhaben. Hmm. Der Aufwand ist auch hier erheblich. Aber dafür kost' das Ding nicht viel.
Laut Wikipedia ist UVC nicht auf Video festgenagelt und kann auch Enzelbilder. Das würde auch den typischen Applikationen entsprechen, die USB Mikroskopen und Endoskop Kameras "beigelegt" sind. Vielleicht gibt es sogar OpenSource Treiber, diese Art von Kameras kann man meist überall ohne Bindung an das eigentliche Originalprogramm einbinden.
>Harald (vermutlich identisch mit Harald A.)
Yep, in diesem Fall ja, bin auf dem Telefon nicht angemeldet...
Eine Idee noch: Beschaffe doch mal so ein Ding und versuche das unter einer Linux Distribution zum Laufen zu bekommen. Dort ist die Wahrscheinlichkeit auf zugänglichen Source natürlich sehr hoch.
Das Pollin-Ding ist also quasi wie ein OV7670 ohne FIFO, mit all den Problemen, die sich daraus ergeben. De-Bayer kann man per I2C gleich mitgeben; bis 320x240 Pixel in <16 Bit reagiert man dann auf die Flanken VSYNC/HSYNC und liest die anliegenden Daten auf den acht Datenleitungen aus und kann sie per SPI in zB einen 128kByte SPI-RAM schreiben. Die FIFO-Version hat den Vorteil, dass man selber das Signal zum Auslesen setzt und dadurch das Timing entspannter ist. Dadurch kann man dann zwischen mehreren SPI_RAM-Modulen umschalten, ohne Pixel zu verlieren. "Treiber" gibt es für STM32 bereits vorgefertigt, man benötigt eigentlich nur die Klasse, die alle Register aus dem Datenblatt umsetzt, sodass man das Modul per I2C aufsetzt und dann einfach auslesen kann. http://embeddedprogrammer.blogspot.de/2012/07/hacking-ov7670-camera-module-sccb-cheat.html Die reinen I2C-Module, die JPG übermitteln, machen auch nur 320x240 Pixel Auflösung und sind in der Datenübertragung sehr langsam; die benötigen mehrere Sekunden für ein einziges Bild.
@Rufus: Interessanter Hinweis auf das Pollin-Teil. Als ich dem etwas näher nachgegangen bin, stieß ich auf einen Thread, in dem sich lauter Jungs mit doppelt so viel Zeit und Ahnung wie ich herumtrieben und es trotzdem nicht hinbekommen haben - oh weh ... Ich muß gestehen: es würde mich schon reizen, aber ich muß auch realistisch sein: Einzig ein Forenteilnehmer, der in seiner Diplom- arbeit das Dingen per FPGA ausgelesen hat, hat's (auch nur halbwegs) hinbekommen. @Harald & Dirk: Es wird vermutlich dann doch auf die OV7670 rauslaufen. Mit so etwas hätte ich vermutlich dieselben Probleme, wie mit der Endoscope-Camera, gelle? http://www.ebay.de/itm/252093288780 Viele Grüße Igel1
Letztlich steht und fällt die Chose mit dem µC, mit dem Du die Angelegenheit aufbauen möchtest. Wenn so etwas wie ein Raspberry Pi (incl. des darauf laufenden Linux) in Frage kommt, dann bieten sich natürlich USB-Webcams an (die gibts bei Pollin auch für einstellige Euro-Beträge), wenn es aber nur ein 8-Bit-AVR ist, verbietet es sich gänzlich, über USB auch nur nachzudenken.
Versuche es doch mal mit einer GameBoy Cam :-)
Ich hatte sowas schonmal angedacht: OV7670 braucht nur(einmalig)SCCB-init und einen XCLK. Die Datenausgänge auf mcp23s17 o.ä. mit HWSPI auf esp8266; esp-Server Beispiele gibts ..
@e-d:
Klingt superinteressant.
Geht das dann ohne FiFo im OV7670?
Könntest Du Deine Idee noch etwas näher und detaillierter ausführen?
Bitte so erklären, daß auch jemand mit OV7670- und ESP-Halbwissen
versteht, worum es geht.
> esp-Server Beispiele gibts ..
Könntest Du netterweise Links darauf hier einstellen?
Rueckfrage schrieb: > Geht das dann ohne FiFo im OV7670? (In dieser Schaltung wird der 74LVC254 durch den MCP23S17 ersetzt!) Der *254 soll als "Zwischenspeicher" die 8-bit Daten nur bei anliegendem Href-Signal im Pixeltakt an das LCD senden(bzw. über SD-Webserver streamen). Ich verwende z.Z. ein SPI-TFT: http://www.ebay.com/itm/311058563993 Die SCCB und OV7670 init sind im *.7z Hauptproblem ist die Bereitstellung von XCK aus dem ESP07/12 o.ä.; p.s.: Ich habe meinen alten Rechner reaktiviert, um wenigstens etwas an Daten zu finden...
@e-d: > Ich habe meinen alten Rechner reaktiviert, um wenigstens etwas > an Daten zu finden... Vielen Dank für die Mühen - Dank Bildchen und Erklärung habe ich nun schon deutlich mehr verstanden. Trotzdem reicht's noch nicht 100%ig: - Was meinst Du in Deinem Text mit "SD-Webserver"? - Was genau macht der "&"-Baustein rechts in der Skizze? Hattest Du das Ganze damals auch in die Realität umgesetzt? Will sagen: funktionierte die Schaltung? Und existiert sie vielleicht sogar noch? Viele Grüße Igel1
- schon sehr lange her: http://de.images.search.yahoo.com/yhs/search;_ylt=A7x9UkyS5jFWDwoAhFUp4YlQ;_ylu=X3oDMTBsYWhiN2NvBHNlYwNzYwRjb2xvA2lyMgR2dGlkAw--?_adv_prop=image&fr=yhse-avg-1&va=AVR+Camera&hspart=avg&hsimp=yhse-1 Andreas S. schrieb: > - Was meinst Du in Deinem Text mit "SD-Webserver"? Ist ein Teil hiervon: http://www.esp8266.com/viewtopic.php?f=29&t=6069&sid=d52744b4d942a33f95693f5c32afa501#p31719 Andreas S. schrieb: > - Was genau macht der "&"-Baustein rechts in der Skizze? Der XCK wird vom Quarz des *mega abgegriffen, negiert(genormt) und als XCLK der Cam zugeführt. Das von der Cam kommende Pixelclock und Href wird mit dem "write" Signal "verundet", welches der *mega in der Interupschleife durch Vsyn erzeugt. Etwas umständlich erklärt, -aber klappt! Anbei noch die Projekte( die ich nach selber Machart) für stm32f103/207(407) ausprobiert hatte .. p.s.: obwohl stark komprimiert, dennoch sehr groß!
die forunmssuche nach ov7670 ergibt u.a. Beitrag "DMA-Datentransfer OV7670 -> ARM-MCU" ,QVGA mit AVR. Für den ov7670 gibt es brauchbare tutorials, z.B.: http://embeddedprogrammer.blogspot.de/2012/07/hacking-ov7670-camera-module-sccb-cheat.html
@e-d:
Vielen Dank für die Mühen!
Dann werde ich vermutlich demnächst einmal versuchen, in Deine OV7670
Fußstapfen zu treten (wenn die Stiefel mir nicht zu groß sind).
Das SPI-Display habe ich direkt bestellt - erstaunliches
Preis-Leistungs-
verhältnis.
@Grundschüler
> Für den ov7670 gibt es brauchbare tutorials
Genau, das macht ihn so interessant für mich.
:
Bearbeitet durch User
Nicht's zu danken! Übrigens war nicht ich der "pathfinder", sondern GUANFU_WANG@126.COM. e-d schrieb: > Hauptproblem ist die Bereitstellung von XCK aus dem ESP07/12 o.ä.; -bei der Suche hat sich für mich auch ein neuer Aspekt ergeben(s.pic) ..
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.