Kategorien
Technology

Arduino und ein 16×4 LCD

Heute habe ich im Keller meine Kartons durchgewühlt und ein altes 16×4 LCD von Displaytech ausgegraben. Ich war mir nicht sicher, ob es überhaupt noch funktioniert, aber wofür hab ich im Arduino Starter Kit ein Breadboard? Also, fix eine Steckerleiste ans Display gelötet und an den Arduino angeschlossen. 😉

Arduino liefert bereits eine LiquidCristal Library und damit ist das Display ruckzuck im Einsatz. Als Test habe ich ein einfaches Hello World aus den Arduino Beispielen genommen:

...
// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() {
  // set up the LCD's number of columns and rows:
  lcd.begin(16, 2);
  // Print a message to the LCD.
  lcd.print("hello, world!");
}
...

Hier ist das Ergebnis:

Arduino + 16x4 LCD
Kategorien
Technology

Erste Schritte mit dem Arduino

Unglaublich: Heute ist der Arduino Starter Kit schon angekommen! Ich hab mich natürlich gleich hingesetzt und das Teil ausprobiert. Hier sind ein paar Bilder:

Arduino ist angekommen
Das Arduino Starter Kit von Fritzing
Die Einzelteile des Arduino Starter Kit von Fritzing
Erste Schaltung mit Arduino: Blinklicht

Und damit es nicht zu einfach ist, hab ich das Potentiometer angeschlossen und dessen Wert für das Blinken benutzt. Und dann habe ich noch den Temperatursensor LM35 angeschlossen und mit Processing einen Graph meiner Zimmertemperatur erstellt.

Kategorien
Technology

Einrichtung eines eigenen Sync-Server für Firefox

Im Zuge meiner Rückeroberung des Internet habe ich mir heute einen eigenen Server zur Synchronisation von Firefox-Inhalten eingerichtet. Damit kann ich meine Einstellungen und Lesezeichen über verschiedene Rechner bzw. Installationen synchronisieren, ohne meine Daten aus der Hand zu geben.

Das ganze funktioniert leider nicht auf jedem beliebigen Webspace, aber zum Glück hab ich noch einen Sheevaplug im Abstellraum. Darauf ist das benötigte Python, der lighttpd Server und der Sync Server relativ problemlos eingerichtet.

Die genaue Installation ist hier sehr schön beschrieben. Mein Server läuft hinter einem lighttpd und auch die Konfiguration ist beschrieben. Ich will hier nur die Stolpersteine auflisten, die mich etwas aus der Bahn geworfen haben.

Als erstes wäre da die Installation per mercurial. Damit ist man immer auf dem neusten Stand, aber dafür schlug der Aufruf von make build bei mir fehl, weil ich bereits die Datei etc/sync.conf angepasst hatte. Also reverten und anschliessend die Konfiguration unter /etc/sync.conf ablegen. Danach hab ich die Datei development.ini kopiert und in production.ini umbenannt. Danach habe ich die Datei production.ini
editiert und folgendes eingetragen:

[server:main]
use = egg:Flup#fcgi_thread
host = 0.0.0.0
port = 5000
use_threadpool = True
threadpool_workers = 60
[app:main]
use = egg:SyncServer
configuration = file:///etc/sync.conf

Damit lädt mein Server jetzt die richtige Konfiguration, die ich verändern und trotzdem den Server irgendwann mittels mercurial aktualisieren kann. Den Server starte ich jetzt mit diesem Kommando:

cd /opt/server-full
./bin/paster serve production.ini --daemon

Danach hab ich erstmal probiert, ob der Server unter der URL http://MEINSERVER/MEINKONTEXT/user/1.0/a eine Null oder Eins ausgibt. Ist das der Fall, ist der Server erreichbar.

Anschliessend hab ich den Sync in Firefox eingerichtet – d.h. ich wollte den Sync einrichten. Als erstes hat mir Firefox nämlich “Please enter a valid server URL” mitgeteilt. Ich hab dann verwirrt rumprobiert, ein wenig im Internet gesucht und gelesen, mehrmals die URL geändert und irgendwann ging’s dann… ☹

