Ende der Sommerpause

Langsam geht die (nicht ausgerufene) Sommerpause zu Ende und hier im Blog werden voraussichtlich wieder ein paar mehr Artikel erscheinen. Doch zunächst gilt es, den riesigen Haufen gesammelte Eindrücke zu sortieren, Projektideen auszusieben und irgendwie eine Reihenfolge für die einzelnen Themen zu finden.

Auf der Ideenliste sind aktuell (noch):

  • mehr Flipdots
  • ein Lichtmalstab
  • eine Kühlschrankregelung mit FHEM Anbindung
  • das Balancecar
  • Umbau des Strandbeest-RC Codes auf Interrupt
  • eine neue Version der Wortuhr
  • neue Gedanken für den Hexapod
  • verschiedene Netzwerkthemen
  • etwas mehr Raspberry
  • und noch mehr Kleinkram

Und das reicht eigentlich locker bis nach 2018 :)

Hallo Kamera, hier Pi!

Nach dem erfolgreichen Versionscheck am Ende des letzten Artikels wird nun die Kamera via USB angeschlossen. Dann soll gphoto mal zeigen, ob es die neue Hardware am Pi erkennt.

gphoto2 --auto-detect

gphoto2 --auto-detectSiehe da, die Nikon meldet sich gleich auf Anhieb :-) Was nun? Ach so klar, ein Bild! Also flugs

gphoto2 --capture-image

gphoto2 --capture-image failHuch?!? Bisher lief alles so glatt und jetzt das? Da muss wohl mal Google bemüht werden. Resultat: Beim Anschließen wird die Speicherkarte in der Kamera von einem vorwitzigen Dienst als Datenträger erkannt. Den kann man entweder jedesmal deaktivieren „sudo killall gvfs-gphoto2-volume-monitor“ oder wie folgt dauerhaft mundtot machen:

volume monitor stoppennach einem Neustart mit „sudo reboot“ startet der nächste Versuch mit „gphoto2 –capture-image“:

gphoto2 --capture-imageUnd nun ist das erste Bild geschossen. Allerdings mit den aktuelle Kameraeinstellungen und das ist ja nicht unbedingt das Ziel. Mit

gphoto2 --get-config /...parameter.../...

lassen sich Einstellungen auslesen, mit

gphoto2 --set-config /...parameter.../...=[Wert]

können sie geschrieben werden. Beim Auslesen gibt es freundlicherweise noch ein paar Hinweise an die Hand, was die einzelnen Werte repräsentieren. Denn ISO100 setzt man nicht mit „set…=100“. Wäre ja auch zu leicht. Auslesen am Beispiel ISO:

gphoto2 get ISOSetzen eines neuen ISO Wertes mit:

gphoto2 set ISOSo weit, so gut. Leider sind die möglichen Parameter von Hersteller zu Hersteller und von Kamera zu Kamera unterschiedlich. Zum Glück kann man aber die Kamera fragen, auf was sie so hört:

gphoto2 --list-config

Heraus kommt eine lange Liste, die ich vorsorglich in einen eigenen Artikel ausgelagert habe. Bis zum nächsten Post schaue ich die mal durch und suche mir die wesentlichen Werte heraus ;-)

gphoto Settings für die Nikon D7000

Ausgelesen mit

gphoto2 --list-config

zeigen sich die Eigenschaften der angeschlossenen Kamera, die mit gphoto gelesen bzw. geschrieben werden können. Es folgt – der Vollständigkeit halber – eine längere Liste :)

Die wesenlichen Attribute werden an anderer Stelle in ihre Einzelteile zerlegt.
Weiterlesen

Installation von gphoto auf dem Pi

Nach dem der Start mit dem Raspberry Pi erfreulich glatt verlief, habe ich mir das nächste Teilprojekt vorgeknöpft: gphoto installieren, um meiner Kamera „hallo“ zu sagen. Leider ist es hier schon vorbei mit dem einfachen „apt-get install“, gphoto lädt man schön von Hand und muss dann noch ein wenig nacharbeiten. Zunächst werden aber einige grundlegede Dinge installiert:

sudo apt-get install -y libltdl-dev
sudo apt-get install -y libusb-dev
sudo apt-get install -y libexif-dev
sudo apt-get install -y libpopt-dev

Als ordnungsliebender Mensch :) habe ich dann für die anstehenden Downloads ein temporäres Verzeichnis angelegt:

mkdir gptemp
cd gptemp

Und dann gehts auch schon los. Zunächst mal die aktuelle Version der LibUBSx laden, bauen und installieren. Aktuell (10.02.2014) ist V1.0.11 und die gibts hier.

wget http://ftp.de.debian.org/debian/pool/main/libu/libusbx/libusbx_1.0.11.orig.tar.bz2
tar xjvf libusbx_1.0.11.orig.tar.bz2
cd libusbx-1.0.11/
./configure
make
sudo make install
cd ..

Als nächstes wird die aktuelle Version der libgphoto geladen, gebaut und installiert (das dauert und wirft eine Menge Warnungen). Aktuell (10.02.2014) ist V2.5.3.1.

wget http://downloads.sourceforge.net/project/gphoto/libgphoto/2.5.3/libgphoto2-2.5.3.tar.bz2
tar xjvf libgphoto2-2.5.3.tar.bz2
cd libgphoto2-2.5.3
./configure
make
sudo make install
cd ..

Ist das erledigt, kommt zum Schluss die aktuelle Version von gPhoto an die Reihe. Aktuell (10.02.2014) ist V2.5.3.

