Endlich! Mit dem neuen Tarif T-Online eco flat gibt es jetzt auch in meiner Wohngegend die Möglichkeit, ohne Blick auf die Uhr im Netz zu sein. Drei Haken hat die Sache:

  • immer noch ISDN (OK, hätte ich nicht anders erwartet)
  • wieder mal mein Lieblingsmonopolist
  • und vor allem: verdammte 80 Euro im Monat!

Viel lieber würde ich samt Telefonanschluss zu Versatel wechseln, die bieten auch eine ISDN-Flatrate an. Nennt sich Flatrater ISDN und kostet günstige 19,95 Euro im Monat. Was mich daran hindert ist, dass Versatel in meinem Ortsnetz nicht verfügbar ist. Rundherum in allen Netzen schon, nur mit meiner Vorwahl sieht man in die sprichwörtliche Röhre. :-(

Alternativen wie UMTS oder WLAN fallen auch aus, Wimax lässt wahrscheinlich noch ein paar Jahre auf sich warten. Die Frequenzen sind zwar jetzt verkauft, es ist aber wohl zu erwarten dass das entsprechende Netz erstmal in den Gegenden aufgebaut wird in denen es nicht gebraucht wird: Ballungsgebiete in denen es DSL und somit kaum einen Grund gibt Wimax zu benutzen.

OK, Sky-DSL gibt es noch. Da gibt es aber auch nur einen Anbieter der eine wirkliche Flatrate im Programm hat: den allseits beliebten rosa Riesen. Und ausgerechnet für dessen Angebot benötigt man eine Einwahlsoftware die nur auf ausgerechnet dem Betriebssystem läuft das es in meiner Wohnung nicht gibt. Ich könnte es natürlich extra für den Zweck installieren, aber ausgerechnet an der verwundbarsten Stelle im Netz…? Abgesehen davon kostet auch dieser Weg 80 Euro im Monat.

Naja, wenn mir die Flatrate wichtig ist bleibt mir dann wohl keine Wahl… Immerhin kriege ich da auch einen tollen Mail-Account, und nicht zu vergessen kann ich da eine eigene Homepage ablegen! Auf in die Zukunft!!!

Binary DCF-77 ClockIch freue mich wieder einmal, mein letztes Projekt ins Netz gestellt zu haben: die Binary DCF-77 Clock (die Seite gibt es auch auf englisch).

Die Uhr empfängt die aktuelle Uhrzeit per Funk aus Braunschweig, dargestellt wird auf einem Raster von vier mal acht LEDs in binärer Form. Dabei verfügt die Uhr über sieben Anzeigemodi: Einmal ‚richtig‘ binär, zwei verschieden Varianten in BCD-Form (Binary Coded Digits). Diese drei Modi jeweils einmal für die Zeit und einmal für das Datum. Und als Sahnehäubchen wird im siebten Modus ein 32-Bit Unix Timestamp dargestellt. :-)

Der Bau und die Programmierung haben wieder mal Spaß gemacht. Ich habe auch wieder eine Menge dabei gelernt was mir für die Konstruktion des fast schon mythischen ultimativen Weckers hilfreich sein wird. Unter anderem die Benutzung eines Oszilloskopes (Dank an Lucas für die Leihgabe!) und die Kommunikation per I2C-Bus (Dank an Michael Meier für die Vorlage).

Als nächstes wird dann wohl mein Fnordlicht fernbedienbar gemacht…

Die fertige Uhr

Die fertige Uhr

Die offizielle Zeit für Deutschland wird bekanntlich von der Physikalisch-Technischen Bundesanstalt (PTB) über das DCF-77 Signal gesendet, praktisch jede Funkuhr arbeitet damit. Beschreibungen des Signals findet man an vielen Stellen im Internet.

Die Binary DCF-77 Clock ist ein einfaches Gerät mit dem die Zeit empfangen und in binärer Form dargestellt werden kann. Das Signal wird von einem einfachen Empfängermodul enpfangen, mit einem ATmega8 Mikrocontroller decodiert und auf einem Raster von LEDs dargestellt. Insgesamt gibt es 32 LEDs, die in Reihen zu jeweils acht angeordnet sind. Die Steuerung übernimmt ein SAA1064 IC, der vom Controller per I2C-Bus gefüttert wird.

Die Zeit kann in verschiedenen Formaten dargestellt werden, das Format wird einfach per Knopfdruck gewählt. Die Formate werden später beschrieben.