Wie auch immer, der Server läuft, ist von draussen erreichbar und ich werde jetzt erstmal meinen Google Chrome zur Seite legen und Firefox benutzen.

Kategorien
Technology

Neues Projekt: Arduino

Ich hab ein wenig gestöbert, was man im Moment alles mit den Arduinos machen kann. Nach einer Weile hab ich mehrere Projekte gefunden, die sich mit dem Aufbau eines Herzfrequenzmonitor beschäftigen. Das interessiert mich natürlich und ich hab auch schon ein paar kommerzielle Projekte im Netz beobachtet. Ich wollte schon immer einen permanenten Monitor tragen, um meine Herzfrequenz während des Trainings oder über einen ganzen Tag zu beobachten und mit meinen Daten aus Fitbit zu vergleichen.

Das erste Projekt ist PulseSensor. Das Prinzip ist relativ einfach: Ein Licht wird durch den Finger geschickt und wieder aufgezeichnet. Eine Software wertet dann die Änderungen aus und erkennt daraus die Herzfrequenz. Eine schöne Beschreibung des Prinzips findet man im Blog des Projekts. Ich nutze auf meinem Android schon die App runtastic heart rate pro, die nach dem gleichen Prinzip arbeitet – aberan kann sie nicht während des Sports nutzen.

Jetzt habe ich mir also kurz entschlossen einen Arduino Starter Kit bei fritzing bestellt und werde meine eingerosteten Hardware-Kenntnisse damit auffrischen. Wenn ich dann mit ein paar simplen Projekten zur Eingewöhnung fertig bin, werde ich mir den PulseSensor beschaffen und damit einen batteriebetriebenen Arduino zur kontinuierlichen Aufzeichnung meiner Herzfrequenz basteln. Das ganze soll relativ einfach werden: Pulse Sensor ans Ohr klippen, Arduino plus Batterie an die Hüfte klipsen und einschalten. Der Arduino soll dann die Herzfrequenz aufzeichnen und abspeichern (erstmal ins Flash, später vielleicht in den OpenLog?) und ich will die Daten später auslesen können.

Naja, das ist Zukunftsmusik.

Wenn das gut läuft, versuche ich mich vielleicht noch an der nächsten
Stufe: Anschluss eines Polar Brustgurts mittels SparkFun Heart Rate Monitor interface. Das dürfte etwas einfacher für sportliche Aktivitäten werden als ein Ohrclip… 😉

Installation von StatusNet 1.1.0 bei domaingo

Heute habe ich versucht, StatusNet auf meiner eigenen Domain zu installieren. Damit will ich mich weiter unabhängig von den großen Diensten wie Facebook, Twitter und Google+ machen. StatusNet ist eine Mikroblogging-Software, mit der man Statusupdates veröffentlichen kann – aber die Software ist Open Source und steht unter einer GNU Affero General Public License. Damit treffen alle Kriterien zu, die ich für eine Befreiung des Internet anlege.

Zur Installation von StatusNet braucht man einen eigenen Webspace mit PHP und MySQL. Das ist bei meinem Webhoster domaingo vorhanden. Ich hab also StatusNet entpackt und anschliessend den Installer aufgerufen. Die Installation selbst ist länglich beschrieben. Aber es gab ein kleines Problem: Der Installer meldete immer

Database error: DB Error: unknown option ssl

Erst war ich etwas ratlos, aber nach ein paar Minuten Recherche im Netz war mir klar, dass dieser Fehler irgendwas mit PHP pear zu tun haben musste. Das Forum von StatusNet selbst ist wenig hilfreich. Die meisten Threads sind unerträglich zu lesen und verlaufen nach wenigen Antworten im Sand. Irgendwann bin ich im Forum von domainfactory auf einen alten Thread gestossen, der auch wieder auf pear verwies. Ich habe mich also per SSH auf meinem Webspace eingeloggt (mein Tarif erlaubt das) und mit folgenden Kommandos im Installationsverzeichnis von StatusNet meine Konfiguration aktualisiert:

