Kurz notiert: Fonts für’s Web

Immer mal wieder kommt man aus Designgründen auf die wirklich unbequeme Idee, keinen Standardfont für das eigene Website-Design zu verwenden.
Nicht immer hat man jedoch den entsprechenden Font in allen möglichen Dateiformaten vorhanden und noch viel weniger will man sich damit beschäftigen, wie man diese verschiedenen Files jetzt in den eigenen Code implementiert, um, ohne dass die Browser irgendwelche Fehler werfen, in allen Browsern das selbe Look-and-Feel zu erzeugen. Dafür gibt es glücklicherweise eine einfache Lösung. Unter http://www.fontsquirrel.com/tools/webfont-generator muss man nur kurz das eigene Fontfile hochladen und erhält ein Archiv, dass den konvertierten Font, eine einzubauende css-Datei sowie eine Anleitung enthält. Einfach traumhaft :D

Bitcoin – Erste Erfahrungen

Auf dem Weg zur ersten Bitcoin sollte man sich über verschiedenste Punkte Gedanken machen:

1. Warum will ich Bitcoins besitzen?

Diese Frage ist äußerst wichtig. Denn wenn man darauf setzt, mit Bitcoins reich zu werden, muss ich vermutlich hier bereits enttäuschen. Ja die Währung Bitcoin ist immer noch äußerst volatil, aber große Sprünge kann man damit nicht machen. Ich besitze nun seit einigen Wochen mal mehr, mal weniger Bitcoins. Die täglichen Kursschwankungen ließen sich zwar grundsätzlich, wenn man auf einem Marktplatz mit sofortigem Handel unterwegs ist, ausnutzen, jedoch werden die entsprechenden Gewinne häufig durch Transaktionsgebühren gemildert. So betragen die maximalen Schwankungen an einem Tag (meiner Erfahrung nach) höchstens etwa 10€. Bei einem Kurs von derzeit 320€ sind da etwa 3% Gewinn, wobei die Transaktionsgebühren bei den von mir betrachteten Märkten (s.u.) bei derzeit 0,5% liegt. Natürlich sind 2% Tagesgewinn viel, aber man muss sich auch immer darüber im klaren sein, dass etwaige Gewinne möglicherweise versteuert werden müssen und natürlich immer mit hohen Risiken verbunden sind.

Warum will man also sonst Bitcoins besitzen?
Aus Spaß an der Technik. Aus Idealismus. Die Gründe sind Mannigfaltig. Über die verschiedenen Gründe werden wir in den nächsten Wochen noch reden schreiben.

Ich begann diesen Artikel am 13. Mai 2014. Seitdem hat sich viel geändert. Der Kurs sprang von damals 320€ zunächst ohne erkennbaren Grund auf etwa 500€. Trotzdem ich jeden Tag die Nachrichten durchsuchte, fand ich keine Antwort darauf, warum der Kurs sich so verhielt. Erst nach etwa einer Woche setzte sich die Erkenntnis durch, dass durch die vielen positiven Signale einer Bitcoin-Konferenz Anleger in ihrer Einschätzung der Bitcoin nach oben gingen. Seit diesem Kursanstieg ist der Kurs zwischenzeitlich wegen der Versteigerung des von Silkroad beschlagnahmten Kapitals von etwa 30 000 Bitcoins auf etwa 420€ gefallen und wieder auf eine Höhe von etwa 420€ gestiegen. Da wäre Potential für große Gewinne gewesen. Und ähnliche Instabilitäten wird es vermutlich auch in Zukunft immer wieder geben.

2. Woher bekomme ich Bitcoin?

Ich persönlich habe mich bei zwei Marktplätzen registriert: Bitcoin.de(Affiliate Link) und Bitstamp. Beide haben dabei verschiedene Vor- und Nachteile und bei beiden muss man seine Identität beweisen, wenn man ein gewisses Handelsvolumen übersteigt, um Betrug und Geldwäsche vorzubeugen.

