Donnerstag, 17. April 2014

Cubietruck - Einrichtung

Für seinen späteren Einsatzzweck soll der Cubie auch entsprechend eingerichtet sein. Diese Seite hier ist einfach da, um ein paar grundlegend,e allgemeine Einrichtungen zu beschreiben und wird ständig erweitert.

Wheezy startet ohne grafische Oberfläche. Dies ist wie ich finde vorteilhaft, da ich mich eh nur mit SSH einlogge und die Oberfläche nur unnötig Ressourcen braucht.

WLAN-Einrichtung:

Zunähst will ich das WLAN des Cubies konfigurieren. Da keine grafische Oberfläche installiert ist, muss dies über Konsole geschehen.
Treiber und die grundlegenden Pakete für den WLAN-Betrieb sind bereits installiert, weswegen nur noch das WLAN selbst konfiguriert werden muss.
Hierfür benötigt man noch den PSK-Key. Dies ist nicht der wirkliche WLAN-Key, sondern er leitet sich von diesem ab.  Zur Generierung wird folgender Befehl ausgeführt:

wpa_passphrase   yourSSID   yourpassword

Bei der Befehlsausführung gibt man dabei den wirklichen WLAN-Key und erhält als Ausgabe so etwas wie:

network={
        ssid="yourSSID"
        #psk="yourpassword"
        psk=faae10e11d8261d99bc9d8d867331ed7d6141075f6dc4dfe638993bcfa9fcb3d
}

Wichtig davon ist nur die SSID und der lange PSK mit den HEX-Zeichen (also die letzte Zeile).

Diese werden nun in die /etc/network/interfaces Datei eingetragen. Diese mit root-Rechten öffnen und am Ende der Datei Folgendes anhängen (so wie es das Beispiel in den Comments zeigt).

auto wlan0
allow-hotplug wlan0
iface wlan0 inet dhcp
    wpa-ssid yourSSID
    wpa-psk faae10e11d8261d99bc9d8d867331ed7d6141075f6dc4dfe638993bcfa9fcb3d

Die Datei abspeichern und nun das WLAN-Interface mit dem folgenden Befehl starten.

sudo ifup wlan0

In der Ausgabe - sofern alles richtige läuft - sollte etwas wie 

bound to 192.168.1.5 -- renewal in 749797453 seconds.

auftauchen. Damit wurde dem WLAN-Interface erfolgreich eine IP-Adresse vom WLAN-Router vergeben.








Dienstag, 15. April 2014

Cubietruck und Betriebssystem


Durch die umfangreiche Ausstattung des Cubietrucks gibt es mehrere Möglichkeiten ein Betriebssystem abzuspeichern und auszuführen.
Auch gibt es zudem eine große Auswahl an Betriebssystemen, welche installiert werden können. Neben verschiedenen klassischen Linux-Distributionen, wie Ubuntu, Suse und co., stehen auch Android und OpenWRT zur Installation bereit.

Bei der Lieferung ist bereits Android 4.2.2 installiert. Es befindet sich im NAND-Speicher des Trucks.  Alternativ lässt sich das Betriebssystem auch von SD-Karte, USB-Stick und Festplatte (angeschlossen über SATA) starten.

Also stellt sich nun die Frage: Von wo starte ich welches Betriebssystem?

NAND: Vorteil ist, das man kein zusätzliches externes Speichermedium braucht. Einfach Strom anschließen und der Truck startet. Jedoch können mit NAND maximal 10.000 Schreibzyklen durchgeführt werden. Dies ist für ein Betriebssystem nicht sonderlich viel, vor allem wenn viele temporäre Daten erzeugt werden. Bis zu 8Gbyte lassen sich auf NAND speichern, danach ist Schluss.