wget http://pear.php.net/go-pear.phar
php5.3.19 ./go-pear.phar

Alle Fragen, die mir bei der Ausführung des Skripts go-pear.php gestellt wurden, habe ich mit dem vorgegebenen Standard beantwortet. Anschliessend hatte ich eine Datei php.ini mit folgendem Inhalt in meinem Verzeichnis:

;***** Added by go-pear
include_path="/kunden/MEINVERZEICHNIS/pear/share/pear:"
;*****

Damit war pear aktuell für mich verfügbar und die Installation von StatusNet lief erfolgreich durch. Die Seite war anschliessend bedienbar und ich hab mich gleich dran gemacht, ein eigenes Theme auf Basis von bootstrap zu erstellen. Wer sich das Ergebnis ansehen möchte, findet es unter https://kopis.de/statusnet/.

Das Internet zurückerobern – Projekte zum Einstieg

Vor ein paar Tagen hat Johnny Häusler bei Spreeblick den Aufruf gemacht, das Internet von den walled gardens zurückzuerobern. Dafür müsste die freie und dezentrale Technologie aber auch den Laien zugänglich gemacht werden, damit diese nicht mehr zu Diensten wie Facebook oder Twitter abwandern, um ihre Inhalte zu erstellen und zu teilen.

Als ersten Schritt würde ich immer noch einen eigenen Blog sehen. Wer damit loslegen will, sollte sich mal bei jekyllbootstrap umsehen. Und nicht gleich verzweifeln und zu Blogger laufen. Lieber aus den Stolpersteinen lernen und Feedback geben. 😉

Es gibt jetzt schon einige Projekte, die genau die Funktionen bereitstellen, mit denen die großen Dienste die Nutzer anlocken. Ich will hier mal ein paar auflisten, damit ihr einen Anhaltspunkt habt, wo ihr als Helfer einsteigen und wo ihr mit eurem Beitrag etwas verändern könnt.

Bei owncloud gibt es sogar eine Extra-Seite für die sog. Junior Jobs, mit denen man in die Entwicklung einsteigen könnte. Fast alle Open Source Projekte bieten so eine Übersicht über die Kleinigkeiten, die noch offen sind, die aber von keinem bearbeitet werden. Ausserdem hat jeden Projekt eine oder mehrere Mailinglisten, über die man mit den anderen Leuten in Kontakt kommen kann.

Wenn ihr also darüber nachdenkt, wie das Internet aussehen soll und vor allem, wie ihr euren Beitrag dazu leisten könnt, dann solltet ihr dort mal vorbei schauen.

Steuerschlupflöcher schaden nicht nur dem Finanzamt

Wenn man sich diese Geschichte über eine Ölbohrplattform von Shell durchliest, wird einem
ganz anders. Shell hat die Ölbohrplattform anscheinend für eine Routineüberprüfung verlegen
wollen und sie während eines Unwetters auf Grund gesetzt. Jetzt vermutet also The Independent,
dass nicht die Überprüfung der Grund war, sondern dass der Konzern Steuern in Höhe von ca. 7M US$
sparen wollte…

Jetzt müssen sie die Evakuierungsmassnahmen und die Bergung bezahlen. Natürlich ist kein Öl
ausgetreten, es besteht kein Grund zur Beunruhigung, bitte gehen Sie weiter, es gibt nichts zu
sehen… (Ok, das war jetzt Fefe Modus.)

Wenn es solche Schlupflöcher in den Steuergesetzen für Konzerne gibt, dann ist irgendwas falsch
gelaufen. 🙁

Was war los auf dem 29c3?

Ich war ja letzte Woche auf dem 29c3 und hab die Tage da sehr genossen. Die Vorträge
waren super, die Organisation einwandfrei und das CCH mit seinem 70er Charme ein
guter Ort für den Kongress.