Bitcoin.de
Bitcoin.de ist nur eine Vermittlung zwischen Handelspartnern. Das bedeutet, man registriert hier ein Bankkonto und authentifiziert dieses. Nun kann man Bitcoins auf sein Benutzerkonto einzahlen. Man kann nun seine Bitcoins zum Verkauf anbieten und feinkörnige Einstellungen, wie etwa die Mindestmenge, den Preis und die Geltungsdauer des Angebots, vornehmen. Kauft nun jemand Bitcoin bei mir, muss wird ihm meine Kontoverbindung offen gelegt und er muss innerhalb einer Stunde die Überweisung direkt auf mein Konto anweisen. Sobald ich das Geld erhalten habe, kann ich den erfolgreichen Kauf bestätigen und die Bitcoin werden von meinem Benutzerkonto auf sein Benutzerkonto gutgeschrieben. Dies hat den Vorteil, dass der Bitcoin.de selbst niemals die großen Geldmengen auf ihren Konten verwalten muss und kann. Dadurch fühle ich mich sicherer, weil ich Bitcoin.de nicht mein gesamtes Geld ausliefere. Der große Nachteil dabei ist aber, dass durch die langen Überweisungszeiten, die Banken zum Teil veranschlagen, der Kauf von Bitcoins mitunter eine halbe Woche und länger dauert. Bei diesem Problem wird aber Abhilfe dadurch geschafft, dass man beim Kauf bereits angeben kann, dass man nur mit Händlern, die bei der selben Bank ansässig sind, handeln möchte. Dies erhöht zum Teil die Preise massiv, aber dafür ist das Geld in der Regel instantan beim Empfänger. Danach muss man nur noch auf die entsprechende Bestätigung warten. Außerdem hat die Firma, die Bitcoin.de zu verantworten hat, eine Kooperation mit der Fidor Bank , bei der unterdessen ein Großteil der Kunden angemeldet ist, was wiederum zu den schnellen Überweisungszeiten führt. Ein zusätzlicher Faktor, der mein Sicherheitsgefühl bestärkt, ist der Umstand, dass beide in Deutschland ansässig sind und damit den deutschen Regulierungsbehörden und Gesetzen unterliegen. Zudem kann man bei Käufen das Vertrauenslevel bestimmen, das man mit einbeziehen möchte, wenn man ganz sicher gehen will, dass es sich beim anderen Handelspartner nicht um einen Trickbetrüger handelt. Dieses Vertrauenslevel steigt mit der Menge an gehandelten Bitcoins. Ich persönlich hatte aber auf Bitcoin.de nie Probleme, egal welches Vertrauenslevel meine Handelspartner hatten.

Bitstamp
Bitstamp hat seinen Sitz in Großbritannien. Auch hier muss man sich zunächst authentifizieren. Im Gegensatz zu Bitcoin.de muss man hier aber sowohl Geld als auch Bitcoin deponieren, wenn man handeln möchte. Hier findet realtimetrading statt, was bedeutet, dass ohne jegliche Verzögerung gehandelt wird (Für den schnellen Gewinn mit Sicherheit die bessere Variante). Dafür findet jeder Handel in US-Dollar statt.

3. Was mache ich jetzt mit meinen Bitcoin?
Einfaches Handeln mit Bitcoins ist schon lagen nicht mehr Alles, was geht. So finden sich Beispielsweise im Bitcoinkiez diverse Geschäfte, die bereits Bitcoin als reguläres Zahlungsmittel akzeptieren. Ich persönlich war schon im Room 77, einer ziemlich coolen Burgerbude, Burger essen und habe hinterher mit Bitcoins gezahlt.

Falls man Bitcoin jedoch lediglich als Wertanlage sieht, ein wenig mehr Risiko aber nicht scheut, kann man mal bei CEX.io(Affiliate Link) vorbeischauen. Dort kann man mit Bitcoins GHashes kaufen. Das ist eine Einheit für die Hashrate, also die Rechenleistung, mit der man neue Bitcoins generiert. Der Kurs für eben jene Rechenleistung ist im Moment zudem sehr gering. Sodass sich der Einstieg möglicherweise lohnt. Ich persönlich habe in den vergangen zwei Monaten damit etwa 7 Bitcoins Gewinn gemacht.

