gPhoto2 Hilfe (offene Basic-Fragen)

  • Hallo,
    ich würde gern ein Projekt mit gPhoto2 aufbauen, scheitere jedoch schon an den Basics - weiss einfach nicht wo ich anfangen soll und ob mein Projekt überhaupt umgesetzt werden kann. Habe schon versucht, mich durch die Docs zu lesen, aber dort werden nirgends meine (noch offenen) Basic-Fragen beantwortet. :helpnew:
    Falls hier jemand bereits Erfahrung mit gPhoto2 (oder ähnlichem?) gesammelt hat, wäre ich für Hilfe sehr dankbar :)


    Also hier meine "Basic-Fragen":



    1.Ist es möglich, eine eigene Anwendung mit eigener GUI zu entwickeln, welche mittels gPhoto2 z.B. Fotos von der Kamera lädt oder die LiveView darstellt? Es soll also weder die GUI von gPhoto2, noch irgend welche Terminal-Befehle zu sehen sein. (oder benötige ich hierfür libgphoto2 ohne gPhoto2?!) :s


    2."Wie" bzw mit welcher Programmiersprache wird gPhoto2 entwickelt? Also mir ist klar dass es nur Kommandozeilen sind, aber wie kann ich diese einbinden - bzw. welche Programmiersprache wäre am besten geeignet um dies einzubinden und mit gPhoto2 zu arbeiten? Vermutlich Python?


    3.Welches OS wäre hierfür überhaupt das "perfekte" - Noobs, Raspbian, oder doch ein ganz anderes? Oder macht das für mein Vorhaben gar keinen Unterschied?




    Ich möchte eine recht simple Anwendung für den Raspberry Pi schreiben, welche Fotos von einer DSLR laden oder die LiveView der Kamera darstellen kann - jedoch mit komplett eigener GUI.
    Bin für jeden Ratschlag sehr dankbar! :helpnew:


    Vielen Dank im Voraus.

    • Official Post
    Quote from wikipedia

    libgphoto2
    ist eine portable Bibliothek, die den Kern der gPhoto2-Software enthält. Sie abstrahiert die Kamera-spezifischen Kommunikationsprotokolle und die benutzten Anschlüsse.
    gphoto2
    ist die Kommandozeilenschnittstelle zu libgphoto2, mit der nahezu jede Funktion von libgphoto2 benutzt werden kann.


    zu1) ja, das ist Möglich sowohl mit Direktzugriff auf die Bibliothek (z.B. per python Module) als auch mit dem Umweg über gphoto2.
    zu 2) :denker: Gphoto2 wurde in C geschrieben, warum du das wissen willst erschliesst sich mir nicht. Wenn du Wissen willst wie du externe Programme einbinden kannst, da hat jede sprache Ihre eigenen Wege (python z.B. per subprocess)
    zu 3). Ein aktuelle raspbian (ohne noobs und anderen schrott) reicht vollkommen aus


    Aber nun zum wichtigsten: Welche Sprache kannst du denn? Nach den Fragen die du stellst vermute ich mal "keine". Denn darauf baut jede weitere Hilfe auf.

    Der Unterschied zwischen Genie und Wahnsinn definiert sich im Erfolg.

    Edited once, last by dbv ().

  • Vielen Dank für deine ausführlichen Erklärungen dbv! :thumbs1:
    Habe aber zu deinen Antworten leider noch ein paar Unklarheiten und hoffe du könntest mir das auch noch kurz erklären? :s


    zu 1.) danke für den Tipp, werde mich da mal reinlesen, aber welche Variante würdest du mir empfehlen (Direktzugriff auf Bibliothek oder gPhoto2) und warum? Ich vermute mal die Bibliothek da wahrscheinlich schneller und besser anpassbar?


    zu 2.) Du hast recht, da hab ich mich wohl falsch ausgedrückt - es ging mir eher um die Einbindung in meine eigene Software.


    zu 3.) Das Thema OS ist bei mir immer noch ein riesiges Fragezeichen. Ich hätte ja am Ende des Projektes sowas wie ein Embedded-System, welches nach Out-Of-The-Box aussehen soll. Daher wäre es mir wichtig, die Bootzeit auf ca. 5-10 Sekunden zu reduzieren. Es gibt ja scheinbar die Möglichkeit mit Hilfe von "Buildroot" ein Linux für Raspberry Pi zu konfigurieren, welches innerhalb von 3 Sekunden bootet. Jedoch ist mir nicht ganz klar, welche Linux-Distribution ich dann hätte. Du hast mir ja Raspbian empfohlen - kann ich mit Buildroot eine Custom-Version von Raspbian erstellen die dann schnell bootet? Oder spielt es im Grunde gar keine große Rolle, welches Linux-System ich schlussendlich nutze, da es keinen großen Unterschied macht und die Software (in Python geschrieben) unter den meisten Linux-Systemen ohne Anpassungen laufen würde? Bin leider noch ein Newbie was das Thema Linux-Distributionen angeht.


    Um deine Abschließende Frage noch zu beantworten bzgl. meinen Kenntnissen. Ich behersche tatsächlich einige Programmiersprachen so wie ca. 5-6 Jahre Erfahrung - jedoch bisher nur in der Windows & Web - Welt. Habe früher ca. 3 Jahre hauptsächlich C# .NET (Windows) entwickelt, und entwickle seit ca. 2-3 Jahren hauptsächlich im Web (HTML, PHP, CSS, etwas Javascript). Somit sind die Themen Linux & Python für mich leider noch komplettes Neuland, was sich jedoch bald ändern soll :D


    Bin sehr dankbar für jegliche Hilfe hier im Forum! :thumbs1: :danke_ATDE:

  • Nach dem ich nun fast einen Monat später, den Raspberry mit gPhoto2 und libgphoto zum Laufen bekommen habe, ist nun eine neue Frage aufgetaucht.
    Wenn ich meine DSLR (Canon EOS 1100D) anschließe, und irgend eine Aktion mit gPhoto2 ausführe (zum Beispiel den Batteriestatus der Kamera auslesen), dann schaltet die Kamera automatisch in einen anderen Modus. In diesem Modus kann ich den LiveView der Kamera nicht mehr aktivieren und auch keine neuen Fotos machen. Erst wenn ich das USB-Kabel entferne oder die Kamera neustarte, kann ich wieder neue Fotos mit der Kamera machen.


    Gibt es irgend eine Möglichkeit, um auf die Kamera zuzugreifen (z.B. Batteriestatus auslesen, Bilder von DSLR auf Raspberry kopieren) OHNE die Funktionen der Kamera selbst zu unterbrechen? Sozusagen die Kamera ganz normal arbeiten lassen, und mit dem Raspberry "nebenher" Aktionen ausführen?
    Ist sowas irgend wie möglich?