Neben den netzpolitischen Themen gab es auch viel Technik, eine Einführung in die
Weizenzüchtung
, eine schlaue Haushaltshilfe, Quadrokopterdrohnen im Eigenbau
und z.B. in den Lightning Talks (sehr schönes Format übrigens, sowas würde ich in
der Firma ja auch gern mal einführen…) einiges mehr. Ihr seht, das Programm war breit
aufgestellt und mit den ganzen Hackerspaces auf den Gängen und den Workshops hat bestimmt
jeder seine Nische gefunden.

Neben den ganzen Themen muss ich hier unbedingt noch 2 Sachen erwähnen, die man durch
Freiwillige organisiert wohl nur auf wenigen Veranstaltungen sieht:

  • ein DECT- und GSM-Netz
  • eine Live-Übersetzung der deutschen Vorträge

Erstes dient der Kommunikation auf dem Kongress (darum geht’s ja schiesslich), in dem
die Hacker sich eine Telefonnummer für die Tage im CCH besorgt haben und so Kontakte
herzustellen. Alles von Hackern für Hacker organisiert.

Zweites kann ich eigentlich kaum glauben: Unter den Hackern gibt es anscheinend nicht
wenige Linguisten und mit einem Telefon bzw. in den Livestreams konnte man als
Fremdsprachler die deutschen Talks zumindest in Englisch mitverfolgen. Und überhaupt:
Konnte an keinen Platz mehr im sehr, sehr kleinen Saal 6 ergattern (z.B. beim hervorragenden
Talk on Jacob Appelbaum und Roger Dingledine über die verschiedensten Teile des
Tor-Projektes), konnte man sich auf dem Lieblingsgadget der Laptop den Livestream ansehen.
Und nach 24h lagen bereits die torrents auf dem mirror

Natürlich gab es auch negative Stimmen. Wie Constanze Kurz schon sagte: die hälfte sagt:
zu wenig technik. die andere hälfte sagt: zu wenig netzpolitik. die andere hälfte sagt: zu wenig
hacking.
Auffällig für mich war jedenfalls die ganze Diskussion und Aufregung um die
Creepercards. Ich hätte ja gedacht, alle Teilnehmer sind Hacker. Egal welchen
Geschlechts. Ich wäre gar nicht auf die Idee gekommen, dass das Geschlecht einen Unterschied
macht. Aber vielleicht bin ich da nicht ganz auf dem Laufenden…

Mir hat der Kongress jedenfalls gefallen. Ich denke, ich bin niemandem auf die Nerven gegangen.
Mit hat die Themenauswahl gefallen. Ich fand die Organisation großartig. Und ich kann
jedem nur empfehlen, den Kongress nächstes Jahr zu besuchen.

Nützliche Extensions für Google Chrome

Zur Feier des neuen Jahres will ich hier eine Liste mit nützlichen Extensions für Google Chrome
aufstellen. Die meisten davon dienen dem Schutz der Privatsphäre, aber es gibt auch noch ein paar
nützliche Tools. Ich setze diese Extensions selbst in meinem Browser ein.

  • Adblock Plus, entfernt lästige Werbung
  • Ghostery, entfernt lästige Tracking-Scripts und andere Tools, die gern von der Werbeindustrie genutzt werden, um euch überall zu identifizieren und ein Profil aufzubauen
  • HTTPS Everywhere, verwendet immer die HTTPS-verschlüsselte Verbindung zu einer Seite, wenn diese Möglichkeit besteht
  • NotScripts, blockiert Javascript und verhindert ein paar der üblichen Angriffe (ich benutze es im Modus BLOCKLIST)
  • Personal Blocklist, entfernt nervige Webseiten aus den Google-Suchergebnissen. Tschüss, idealo & co.
  • Pocket, speichert Artikel für den späteren Zugriff. Nutze ich oft, um unterwegs die Artikel zu lesen und nicht mit den Webseiten kämpfen zu müssen.

Welche Extensions nutzt ihr?