Fazit
Bitcoins sind eine extrem spannende Sache. Ob nun der Spekulant oder der Technikinteressierte in euch geweckt ist, oder nicht. In jedem Fall wird Bitcoin auch in Zukunft noch eine spannende Sache bleiben und für große Gewinne bzw. Verluste gut sein.

Review: Raspberry PI und Camera Modul

Freundlicherweise wurde uns von Farnell ein Raspberry Pi Rev. B mit samt einer 8GB-SD-Karte zur Verfügung gestellt. Dazu verwende ich für diesen Artikel das RPI (Raspberry Pi) Kameramodul “RPI Noir Camera Board”, das ebenfalls bei Farnell erhältlich ist.

Erste Installation

“Screenshot” im wahrsten Sinne des Wortes von der Installation des Raspberry Pi mittels des NOOBS Images

Die mitgelieferte SD-Karte war bereits mit dem sogenannten NOOBS-Image ausgestattet. Dies hat besonders für Einsteiger den Vorteil, dass man sich um so gut wie nichts kümmern muss. Falls man das selbst machen möchte, wählt man, je nach Anwendungszweck ein Image und spielt es auf eine entsprechende SD-Karte. Zunächst werden per USB Maus und Tastatur sowie per HDMI ein Monitor angeschlossen. Nun muss zunächst noch das Kameramodul angeschlossen werden. Dabei kann man getrost nach dem folgenden Video vorgehen:

Nach diesen Vorbereitungen steckt man nur noch ein entsprechendes Micro-USB-Kabel ein, das Wahlweise über den Computer oder einen Adapter, der Netzstrom auf einen USB kompatiblen 5V Gleichstrom umwandelt, an eine Steckdose an.

Ist dies geschafft bootet der Raspberry PI in das ausgewählte Image. Im Falle des Raspbian, das ich auch im oben gezeigten Screenshot installiert habe, bootet der Raspberry PI dann auch sofort in die Konfigurationsoberfläche. In dieser kann man so allerlei Einstellungen vornehmen, auf die möglicherweise noch in einem späteren Post noch weiter eingegangen wird. (Diese Oberfläche lässt sich zu einem späteren Zeitpunkt auch per Konsolenbefehl: sudo raspi-config wiederholt aufrufen.) In dieser Oberfläche lässt sich aber vor Allem auch das Kameramodul aktivieren. Außerdem habe ich bei mir in den Netzwerkeinstellungen SSH aktiviert und den Bootmodus auf die Konsolenausgabe eingestellt, da ich nicht plane, den Raspberry Pi über die grafische Benutzeroberfläche zu steuern (das setzt zusätzliche Leistung für andere Dinge zur Verfügung, da der Grafikstein keinen überflüssigen RAM verbraucht). Weitere Einstellungen, die möglicherweise praktisch sind, wären meiner Meinung nach: Eine Änderung des Rechnernamens im Netzwerk (Vorsicht, dieser wird erst nach einem Neustart verwendet). Außerdem plane ich dem Raspberry eine IPv6-Adresse zu geben, weshalb ich das Adminpasswort geändert habe (Dies empfiehlt sich ohnehin, wenn man nicht der einzige Mensch im Heimnetz ist). Nach dem All dies getan ist, kann man auch schon anfangen, die Kamera zu testen.

Bilder aufnehmen

