Hi Hat von euch schon mal einer die Cam von Ulrich Radig angeschlossen und die Bilder im JPG Format auf MMC/SD – Karte gespeichert? Ich wollte so was mal in angriff nehmen nur leider fehlen mir dazu die nötigen Ansätze. Für die Speicherrung auf MMC/SD – Karte habe ich überlegt die Lib. von Stefan Seegel zu nehmen (Beitrag "MMC/SD Karte: mmc_lib Version 2.0"). Als Cam wollte ich die DC3840 nehmen. Jetzt ist nur die frage wie bekomme ich Daten auf die MMC/SD – Karte als JPG gespeichert. Für den gesamten Aufbau wollte ich einen Atmega32 nehmen. Ich hoffe ihr könnt mir da ein wenig weiterhelfen. Gruß Simon
Als ersten Schritt solltest du dir vielleicht mal grob anschauen, wie JPEG funktioniert, und ggfs mal den Quelltext der Referenz-Implementierung ("jpeg6b") überfliegen. Vermutlich wird dir dabei die Lust auf "Jpeg komprimieren mit Atmega32" vergehen... Speicher lieber unkomprimierte BMPs oder GIFs mit fixer Palette. Das Umwandeln in JPG macht nachher ein PC ganz nebenbei ohne ins Schwitzen zu kommen.
@Ernst Alles unnötig, die Kamera liefert schon die Bilder als jpg. @Simon Mach dir einen Buffer von z.B. 512 oder 1024Byte und fülle diesen mit Daten von der Kamera. Diesen schreibst du dann in eine Datei. Die von dir angesprochene MMC Lib steuert allerdings nur die MMC/SD an. Das Dateisystem musst du selbst machen, oder die Daten Low Level auf die Karte speichern. Oder du nimmst z.B. dieses hier http://elm-chan.org/fsw/ff/00index_e.html dann kannst du die Daten einfach mit f_write(buffer, usw.) schreiben.
Ah Ok Aber wie verarbeite ich Daten die von Cam kommen. Die kommen zwar im JPG Format aber kann ich die dann einfach so in eine Datei schreiben? Gruß Simon
Ja, kannst du. Die Daten haben direkt schon den passenden jpeg Header usw. Wenn du die Datei als .jpg speicherst, kann die Datei am PC wie jede andere jpg Datei angezeigt werden. Das größte Problem dürfte sein, die Daten der Kamera in 512 oder 1024Byte große Happen zu zerlegen. Ein Bild ist je nach Auflösung und Komprimierung etwa 5-15kByte groß. Die Software von Ulrich Radig lässt die Kamera die Daten mehrmals senden, und empfängt nur jeweils den passenden Bereich. Das ist furchtbar ineffizient, aber bei nur so wenig RAM geht es nicht anders. Mit einem großen µC (dsPIC, M16C, ARM usw.), mit ausreichend RAM (>16kByte), kann man die Daten auch in einem Rutsch empfangen, und danach die Daten auf die Karte schreiben. Je nach Helligkeit kommt man damit auf etwa 0,3 bis >2Bilder pro Sekunde (bei maximaler Qualität, also entweder 320x240, min. Kompression, oder 640x480, mittlere Kompression). Mit einem mega32 würde ich aber eher etwas in Richtung 1-5s/Bild erwarten.
Du kannst dir ja den "alten" Webserver von Holger Buss ansehen. Der hatte das Speichern der Bilder auf SD-Karte mit der MCA25 gemacht. Kann man so ähnlich mit der DC3840 machen. http://www.mikrocontroller.com/de/webserver_software.php Gruß Gerd
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.