Das Paket enthält die Firmware für den Controller, die Schaltpläne, die Dokumentation und eine Kopie der GPL Lizenz.

Bau und Installation

Der Schaltplan ist noch überschaubar.

Der Schaltplan ist noch überschaubar.

Die Installation wird in der beiliegenden Dokumentation beschrieben.

Benutzung

Die Uhr wird an einer Gleichspannung von 9V betrieben. Solange noch keine Zeit decodiert wurde, wird auf den LEDs ein Lauflicht angezeigt. Die einzelne LED in der Schaltung sollte nach einer kurzen Anlaufzeit anfangen, regelmäßig zu blinken. Sie geht an wenn das DCF-Signal in den High-Pegel geht, und wieder aus wenn es auf Low wechselt. Idealerweise sollte es also im Sekundentakt für 100 oder 200 Millisekunden aufblinken wenn ein Signal empfangen wird.

Bei korrektem Empfang wird die Uhr nach etwa ein bis zwei Minuten die Zeit anzeigen.

Die Zeit ablesen

Die verschiedenen Modi

Die verschiedenen Modi

Die Zeit und das Datum werden in sieben verschiedenen Varianten dargestellt. Mit dem Knopf wird die gewünschte ausgewählt. Nach einem Druck zeigt ein Muster aus Lichtern an welcher Stil verwendet werden soll. Das Muster kann binär als Zahl von eins bis sieben interpretiert werden.

Modus 1: Die Zeit in Binärform

So werden einfach Stunden, Minuten und Sekunden als Bytes dargestellt, jeweils eines pro Zeile. Die letzte Zeile des Displays bleibt leer.

Modus 2: Das Datum in Binärform

Dies ist wie das vorhergehende, allerdings werden hier in den ersten drei Zeilen Tag, Monat und Jahr dargestellt. Die letzte Zeile zeigt den Wochentag, wobei Montag einer eins entspricht, Dienstag einer zwei, und so weiter.

Modus 3: Die Zeit als BCD

Hier wird die Zeit als Binary Coded Digits (BCD) angezeigt. Die erste Zeile zeigt die Stunden, wobei die linken vier LEDs die Zehnerstelle und die rechten vier LEDs die Einerstelle darstellen.

Auf die gleiche Weise zeigen die zweite und die dritte Zeile die Minuten und die Sekunden an.

Modus 4: Das Datum als BCD

Im Prinzip wie Modus 3, allerdings wird das Datum angezeigt.

Modus 5: Die Zeit als BCD, vertikal

Dies zeigt die Zeit in BCD-Form wie in Modus 3, allerdings werden die BCD-Werte hier senkrecht nebeneinander dargestellt. Die ersten beiden Spalten zeigen also die Stunden, die dritte Spalte ist leer. Dann folgen die Minuten in zwei Spalten, dann wieder eine frei und die Sekunden in den letzten beiden Spalten.

Modus 6: Das Datum als BCD, vertikal

Die ist wie Modus 5, nur daß das Datum angezeigt wird.

Modus 7: Unix Timestamp

Wahrscheinlich das am wenigsten menschenlesbare Format. Es zeigt die Anzahl der Sekunden seit dem 01.01.1970 als 32-Bit-Wert. :-)

Demo Modus

Wenn die Uhr an einem Ort mit schwachem DCF-Empfang aufgestellt wird, aber man trotzdem die Darstellung zeigen möchte kann sie in einen Demo-Modus geschaltet werden. Um diese Funktion ein- und auszuschalten muß die Taste für etwa fünf Sekunden gedrückt gehalten werden. Danach kann durch die verschiedenen Modi gewechselt werden. Die angezeigte Zeit steht still, also kann in diesem Modus das Ablesen der Zeit auch ohne Eile erklärt werden.

Der Wechsel in den Demo-Modus wird durch ein kurzes Aufflackern aller LEDs angezeigt. Beim Verlassen des Demo-Modus sieht man ein leeres Rechteck auf dem Display.

Schwachpunkte

Ich hätte nicht gedacht, daß das DCF-Signal dermaßen störanfällig ist. Ich habe beobachtet, daß kein verwertbares Signal mehr überbleibt wenn ich mein Notebook mit aktiviertem WLAN neben die Uhr lege. Wenn schon eine korrekte Zeit empfangen wurde wird diese allerdings weitergezählt bis die nächste ‚korrekte Minute‘ empfangen wurde.

Danke!

