CampusOffice Kalender synchronisieren

Campus Office ist unser Studienplaner an der RWTH. Über ihn stellen wir uns unseren Stundenplan zusammen und melden uns zu Prüfungen an. Campus Office besitzt auch einen einfachen Kalender, der alle Termine des aktuellen Semesters individuell für jeden Studenten zusammenfasst. Glücklicherweise kann dieser Kalender auch im iCalendar-Format exportiert werden.

Leider ist jedoch keine automatische Synchronisation mit Google, Outlook & co möglich, da sich jeder Student zuvor mit seinen Daten angemeldet haben muss. Um dieses Problem zu umgehen habe ich ein kleines Skript geschrieben, welches als Proxy fungiert und diese Anmeldung übernimmt.

Folgende URL kann beispielsweise im Google-Kalender abonniert werden:

http://t0.0l.de/snippets/php/campus/cocal.php?u=[matrikelnr]&p=[passwort]

Alternativ kann man sich über das Frontend das Passwort in der URL auch noch etwas verscheiern lassen:
http://t0.0l.de/snippets/php/campus/cocal.php?hash=[base64_encode(matrikelnr + ‚:‘ + passwort)]  => http://t0.0l.de/snippets/php/campus/cocal.php?hash=MzA0OTU3OmFzZGZzZGY=

So habe ich nun alle meine Uni-Vorlesungen, Übungen und Klausuren in meinem Android-Smartphone ohne mich jemals wieder um die Synchronisierung kümmern zu müssen.

CampusOffice Kalender synchronisieren weiterlesen

transcode

Ich sitze im Zug nach Hause. Komme von der letzten Vorlesung des 2. Semesters: Informatik. Eigentlich bin ich auf dem Weg in die Semester-„Ferien“, ständen da nicht für den nächsten Monat noch 4 Klausuren in meinem Kalender 😉

Informatik, Grundlagen des Digitalrechners. Klingt eigentlich recht trocken. Trotzdem ist es klar mein Favorit unter den Fächern dieses Semesters.
Als Ergänzung zur Vorlesung richtete unser Professor einen kleinen Wettbewerb aus.
Mein Beitrag zum Students Englightment Award ist ein Compiler Frontend für den GNU Compiler der Atmel AVRs.

Teil der Vorlesung war die Einführung des Mikrocontrollers ATMega8 von Atmel und dessen Programmierung mit Assembler. Dabei lernten wir zuerst die Schaltungstechnischen Grundlagen und die Minimierung von Schaltnetzen. Anschließend sind wir auf den Aufbau der Zentralen Recheneinheit eingegangen (Steuerwerk, ALU etc..).

transcode kompiliert/assembliert ANSI C und Assembler in Maschinencode und umgekehrt. Dabei wird mit Hilfe von Debugging Informationen ein Bezug zwischen Zeilen im C-Code und den Mnemonics hergestellt. Durch Auswählen von Zeilen werden Bezüge direkt durch Hervorhebungen dargestellt. Für die Darstellung des Maschinencodes lässt sich zwischen binär, dezimal & hexadezimaler Form wählen.

transcode weiterlesen

Schreibt mir eine SMS

So, die zweite Klausur ist geschafft! Heute haben wir Grundgebiete 1 der E-Technik geschrieben :-/ nach 1,5 Stunden bin ich mal wieder mit gemischten Gefühlen aus dem Hörsaal gekommen. Dafür gab’s dann aber eine kleine Belohnung: ich habe MMET bestanden 🙂 Nicht grandios, aber auch nicht ganz so knapp wie ich es erwartet hatte.

Nach der Klausur hab ich mich mal etwas von der Uni abgelenkt und ein kleines Skript geschrieben: Ihr könnt mich nun kostenlose SMS schicken. Benutzt dazu einfach die Textbox in der rechten Sidebar. Es ist quasi eine Art Shoutbox & Gästebuch in einem. Eure Nachrichten werden aber nicht gespeichert, sondern direkt per SMS an mein Handy gesendet.

Das ganze läuft über meinen VoIp-Provider Sipgate, der seinen Kunden eine XML-RPC API zu Verfügung stellt, um damit SMS & Faxe zu versenden. Dazu habe ich dann ein kleines PHP-Skript geschrieben, welches ihr in meinm Git-Repository finden könnt:

Der Code liegt wieder in meinem git-Repository.

SMS zu versenden ist leider immer noch nicht kostenlos. Daher könnt ihr maximal alle 4 Stunden eine 160 Zeichen lange Nachricht versenden.

volkszaehler.org Zählerbox

Das volkszaehler.org Projekt nähert sich mit großen Schritten seiner ersten stabilen Version und damit dem ersten Release.

Ich möchte hier nur einen kurzen Überblick über den aktuellen Stand geben. Du kennst das Projekt noch gar nicht? Weiß nicht was Smartmeter sind? Da steigst du besser auf unsere Projekt Website ein!

Für die Entwicklung am Projekt habe ich mir eine kleine Hutschienenbox gebaut. Sie eignet sich perfekt für den mobilen Einsatz und zum Testen neuer Firmware und Funktionen. Mal schnell den Verbrauch des eigenen Kühlschranks zu erfassen ist kein Problem. Derzeit ist mein Schreibtisch an die Box angeschlossen und liefert so aktuelle Daten für die Demo Installation des Projektes.

