Erfahrungsbericht NAS-Synology DS212+ hier gehts lang!
Update 05.10.2012: Neues Modell verfügbar -> Synology Disk Station DS213+ – NAS-Server DS213+
Update: 31.07.2012 Akualisierung des Beitrages: Zwei Seriell-2-USB-Adapter an der Synology DS212+
Eigentlich schreibe ich jetzt den zweiten Blog-Beitrag vor dem Ersten. Kurze Einleitung: Ich habe vor kurzen eine neue NAS gekauft, eine Synology NAS DS212+ NAS-Server (2GHz, 512MB RAM, SATA II, 2-Bay, 2 x USB 3.0)
Über die vielen Vorteile der Synology DS212+ schreibe ich in einem späteren Artikel.
Da ich in der neuen NAS einen schnellen Prozessor (2GHz, 512MByte-RAM) habe und sich die NAS nach meiner Erfahrung sowieso zu 95% langweilt, habe ich beschlossen, die schöne schwarze Kiste auch für andere Zwecke als nur zur Datenspeicherung zu benutzen. Die Synologie DS212+ bietet mit der neuen Oberfläche DSM 4.0 noch einige Tools an, wie Camera Surveillance /Überwachungscamera – auch mit der hootoo und EasyN, Downloader, eMail-Client, iCloud usw.
Doch nun zum eigentlichen Thema: Temperaturmessung
Aus den letzen Projekten besitze ich noch einige Temperaturfühler DS18S20 und eine Handvoll Elekronik, welche ich mir damals für unter 10 Euro bei amazon.de (10 x DS18B20 Digitale Temperaturfühler
gekauft habe und selber zusammengelötet habe. Die Elektronik passte in einem handelsüblichen DSUB9-Adapter. Um von der DSUB9 (serielle Schnittstelle) zum USB-Anschluss zu kommen, musste noch ein Adapter gekauft werden, nämlich diesen Digitus DA-70156 USB Seriell Adapter USB 2.0
Zum Zusammenbau dieser Schaltung schreibe ich jetzt nichts, dafür gibt es viele Websites.
Interessant ist die Frage, wie man den (oder die) Temperaturfühler an die Synology DS212+ anschließt.
Das ist leider etwas kompliziert, weil dazu softwaremäßig einige Vorbereitungsmaßnahmen erforderlich sind.
Gehen wir aber mal zusammen im Schnelldurchlauf die einzelnen Schritte durch.
- putty Konsole konfigurieren / aktivieren
- IPKG – installieren
- IPKG – sichern damit beim Neustart IPKG nicht wieder weg ist
- Digitemp installieren
- Treiber für Seriell->USB-Adapter installieren
- Treiber testen
- Schaltung mit Seriell->USB-Adapter verbinden
- Software mit der Schnittstelle und den Temperaturfühler-Modul testen.
putty Konsole Konfigurieren / aktivieren
Um alles installieren zu können, benötigt ihr zunächst den Zugriff auf die Konsole. Die sieht so aus wie die langweilige DOS-Box aus den 80igern. Einen SSH-Zugriff erhaltet ihr wenn in der Administrations-Oberfläche der Synology (DSM 4.0) in der Systemsteuerung nach dem Symbol Terminal sucht und dort SSH-Dienst aktivieren klickt.
Anschließend „installiert“ man putty und gibt dort die IP-Adresse der NAS ein (SSH-Zugriff). Es meldet sich dann die NAS mit Benutzername / Passwort: Als Benutzername gebt ihr root ein (!) und euer Passwort von der NAS. Und die NAS meldet sich mit DiskStation>
IPKG installieren.
Diese Klitze-Kleine-Verwaltungspaket, siehe Wikipedia muss zunächst auf die Synology installiert werden. Dafür gibt es einen Wiki-Beitrag von Synology, welchen ihr durcharbeiten solltet. Wichtig: Ihr müsst das passende IPKG-Paket zum Prozessor installieren. Für die DS212+ heißt dieser Kirkwood-Marvell (-> Übersicht Synology-Prozessoren).
IPKG – sichern damit beim Neustart IPKG nicht wieder weg ist
Was nicht in der Wiki drinsteht: Nach einem Reboot ist das IPKG wieder verschwunden, eine Lösung dafür steht in diesem Beitrag.
Okay, erste Hürde genommen, testen könnt ihr IPKG in der Konsole mit:
ipkg list |more
und dort werden viele Pakete aufgelistet, die ihr installieren könnt.
Digitemp installieren
digitemp wurde damals von Brian C. Lane entwickelt und ist Open-Source. Ich habe digitemp schon damals zur Temperaturmessung für meine Fritzbox 7170 benutzt. Meine aktuelle Fritzbox 6360 von Unitymedia ist derzeitig leider nicht hackbar.
Zum Installieren gebt ihr in der Konsole ein:
ipkg install digitemp
Eigentlich wären wir jetzt schon fertig, wenn es diese Adapterproblematik nicht gäbe. Deshalb lautet der nächste Schritt ->
Treiber für Seriell->USB-Adapter installieren
Ich benutze hier den Seriell-to-USB-Adapter von Amazon.de -> Digitus DA-70156 USB Seriell Adapter USB 2.0
Möglicherweise funktionieren auch andere Adapter, soll jeder für sich selber rausknobeln. Der Digitus-Adapter hat den FTDI -Chipsatz installiert und das muss irgendwie der NAS gesagt werden, mehr noch, bei der NAS muss jetzt die serielle Schnittstelle installiert werden. Wie das funktioniert habe ich einem Beitrag gefunden (Abschnitt Getting Started with Synology hacking). Wichtig: Wenn ihr einen der obigen Seriell-2-USB-Adapter benutzt, müsst ihr neben der usbserial.ko auch insmod pl2303.ko und insmod ftdi_sio.ko installieren!
Update 12.08.2012: Ich habe festgestellt, dass der Digitus Seriell-to-USB Adapter mit dem FTDI-Chip viel besser funktionierte, als der preiswertere mit dem pl2303-Chip. Ebenfalls gibt es beim Digitus sogar Treiber für Windows 7.
Damit alles auch nach einem Reboot gespeichert bleibt, in die Datei /etc/rc.local heinschreiben:
insmod /<path>/usbserial.ko
insmod /<path>/ftdi_sio.ko
insmod /<path>/pl2303.ko
mknod /dev/usb/ttyUSB0 c 188 0
Wenn ihr 2 USB-2-Seriell-Adapter benötigt, dann in dem obigen Code noch die Zeile
mknod /dev/usb/ttyUSB1 c 188 1
einfügen. Eigentlich benötigt man entweder den ftdi-Treiber oder den pl2303-Treiber, aber so ist man auf der sicheren Seite.
Wenn ihr die NAS dann nochmal gebootet habt, erst mal einen Kaffee trinken!
Treiber testen
Dafür habe ich wieder den Abschnitt Getting Started with Synology hacking genommen. Der pl2303-Treiber bzw. ftdi-Treiber muß in der Liste auftauchen!
Software mit der Schnittstelle und das Temperaturfühler-Modul testen.
Wenn jetzt der Seriell->USB-Adapter funktioniert, kann er mit:
digitemp_DS9097 -a -n 0
bzw. direkt an die Serielle Schnittstelle
digitemp_DS9097 -s/dev/usb/ttyUSB0 -a -i
getestet werden.
Das Ergebnis in der Konsole sieht dann so aus:
DiskStation> digitemp_DS9097 -a -n 0
DigiTemp v3.5.0 Copyright 1996-2007 by Brian C. Lane
GNU Public License v2.0 - http://www.digitemp.com
May 25 13:20:02 Sensor 0 C: 28.50 F: 83.30
May 25 13:20:06 Sensor 1 C: 25.12 F: 77.22
May 25 13:20:08 Sensor 0 C: 28.62 F: 83.53
May 25 13:20:10 Sensor 1 C: 25.12 F: 77.22
May 25 13:20:11 Sensor 0 C: 28.69 F: 83.64
Die Ausgabe kann noch geändert werden, einfach mal die Hilfe vom Digitemp aufrufen mit:
digitemp_DS9097 -h
Temperaturdaten auf einen an der Synology angeschlossenen USB-Stick speichern:
Um im Intervall von 10 Minuten auf einem USB-Stick die Temperaturen der Sensoren zu speichern, einfach in /etc/crontab folgende Zeile hinzufügen
*/10 (tab) * (tab)* (tab)* (tab)* (tab) root (tab) /opt/bin/digitemp_DS9097 -q o"%d.%m.%Y %H:%M:%S;%.2C;" -t0 -l/volumeUSB1/temp0.txt
Anschließend den Cronjob mit
synoservice --restart crond
wieder neu starten.
Grund für die Verwendung eines USB-Sticks: Die Festplatte geht nach 10min bei mir im Hibernation-Mode, also schaltet sich ab. Durch das Schreiben der Daten auf dem USB-Stick wird diese nicht aufgeweckt, spart Strom und Festplatten-Lebensdauer.
Die Ausgabe in der temp0.txt sieht so aus, wenn alle 3 Minuten eine Messung vorgenommen wird:
03.06.2012 01:15:02;11.31;
03.06.2012 01:18:02;11.44;
03.06.2012 01:21:02;11.38;
03.06.2012 01:27:02;11.38;
03.06.2012 01:30:03;11.44;
03.06.2012 01:33:05;11.44;
Diese Daten kann man jetzt natürlich weiter verwenden.
Wie gehts weiter? Okay, Möglichkeiten gibt es genug. Da man an diesem Modul sehr viele DS18S20-Temperaturfühler anschließen kann, kann man die Daten über Scripte natürlich weiterverarbeiten.
Also selbst mal aktiv werden und Ideen in den Kommentaren posten!