wget http://downloads.sourceforge.net/project/gphoto/gphoto/2.5.3/gphoto2-2.5.3.tar.gz
tar xjvf gphoto2-2.5.3.tar.gz
cd gphoto2-2.5.3
./configure
make
sudo make install
cd ..

Dann noch die Libs verlinken

sudo ldconfig

Und schon darf ausprobiert werden:

gphoto2 --version

gphoto2 --versionNach dem Spaß das Aufräumen nicht vergessen:

cd ..
rm -r gptemp

Oder mit der Brechstange bei schreibgeschützten Inhalten (Vorsicht!)

rm -rf gptemp

Und fertig :-)

Erste Schritte mit dem Pi

Raspberry PiMein Raspberry Pi mit Touchdisplay ist da – nun soll es auch losgehen. Um die Einstiegshürde niedrig zu halten (einer der Gründe, der mich in Richtung Kauf geschubbst hat) gibt es ein fertiges Betriebssystem Image, das schon auf das Display angepasst ist. Nach dem Herunterladen und auspacken liegt eine .img Datei auf der Platte. Dieses Image kann allerdings nicht wie bei einer virtuellen Maschine auf die Speicherkarte kopiert und gemounted werden. Vielmehr muss das enthaltene Datenträger Abbild mit einem geeigneten Tool auf die Speicherkarte geschrieben werden.

Ist das erledigt, kann die Speicherkarte in den Raspberry Pi eingesteckt werden und dann steht dem ersten Start nichts mehr im Wege. Ist ein Netzwerkkabel gesteckt, zieht sich der Rechnung via DHCP eine Adresse und zeigt diese freundlicherweise vor dem Login an. Im vorgefertigten Image sind noch ein paar Nettigkeiten konfiguriert, die man sonst von Hand erledigen müsste: Zum Beispiel das Filesystem auf die komplette SD-Kartengröße auszuweiten oder SSH direkt beim Booten mitzustarten.

Obwohl das Image gut ausgestattet ist, empfiehlt sich nach dem ersten Start eine Systemaktualisierung:

sudo apt-get update
sudo apt-get upgrade

Mit „startx“ wird die grafische Oberfläche geladen. Das kleine Display ist schon beeindruckend, aber eben auch klein. Solange man nicht speziell dafür angepasste Software startet, ist das Ganze noch ein wenig anstrengend einzurichten. Über das Netz kann man via Terminal unmittelbar auf den Pi zugreifen, für die grafische Oberfläche muss man noch ein entsprechendes Tool installieren. Meine Wahl fiel auf TightVNC, das gibt’s für alle möglichen Systeme.

sudo apt-get install tightvncserver
tightvncserver

Zeile 1 sorgt für den Download und die Installation, Zeile 2 startet den Dienst – allerdings nur bis zum nächsten Reboot. Da muss also noch ein wenig nachgebessert werden, denn jedesmal am Gerät die Remote Console zu starten um es anschließend aus der Ferne bedienen zu können, ist doch ein wenig sinnfrei.

Also mit dem Texteditor „nano“ ein Script geschrieben und anschließend entsprechend verdrahtet:

sudo nano /etc/init.d/tightvncserver

TightVNC Script

Speichern, berechtigen und Neustart. Ab sofort läuft der Tightvnc-Dienst ab dem Systemstart.

sudo chmod 755 /etc/init.d/tightvncserver
sudo update-rc.d tightvncserver defaults
sudo reboot

Damit kommen kommen wir zum Ende der ersten Basteltages :)

sudo shutdown -h 0

Neues Jahr, neuer Computer

Endlich gibt’s mal wieder einen neuen Rechner für den Maschinenpark. Er ist nur irgendwie etwas kleiner ausgefallen, als alle bisherigen Modelle. Kurz um: ich habe mir einen Raspberry Pi gekauft. Im Jahr 2007 habe ich schon einmal mit einem Einplatinencomputer experimentiert, der damals die Steuerung von Belichtungsreihen übernehmen sollte. Die Möglichkeiten waren seinerzeit begrenz, da die Kamera nur über den Fernauslöser-Eingang angesteuert werden konnte. Kurze Belichtungszeiten waren damit nicht genau zu bemessen und an die Steuerung von Blende, ISO usw. war gar nicht zu denken.

Mehrere Schubbser führten mich schließlich zum Kauf eines Raspberry Pi. Irgendwie unschlüssig zwischen Arduino und Raspberry Pi war ich im vergangenen Jahr auf der Maker Faire 2013 in Hannover. Dort habe ich bei Franzis eine Kamera gebaut und mit dem Eigenbau dann am Fotowettbewerb teilgenommen. Herausgekommen ist ein Buchpreis – insgesamt fünf Bücher rund um den Raspberry Pi. Ein erster Wink :)

Dennoch war mir die ganze Geschichte mit dem Linux (wenn auch vorgefertigt) noch nicht so ganz geheuer. Immer wenn man eine Sonderlocke dazu haben möchte, laden, maken usw.

Neulich bin ich dann bei Watterott über ein Touch Display gestolpert, das direkt für den Pi angepasst ist *und* mit einem fertig gebauten Image daher kommt. Sah interessant aus.

An anderer Stelle habe ich dann noch das gphoto Projekt entdeckt, mit dem sich scheinbar über USB fast alle Kameraparameter lesen und schreiben lassen sollen, und da war es dann um mich geschehen. Geordert habe ich einen Pi mit Netzwerkanschluss (Rev. B), Display und Gehäuse und eine extra Speicherkarte. Damit wird jetzt mal losgebastelt.