Die Box enthält folgende Komponenten:

  • ~230V Eingang über Kaltgerätestecker (geerdet, max. 10 Ampere)
  • ~230V Ausgang über Schukostecker (geerdet, max. 16 Ampere)
  • Sicherungsautomat (Ein-/Ausschalter)
  • B&G E-Tech DRS-154D S0-Zähler (einphasig, 2000 Impulse/kWh)
  • Udo’s S0-Server (basierend auf ATMEL AVR’s & ethersex, 10 Mbit/s Ethernet, TFTP Bootloader)
  • Knopf zum manuellen Triggern von Impulsen
  • externer Anschluss von Zählern

Aktueller Stand

Der alte Prototyp wurde nun durch ein flexibleres und modulares System ersetzt. Praktisch jede Kombination von Sensoren, Zählern, Controllern und Frontends ist möglich. Hier sind keine Grenzen mehr gesetzt.

Du kannst das Projekt zum Erfassen des eigenen Strom-/Wasser-/Gasverbrauchs ebenso benutzen wie zur Abrechnung eines ganzen Studentenwohnheims.

Zur Visualisierung bist du nicht mehr an das Browser basierte Web-Frontend gebunden. Durch den modularen Aufbau können viele Frontends gleichzeitig verwendet werden: Smartphone, Laptop etc.. Gleiches gilt für die Sensoren/Zähler. Hier kannst du beliebig viele gleichzeitig auswerten. Sie müssen noch nicht einmal am gleichen Ort installiert sein.

So schwebt derzeit die Idee im Raum ein Sensornetzwerk von Geigerzählern zur verteilten Strahlunsmessung aufzubauen.

Screenshot des Frontends
Die Zählerbox

Ausblick

Die Ideen sprudeln nur so aus unser heraus. Es ist ein Jammer, dass ich gerade nicht mehr Zeit in das Projekt invertieren kann. Aber mein Studium hält mich derzeit sehr in Atem. Nach den Klausuren geht es dann wieder etwas schneller weiter.

Unsere Agenda ist endlos:

  • erste stablie Version veröffentlichen
  • Betriebsstundezähler unterstützen
  • weitere Controller, wie den Flukso und „offizielle“ Smartmeter unterstützen
  • Radioaktivität messen
  • Visualisierung für Smartphones
  • Visualisierung über Moodlights
  • Installation vereinfachen

Hast du weitere Ideen, Anregungen, möchtest etwas verbessern oder eigene Features hinzufügen? Dann bist du immer auf unsere Mailingliste willkommen! Wir freuen uns über jeden fleißigen Helfer 😉

 

volkszaehler.org

volkszaehler.org ist ein freier Smart Meter (hier: intelligenter Stromzähler) im Selbstbau. Die anfallenden Stromprofile bleiben dabei unter der Kontrolle des Nutzers.

Seit dem 1.1.2010 müssen Stromversorger ihren Kunden für Neubauten so genannte „intelligente Stromzähler“ (Smart Meter) anbieten. Der Kunde soll dadurch seinen Stromverbrauch analysieren und optimieren können.

Die dabei anfallenden Daten („Stromverbrauchsprofil“) erlauben einen sehr detallierten Einblick in den Tagesablauf des Nutzers (wann steht er auf? wann geht er in’s Bett? wann kocht er? wie oft verwendet er seine Spülmaschine? verändert sich sein Verhalten? …). Darum sollten die Daten ausschließlich für den Nutzer selbst zur Verfügung stehen – und das geht nur, wenn man sich den Smart Meter selbst baut. Mit einem Materialeinsatz von ca. EUR 100, etwas Geschick und Zeit lässt sich das mit Hilfe eines Standard-µC-Moduls aufbauen.

Auf der SIGINT 2010 konnte ich mir den Vortrag von Justin Otherguy über das noch recht junge Projekt anhören und fand anschließen die Gelegenheit mit ihm über das Projekt zu sprechen. Schnell war für mich klar, dass ich hier helfen möchte.

Bisher gibt es nur einen funktionsfähigen Prototypen. In den letzten Wochen habe ich mit ein paar weiteren Entwicklern begonnen den Code des Prototypen neu aufzubauen. Volkzaehler.org ist dreigeteilt:

  1. Die Controller und Sensor Ebene
    erfasst  mithilfe eines Mikrocontrollers die Daten leitet sie an den Backendserver weiter.
  2. Der Backendserver
    besteht aus einem PHP-Skript und einer Datenbank. Hier werden die Daten weiter verarbeitet und ausgewertet. Er kommuniziert ausschließlich über eine standardisierte JSON API.
  3. Das Frontend
    stellt die Daten für den Benutzer übersichtlich dar und ist für die Ausgabe der Analysen verantwortlich.

Diese Darstellung verrät uns auch, dass nur der Stromverbrauch erfasst werden kann. Geplant sind sämtliche Messgrößen (Temperatur, Luftdruck, Luftfeuchtigkeit, Strahlung, Niederschlag etc…).

Bisher gibt es noch keine stabile, lauffähige Version des Quellcodes. Im Wiki, der Mailing-Liste und GitHub findet ihr weitere Informationen zu meinem neuen Projekt.

Wir freuen uns über jede Unterstüzung 🙂 Besonders Entwickler mit PHP und Javascript Kenntnissen wären hilfreich 😉