SD-Karte: über den MicroSD-Slot lässt sich der Cubietruck um bis zu 32GByte  erweitern. Das Board ist so konfiguriert, dass es automatisch von einer bootbaren SD-karte startet, wodurch man einfach nur ein Image auf die SD-Karte kopiert und schon kann es losgehen. Dadurch ist man außerdem sehr flexibel, was die Auswahl des Betriebssystems angeht. Ganz ähnlich wie beim RaspberryPi. Ebenso lassen sich sehr einfach Backups gestalten.

Festplatte: Über den SATA-Anschluss können auf Festplatten angeschlossen werden. Strom gibt es auch direkt vom Cubietruck. Das passende Kabel wird direkt mitgeliefert.  Das Gehäuse bietet außerdem direkt einen Einschub für 2,5" Festplatten so dass diese ebenfalls geschützt ist. Vorteil bei der Festplatte ist zum Einem der große Speicherplatz und zum Anderen bietet der SATA-Anschluss eine hohen Performance-Gewinn - vorallem, wenn man direkt eine SSD anschließt.


Ich habe mich erstmal für die SD-Variante entschieden, da ich zunächst einige Betriebssystem testen möchte und mir leider keine Festplatte zur Verfügung steht. Als Betriebssystem habe ich mich erstmal für Wheezy entschieden.

Montag, 7. April 2014

Getting Started

Ich habe in der späten Abendstunde noch noch etwas Muße gefunden und mal mein Cubietruck aufgebaut.

Sehr positiv finde ich zu Beginn, das im Lieferumfang viel Zubehör mitgeliefert wurde.  Neben Stromkabel, auch Passivkühler, SATA-Kabel, Micro-USB-Kabel und auch einem Gehäuse.



Nach dem Anschließen und dem Stromzufuhr beginnt das Board direkt an zu starten. Ich bin doch sehr beeindruckt darüber, wie wahnsinnig verrückt es in vielen verschiedenen Farben blinkt. :)



Standardmäßig ist auf dem Truck Android 4.2.2 installiert.


Demnächst geht es dann weiter mit der Installation eines gescheiten Betriebssystems :)

neues Spielzeug - Cubietruck!


Endlich hat mein Raspberry Pi Unterstützung erhalten. Ich habe mit ein Cubietruck ( auch bekannt als Cubieboard v3) bestellt, welcher am Wochenende endlich geliefert wurde.

Der Grund ist, das ich bis alles mit meinem RaspberryPi umgesetzt habe, jedoch dieser mir für gewisse Arbeiten einfach zu langsam ist. vorallem der NAS-Dienst bzw. Fileserver war mir viel zu langsam, da sich beim  PI der USB-Port und der Ethernet-Anschluss über einen BUS arbeiten. Außerdem sind meine externen Festplatten alle auf NTFS formatiert und der NTFS-Dienst auf Linux einfach sehr viel Ressourcen fordert. Ich hätte ja einfach die Festplatten auf ext3 und co. formatieren können, doch dafür sind meine Festplatten einfach zu voll.

In der C't-Ausgabe 3/2014 gab es einen ausführlichen Beitrag über Raspberry Pi und anderer solcher Boards. Da für mich der Einsatzzweck als NAS sehr wichtig war, kamen nur Cubietruck als auch OLinuXino Micro in Frage. Ich habe mich nicht für letzteres entschieden, da es kein OnBoard WLAN, Bluethooth und Gigabit-Ethernet besitzt. Weiterhin hat das Board nur  1 GByte RAM wohingegen der Cubietruck mit 2 GByte um die Ecke kommt. (Außerdem klingt Cubietruck natürlich auch wesentlich cooler :) )

Somit ist mein neues Board gefunden, bestellt und warten auf seinen Einsatz :)

Sonntag, 23. Februar 2014

Auslesen von Temperaturwerten der Außensensoren einer Funk-Wetterstation

Es gibt viele Funk-Wetterstationen auf dem Markt. Viele dieser Stationen können über Außensensoren erweitert werden, welche glückerlicherweise auf dem 433Mhz Band die Temperaturen übertragen.