Zunächst habe ich mittels
raspistill -o image.jpg
ein paar Bilder aufgenommen. Dazu muss ich sagen: Die Bilder zeigen eine ordentliche Qualität (immerhin hat Verfügt die Kamera über 2592×1944≈5 Megapixel). Dabei muss man aber natürlich beachten, dass die Bilder nicht alle Farben so wiedergeben, wie wir Menschen sie sehen. Dies liegt daran, dass ein Infrarotfilter fehlt. Dies sorgt dafür, dass die Kamera auch eben jene Infrarotstrahlung aufnimmt, die wir nicht sehen können aber durchaus von Fernbedienungen o.Ä. kennen. Diese Strahlung wird aber außerdem von warmen Dingen ausgestrahlt und stellt quasi die Verlängerung des sichtbaren Spektrums zu tieferen Rottönen dar. So scheint mein schwarzes T-Shirt in der Aufnahme Bordeauxrot. Durch diese Technik ließe sich prinzipiell auch eine Nachtaufnahme machen. Dabei bräuchte man eine Infrarotlichtquelle. Die davon bestrahlten Objekte würden für das menschliche Auge weiterhin dunkel scheinen, für die Kamera wären sie aber leicht sichtbar. Da ich derzeit noch nicht über eine derartige Lichtquelle verfüge (und durch andere Anschaffungen eine solche Lampe auch derzeit nicht in meinem Budget liegt), werde ich von Experimenten in dieser Richtung zu einem späteren Zeitpunkt berichten müssen. Weiter ist zu den Bildern zu sagen, dass brav alle interessanten Metadaten wie Blende, Belichtungszeit, Belichtungsprogramm usw. im File gespeichert werden.
Der oben angegebene Befehl ist zugegebener Maßen recht einfach. Man kann diesen durch einige Kommandozeilenparameter weiter modifizieren. Diese lassen sich, wie bei Unixprogrammen üblich durch raspistill --help abfragen. So lassen sich Encoding für andere Filetypen, Breite, Höhe o.Ä. einstellen. Außerdem kann man mit –demo einmal ohne Bilder aufzunehmen durch verschiedene Einstellungsmöglichkeiten durchgehen und sich ein Preview anzeigen lassen, oder auch timelapse-Aufnahmen oder einen Timer bis zur Aufnahme starten. Außerdem für den interessierten Laien von Interesse: Man kann auch an allen Einstellungen den Sensors drehen: Andere ISO oder Belichtungszeit gefällig? Auch der Weißabgleich, Farbsättigung oder Kontrast und etliche weitere Einstellungen vornehmen. Natürlich gibt es daher auch entsprechende Projekte, bei denen man seine eigene Digitalkamera mittels eines Raspberry bauen kann. Die Weiteren (durchaus zahlreichen) Projekte, die ich interessant fand und die im Zusammenhang mit der Kamera stehen, werde ich am Ende des Artikels verlinken.

Videos

Natürlich beherrscht die Kamera nicht nur stehende, sondern auch bewegte Bilder. Dabei können 1080p mit 30 FPS aufgenommen werden. Dies geschieht bspw. mit dem Befehl
raspivid -o video.h264 -t 50000 (Vorsicht die -t gibt die Aufnahmezeit in Millisekunden vor. Das Aufnahmen in FullHD wirklich schnell groß werden – die 50 Sekunden sind bereits 34,3MB groß – empfiehlt es sich, eine große SD-karte, oder ein externes Speichermedium zu verwenden.)
Das so entstehende File (video.h264) kann dann z.B. mittels des VLC wiedergegeben werden. Auch hier stimmt die Qualität. Außerdem können geringere Auflösung mit höheren Framerates (FPS) aufgenommen werden. So wird 720p mit bis zu 60 FPS aufgenommen und 480p kann sogar mit bis zu 90 FPS aufgenommen werden. Außerdem hat auch raspivid eine riesige Helppgage (aufzurufen wieder mittels raspivid –help), sodass man auch hier volle Kontrolle über alle wichtigen Einstellungen hat.
Möglicherweise auch interessant: Wenn man mittels raspistill eine Timelapse-Aufnahme macht, kann man die entsprechenden Bilder natürlich auch via ffmpeg zu einem Video zusammenfassen, sodass man eine wunderschöne Zeitrafferaufnahme erhält.

