Montag, 6. April 2015

Herbert Reloaded: Haus Automation

Mein Projekt, die Wohnung komplett über ein Automationsbus zu steuern, geht langsam voran. Aber warum noch ein Haus Automations Bus? Weil die bereits verfügbaren nicht genau dem entsprechen, was ich gerne hätte. Einige sind auf eine dauerhafte Verbindung ins Internet angewiesen, andere sind zu teuer, oder nicht vollständig. Oder benötigen Datenleitungen zu den Knotenpunkten.

Herbert wird einmal die Wohnung steuern und dafür werde ich existierende Hardware umbauen, oder eigene Hardware entwerfen, die genau die Aufgaben erfüllt, die ich mir von einem Hausbus wünsche. Der Aufbau wird folgende Topologie besitzen:
Herbert Topologie V2.0
Das Zentrum von Herbert ist ein Raspberry Pi 2, der in einem externen Festplattengehäuse untergebracht ist. Die externe Festplatte ist immer noch in dem Gehäuse und wird die Speicherzentrale für das NAS. Der Pi hat leider nur langsames USB 2.0. Da das WLAN und die Festplatte über USB angeschlossen sind werden keine neune Geschwindigkeitsrekorde aufgestellt werden können. Für regelmäßige Backups ist es allerdings schnell genug.
Herbert 2.0
Neben dem NAS besitzt Herbert ein openHAB Interface. openHAB ist ein offenes Haus Automation System, dass in Java entwickelt wurde, dadurch ist es auf vielen Plattformen lauffähig. Es besitzt Module um viele bereits verfügbaren Systeme zusammen zu schließen und über die eine Plattform zu steuern. Ich habe mich entschieden die Kommunikation über MQTT zu lösen. MQTT ist eine Kommunikationsplattform für Maschine-zu-Maschine Kommunikation. Man kann sich ein einem Verteiler (Broker) anmelden und für verschiedene Nachrichten anmelden. Danach erhält man die Nachrichten auf diesem Kanal. Der Part des Brokers wird von der offenen Software Mosquitto übernommen, die ebenfalls auf dem Raspberry Pi läuft.

Die Firmware NodeMCU besitzt ein Lua Modul, dass die Kommunikation mit einem MQTT Broker sehr einfach gestaltet. Das Modul mqtt.Client() bietet Funktionen zum Anmelden für Nachrichten, als auch zum Verschicken von Nachrichten.

Diese Nachrichten werden an vereinbarte Topics gesendet. Diese sind in der Konfigurationsdatei von openHAB und in der Lua Quelltext abgespeichert. Weitere Funktionen des NodeMCU sind der Stromsparende Tiefschlafmodus und die Kommunikation über die serielle Schnittstelle. Beide dieser Funktionen werden an unterschiedlicher Stelle benötigt. Der Tiefschlaf ist für die Sensoren notwendig, wenn diese nur Nachrichten senden, aber keine Empfangen sollen. Die serielle Schnittstelle ist für die Kommunikation mit einem anderen Controller gedacht, der dem ESP die nötige Berechnungspower zur Verfügung stellen kann.

Der Auf/Zu Sensor ist in der Aktuellen Version dem Fensterwächter sehr ähnlich. Allerdings ist er noch nicht so weit veröffentlicht zu werden. Alle Module mit allen Programmen und Schaltungen werden aber in der nächsten Zeit hier zur Verfügung stehen. Der Code und die Konfigurationsdateien für Herbert liegen ebenfalls auf GitHub.

Resourcen:
Raspberry Pi Debian Variante: Rasbian
openHAB Dokumentation + Autostart Anleitung
MQTT auf dem Raspberry Pi installieren
NodeMCU API Dokumentation

Mittwoch, 1. April 2015

Unboxing: Raspberry Pi 2 B++

Ich habe heute ein Paket mit dem neuen Raspberry Pi 2 B++ erhalten. Nachdem die Hardware des Raspberry Pi in der neuen Version 2 auf einen bessern CPU Chip geändert wurde sind die Schnittstellen zu USB und Ethernet die Flaschenhälse zum Controller gewesen. Mit der neuen Version des Raspberry Pi 2 B++ wurde das jetzt auch behoben. Wie angekündigt sind zu Beginn des zweiten Quartals 2015 die ersten Muster des neuen Modells mit Gigabit Ethernet und USB 3.0 verfügbar.
Der neue Raspberry Pi 2 B++

Donnerstag, 26. März 2015

Soylent Yellow - The future of food, oder der Unterschied zwischen Essen und Nahrungsaufnahme

Wer einmal den Film Soylent Green gesehen hat wird die dystopische Zukunft die in den 70ern gesehen wurde teilweise wieder erkennen. Nicht, dass es uns schon so geht, aber die exzessive Nutzung von nicht regenerierbaren Ressourcen ist immer noch ein Problem. In unserem, zumindest meinem, Alltag ist das Essen in zwei Situationen aufgeteilt. Die schnelle Nahrungsaufnahme zur Befriedigung des Hungers während man eigentlich andere Dinge tut und zu einem sozialen Ereignis, bei dem das Essen und teilweise dessen Zubereitung mit anderen Menschen im Vordergrund steht.
Es gibt mittlerweile einige Firmen, die sich mit der Erzeugung von pulverisierten Nahrungsmitteln beschäftigen. Ich muss hier wirklich eine Differenzierung machen, denn ein Pulver, dass mit Wasser zu einer nährstoffhaltigen Pampe verrührt wird ist definitiv kein Essen, sondern Nahrung. 
Heute kam ein Paket der Firma Queal an. Darin befinden sich acht Beutel mit jeweils einem Tagesbedarf an Nährwerten. Dazu noch ein Fläschchen mit Öl, dass zusätzlich zu dem Pulver und Wasser zu einer Mahlzeit verrührt werden soll. Zu den acht Kunststoffbeuteln gab es noch zwei Sticker und eine Kurzanleitung in der steht, wie ein Queal Meal zubereitet werden soll. Beim Auspacken zeigt sich auch schon warum der Titel Soylent Yellow heißt. Egal welche Geschmacksrichtung für die Pulver angegeben ist, das Pulver ist gelb.

Queal Geschmackstester Set mit allen Geschmacksrichtungen