An meinem RaspberryPi habe ich ein Sende- und ein Empfangsmodul angeschlossen. Da es mehrere Module davon gibt, habe ich mich auf die Empfehlung von pilight verlassen, da ich diese Bibliothek bereits verwende, um Funksteckdosen zusteuern. Die Installation und die Module sind unter folgendem Link zu finden: http://wiki.pilight.org/doku.php/electronics .
Für die Temperatur-Außensensoren habe ich mich für PEARL Funk-Außensensor für Wetterstation entschieden.

Nun kommen wir zur Installation:

Nachdem die Hardware angeschlossen ist, kann die Software-Einrichtung beginnen.
Zunächst einmal benötige ich die pilight-Bibliothek. Hierfür muss man zunächst ein Repository hinzufügen, da pilight selbst nicht über die Standard-Repositorys zur Verfügung steht.
Hierfür öffnet man folgende Datei
sudo nano /etc/apt/sources.list
und fügt am Ende der Datei die folgende Zeile:

deb mirror://apt.pilight.org/mirror.txt stable main

Den nano-Editor schließt man mit [CTRL]+X --> Y --> [ENTER]
Da dieses Repository signiert ist, benötigt man nun den Public-Key, da mit die Daten erfolgreich und verschlüsselt übertragen werden können.

sudo wget -O - http://apt.pilight.org/pilight.key | sudo apt-key add -

Nun kann man ganz klassisch das pilight-package installieren:

sudo apt-get update

sudo apt-get install pilight

Nach hoffentlich erfolgreicher Installation kann der Pilight-Dienst über 

sudo service pilight start / stop

starten und stoppen. Dieses Programm läuft nun im Hintergrund und steuert die GPIO-Schnittstelle und die da angeschlossenen Sende- und Empfangsmodule. 
Damit man nun die Temperatursensoren auslesen kann, sollte zunächst einmal der Befehl 

sudo pilight-receive

Dieser Befehl gibt alle Daten, welche das Empfangsmodul empfängt und pilight dekodieren kann aus. Es sollten nun Daten der form:

{
        "code": {
                "id": 1420,
                "temperature": 152
        },
        "origin": "receiver",
        "protocol": "alecto",
        "repeats": 6

}

erscheinen. Dies sind die Daten der Außenthermometer. Hier ein paar Infos zu den Feldern.
  • ID: ID des Sensor zur eindeutigen Identifikation bei der Verwendung mehrerer Sensoren.
  • temperature: Die gemessene Temperatur. Der Wert muss noch durch 10 geteilt werden um die richtige Temperatur zu erhalten. ;-) Im Beispiel herrschen 15,2°C
  • protocol: gibt an welches Protokoll pilight zur Dekodierung verwendet hat. "alecto" ist dabei das Protokoll der Wetterstationen. (zumindest der verwendeten)
  • repeats: Die Sensoren senden ihre Daten 6x hintereinander, um eine fehlerhafte Übertragung zu verringern. So geht der Hersteller sicher, das die Daten auch an der Wetterstation ankommen. repeats listet den aktuellen Versuch der Übertragung.

Nun hat man eigentlich die Sensoren ausgelesen.Damit man die natürlich noch weiterverarbeiten kann, lasse ich diese Daten in eine Datei schreiben. Dies realisiere ich über ein BASH-Skript.

#!/bin/bash

pilight-receive | tee /tmp/pilight.txt &

Dadurch werden alle Messwerte in die Datei: /tmp/pilight.txt geschrieben. Somit kann dann mittels eines anderes Skripts die Dateien einfach verarbeitet werden. 
Ich habe mir hierfür ein PERL-Skript geschrieben, was den Inhalt der Datei ausliest und mittels eines regulären Ausdrucks von jedem Sensor den ersten übertragenen Wert verwendet und diesen inkl. der zugehörigen Sensor-ID in eine Datenbank schreibt.