Der Raspberry Pi als IP-Webcam
Gerade im Zeitalter des Internets der Dinge möchte man möglicherweise auch mal vaus der Ferne nachschauen, was in der eigenen Wohnung (oder für wohlhabendere Zeitgenossen: auf dem eigenen Landsitz) vor sich geht. Um die Eignung des PIs für dieses Betätigungsfeld zu testen, bin ich den Anleitungen auf http://www.linux-projects.org/modules/sections/index.php?op=viewarticle&artid=16 gefolgt. Dabei bin ich der Anleitung 2. Motion, Anleitung 6 RTSP und Anleitung 7 FFMPEG Server und avconv gefolgt. Ich habe in allen drei Tests eine Auflösung von 640×480 verwendet. Grundsätzlich muss ich erstmal sagen, dass alle drei getesteten Möglichkeiten bei mir auf Anhieb geklappt haben. Allerdings bin ich bei keiner der Varianten auf mehr als 20 FPS gekommen. Die Variante mit Motion, bei der direkt per Browser auf den Raspberry Pi zugegriffen wird, hat dabei für zumindest 30 Minuten sehr gut funktioniert, das einzige Hindernis war, dass der Stream gefühlte 3 Sekunden hinterherhinkte. Um also am Telefon simultan Aufgaben zu geben, ist dieser Service eher ungeeignet. Außerdem ist der Service nach 30 Minuten vollständig abgestürzt.
Auch die Variante per RTSP hat gut funktioniert. Auch diese Variante ist nach etwa einer Stunde abgestürzt. Allerdings war die Verzögerung im Bereich des Erträglichen.
Die Variante per avconv und anderem Server hat für mich am besten funktioniert. Die Frameraten waren am stabilsten und das Programm lief immerhin 4,5 Stunden durch, ohne abzustürzen. Eine wirkliche Alternative zu “professionellen” IP-Webcams ist der Raspberry damit aber noch lange nicht.

Fazit
Für einen Gesamtpreis von weniger als 50€ bekommt man mit dem Raspberry PI und der Infrarotkamera auf jeden Fall ein interessantes Experimentierkit. Sobald ich über einen Infrarotstrahler verfüge, werde ich über eine etwaige Nachtsichtfunktion auch berichten. Ich würde in jedem Fall empfehlen, ein entsprechenden Gehäuse dazuzukaufen, weil es die Einzelteile schützt und gerade auf dem heimischen Schreibtisch tatsächlich immer viel schief gehen kann. Ansonsten muss ich besonders den Raspberry sehr empfehlen. Bei meinen Recherchen bin ich über viele interessante Projekte gestolpert. Außerdem ist die Community riesig, sodass sich der Raspberry hervorragend zum Experimentieren eignet. Auch die Vielzahl an Zusatzplatinen macht den Raspberry interessant. Durch viele kleine Programm kann der Raspberry außerdem ein billiger Computer im Wohnzimmer sein, um die heimische Filmdatenbank (oder Youtube) auf den Fernseher zu bringen. Auch Apples Airplay wurde bereits portiert. Die aktuelle Version, der Raspberry B+ verfügt außerdem über mehr GPIO Ports, sodass sich noch mehr Motoren und Sensoren ansprechen ließen. Außerdem verfügt er über mehr USB-Ports, sodass er sich auch mittels einiger USB_festplatten gut als Datenserver verwenden ließe. Alles in Allem lohnt es sich auf jeden Fall einen dieser Minicomputer sein Eigen zu nennen.

Links zu weiteren Projekten mit Kamera
Dashcam
Bewegungserkennnung zur Hausüberwachung

Links zu anderen interessanten Projekten
Haussteuerung (mit Siri)
Raspberry erkunden die Welt von oben – Pi in the Sky
Raspberry Pi und GPS
Sonstige deutschsprachige Anleitungen
Adafruit Learning System – Raspberry Pi
Raspberry Pi Webserver Cluster
Zapfmaster 2000