Ich danke Michael Meier, der eine wesentlich vielseitigere Uhr auf seiner Seite vorgestellt hat. Die SAA1064-Ansteuerung und die Routine zur Berechnung des Unix Timestamps basieren auf seinem Projekt. Man findet es auf seiner Seite.

Und wieder einmal danke ich Thomas Stegemann für seine Hilfe mit der Sprache C.

Lizenz

Dieses Projekt steht unter der GNU General Public License (GPL). Eine Kopie der GPL liegt dem Paket in der Datei License.txt bei.

Download

So macht das echt keinen Spass. Die System-Load auf meinem Server bewegt sich zeitweise jenseits der 50, Apache und MySQL gehen dementsprechend auf dem Zahnfleisch, manche Skripte laufen Amok weil sie in Timeouts laufen. Die Prozesstabelle zeigt fast nur noch httpd, ein Blick in dessen Logfiles offenbart ungewoehnlich viele Eintraege nach einem bestimmten Muster:

# egrep "wp-comments-post.php.*Maxthon" /var/log/apache/access.log | wc -l
23930

Natuerlich freue ich mich ueber Kommentare im Blog, aber das erklaert warum das Spam-Plugin in den letzten Tagen teilweise ueber 5000 Beitraege pro Tag weggefiltert hat. :-(

Mal sehen, wie viele Besucher Zombies das denn so sind:

# egrep "wp-comments-post.php.*Maxthon" /var/log/apache/access.log | cut -d " " -f 1 | sort -un | wc -l
393

OK, das schreit nach Gegenmassnahmen:

egrep "wp-comments-post.php.*Maxthon" /var/log/apache/access.log | \
cut -d " " -f 1 | sort -un | while read ip; do iptables -A INPUT -i eth0 -s $ip -j DROP; done

Mal sehen wie lange das jetzt vorhaelt. Spaetestens ein Reboot macht diese Erste-Hilfe-Massnahme wieder zunichte, aber die feine englische Art ist das ja eh nicht. Hat vielleicht jemand eine bessere Idee?

Hiermit entschuldige ich mich bei allen Besuchern, die durch den Kommentarspam in meiner Galerie gestoert wurden. Und vor allem bei denen, die sich die Muehe gemacht haben ernsthaft zu kommentieren — auch wenn es nicht viele waren. Von den 2153 Kommentaren, die da bis vorhin drin waren ist nichts mehr uebrig, und ich wuensche im Moment allen Spammern einen zeitnahen, langsamen und schmerzhaften Tod. :-(

Ab sofort ist auch da ein Captcha im Einsatz. Was der Gallery noch fehlt ist eine Moeglichkeit, neue Kommentare auch per Mail zu verschicken. Oder habe ich da nur was uebersehen?

Ein neuer Blog zum Thema Shell, ich bin gespannt wie der sich entwickeln wird. Die Idee finde ich gut. Gibt es einen Mechanismus, mit dem man Beitraege aus dem eigenen Blog direkt da zur Verfuegung stellen kann?

Tiny MenuMit dem Platz auf dem Bildschirm ist es wie mit dem Hubraum im Auto: Das einzige was besser ist als eine hohe Auflösung ist eine noch höhere Auflösung. Klar, daß ich da auf meinem kleinen Notebook (IBM X22) mit seinen 1024×768 Pixeln haushalten muß.

OK, Shell-Anwendungen lassen sich da schon wirklich gut benutzen. Das einzige regelmäßig benutzte Programm mit grafischer Oberfläche — Firefox — macht da schon weniger Spaß. Abhilfe schafft ein niedliches kleines Plugin: Tiny Menu. Damit wird die komplette Menüstruktur zu einem einzigen Menüpunkt zusammengefaltet, danach können die Icons aus der Toolbar in die Menüzeile gezogen und die Toolbar fachgerecht entsorgt werden.

Tiny MenuJetzt sieht es aber etwas merkwürdig aus, daß zwischen den Icons ein textueller Menüpunkt steht. Aus irgendeinem Grund funktioniert bei mir der entsprechende Tip von der Homepage des Plugins nicht, in der Datei chrome/userChrome.css des Benutzerprofils ein Icon zu definieren. Ich habe hier ein Arch Linux, ich weiss dass das mit dem FF auf Windows geht. Sachdienliche Hinweise nehme ich gerne entgegen. Edit: Mit dem originalen Firefox-Theme ging es nicht, nachdem ich aber eine an FF2.0 angepasste Version meines bevorzugten Themes (Pinball) installiert habe klappt es jetzt auch mit dem Icon.