Kategoriearchiv: Allgemein

APC USV mit Raspberry überwacht

Auch ein Projekt, das ich schon lange umsetzen wollte: ich möchte eine USV installieren, um bei einem Stromausfall die Netzwerkverbindungen (Internet!) über Funkfeuer aufrecht zu halten. Es sollen

  • das Funkfeuer-Equipment am Dach,
  • mein Switch,
  • der Router
  • und ein Access Point

abgesichert werden.

Die Anforderungen an die Leistung sind also recht gering (jedenfalls weit unter 100W), daher dachte ich mir, dass eine günstigere USV ausreichen müsste.

Gleichzeitig habe ich nicht die Anforderung, dass ein Server oder NAS bei einem Stromausfall heruntergefahren werden muss. Es handelt sich rein um Netzwerkgeräte, die einfach abgeschaltet werden können sobald die Akkus leer sind und auch wieder zuverlässig starten sobald sie wieder Strom erhalten.

Ich habe also die APC Backup-UPS ES 700 mit 700 VA um weniger als € 90,- gekauft.

Die wesentlichen Entscheidungspunkte waren:

  • namhafter Hersteller,
  • ausreichend Kapazität (700 VA),
  • Schuko-Steckdosen in ausreichender Anzahl,
  • ausgesprochen preiswert und
  • last but not least: sie kann über ein USB-Kabel überwacht werden und ist kompatibel zu gängigen Standards.

Inbetriebnahme

Die USV war rasch in Betrieb genommen. Es muss nur ein Kabel an die Batterie im Batteriefach angeschlossen werden und dann steckt man die USV an die Steckdose. Fertig!

Über zwei LEDs (grün und rot) signalisiert die USV den Zustand und mögliche Defekte.

Überwachung

Es wäre nicht meine Art, die USV einfach vor sich hinlaufen zu lassen und darauf zu hoffen, dass alles in Ordnung ist. Es müssen also eine Überwachung der Funktion sowie ein paar Statistiken her.

Die Daten kann man von der USV über USB abrufen. Server habe ich keinen in der Nähe, also habe ich mich entschieden einen Raspberry Pi der ersten Generation (der schon einige Monate ohne Auftrag herumkugelt) für diese Funktion einzusetzen.

apcupsd auf Raspberry Pi

Als Basissystem habe ich Debian Jessie in der Minimalinstallation (ohne grafischer Oberfläche) gewählt. Mittels

apt-get install apcupsd

ist der Daemon schnell installiert.

Zwei Konfigurationsdateien müssen dann noch angepasst werden:

Die hauptsächliche Konfiguration wird in der Datei /etc/apcupsd/apcupsd.conf vorgenommen. Ich habe nur folgende Zeilen angepasst:

UPSCABLE usb
UPSTYPE usb
DEVICE

Die Zeile „DEVICE“ bleibt bewusst ohne weitere Angabe. Das ist beim USBTYPE „usb“ so vorgesehen. Damit wird die USV automatisch erkannt.

In der Datei /etc/default/apcupsd muss ISCONFIGURED auf „yes“ gesetzt werden, damit der Dienst (beim Booten) startet.

ISCONFIGURED=yes

Nach dem Aufruf von“service apcupsd start“ startet der Daemon.

Mittels „apcaccess status“ kann auch sofort der Status der USV abgerufen werden:

pi@upsberry:~ $ apcaccess status
APC      : 001,035,0906
DATE     : 2016-12-30 14:58:11 +0100
HOSTNAME : upsberry
VERSION  : 3.14.12 (29 March 2014) debian
UPSNAME  : upsberry
CABLE    : USB Cable
DRIVER   : USB UPS Driver
UPSMODE  : Stand Alone
STARTTIME: 2016-12-30 10:53:17 +0100
MODEL    : Back-UPS ES 700G
STATUS   : ONLINE
LINEV    : 228.0 Volts
LOADPCT  : 0.0 Percent
BCHARGE  : 100.0 Percent
TIMELEFT : 38.4 Minutes
MBATTCHG : 5 Percent
MINTIMEL : 3 Minutes
MAXTIME  : 0 Seconds
SENSE    : Medium
LOTRANS  : 180.0 Volts
HITRANS  : 266.0 Volts
ALARMDEL : 30 Seconds
BATTV    : 13.5 Volts
LASTXFER : Unacceptable line voltage changes
NUMXFERS : 1
XONBATT  : 2016-12-30 10:56:54 +0100
TONBATT  : 0 Seconds
CUMONBATT: 53 Seconds
XOFFBATT : 2016-12-30 10:57:47 +0100
STATFLAG : 0x05000008
SERIALNO : 5B16xxx
BATTDATE : 2016-08-05
NOMINV   : 230 Volts
NOMBATTV : 12.0 Volts
FIRMWARE : 871.O4 .I USB FW:O4
END APC  : 2016-12-30 14:58:53 +0100

Alarmierung per Email

Beispiel einer Email-Benachrichtigung nach Ausfall der Netzspannung

Wie beschrieben benötige ich keine weiteren Maßnahmen bei einem Stromausfall. Es muss also kein Server oder NAS runtergefahren werden. Ich möchte aber schon ein Email erhalten, das mir eine Statusänderung mitteilt.

In meinem Fall habe ich einen lokalen Mailserver installiert, der die Emails direkt zustellt (ohne Smarthost bzw. nicht über einen anderen SMTP-Server).

apt-get install sendmail

Um den Emailversand zu aktivieren, gehören zwei Zeilen in der /etc/apcupsd/apccontrol angepasst:

export SYSADMIN=stefan@schultheis.at
export APCUPSD_MAIL="/usr/sbin/sendmail"

Nach dem Neustart des apcupsd habe ich die USV von der Stromversorgung getrennt und kurz darauf ein Email mit der Warnmeldung „UPS Power Failure!!!“ erhalten.

Webinterface

upsstats.cgi

Für die Anzeige von Statistiken am Webinterface gibt es vier CGIs:

  • multimon.cgi: hier wird übersichtlich der Status angezeigt. Das ist vor allem sinnvoll, wenn mehrere USVs von einem Daemon überwacht werden sollen:
    apcupsd multimon.cgi – alles OK

    apcupsd multimon.cgi – Ausfall der Stromversorgung
  • upsstats.cgi: detaillierte Statistik zu einer USV (siehe Screenshot oben)
  • upsfstats.cgi: textbasierter Output, wie beim CLI Tool „apcaccess status“ (siehe oben)
  • upsimage.cgi: hat bei mir nicht funktioniert

Installiert ist das Ganze recht einfach:

apt-get install apcupsd-cgi apache2
a2enmod cgi

Hiermit wird ein Apache Webserver installiert (falls nicht schon vorhanden) und die CGIs im Verzeichnis /usr/lib/cgi-bin/ hinterlegt. Über das a2enmod-Kommando wird CGI am Webserver aktiviert.

Ab sofort kann man mit dem Webbrowser die Statistiken zur USV abrufen. Da der Webserver nur vom internen LAN (nicht im Internet) erreichbar ist und auch auf dem Server keine weiteren Dienste laufen, habe ich mir die index.html im /var/www/html-Verzeichnis mit folgenden Einträgen überschrieben, um die CGIs gemütlich aufrufen zu können:

<title>APC USV Vorzimmer</title>
<body>
<a href="/cgi-bin/apcupsd/multimon.cgi">
apcupsd MultiMon
</a><br>
<a href="/cgi-bin/apcupsd/upsstats.cgi">
apcupsd Stats
</a><br>
<a href="/cgi-bin/apcupsd/upsfstats.cgi">
apcupsd fStats
</a><br>
<a href="/cgi-bin/apcupsd/upsimage.cgi">
(apcupsd Image)
</a>
</body>

 

Sichere SMS?

Ich werde oft gefragt, ob ich WhatsApp verwende. Das tu ich nicht, vor allem aus der Überlegung, dass WhatsApp ursprünglich keine zuverlässige Verschlüsselung bzw. Sicherheit geboten hat.

Mittlerweile hat sich die Situation geändert: WhatsApp wurde von Facebook übernommen und WhatsApp bietet nun Verschlüsselung an. Ein Umstieg ist für mich trotzdem kein Thema.

Bitte beachtet, dass ich in diesem Artikel meine persönliche Wahl beschreibe, die ich gerne als Empfehlung weitergebe. Ich habe damit schließlich gute Erfahrungen gemacht. Es gibt in diesem Themenkreis  auch andere Produkte und Lösungen, die eine Berechtigung haben. Ich möchte mit diesem Artikel keine Übersicht über die verfügbaren Lösungen schaffen, sondern meine konkrete Auswahl erklären und begründen.

Was sind also die Alternativen, für die ich mich entschieden habe?

Ich sehe zwei Lösungen die ich hier im Dunstkreis von Instant Messaging, SMS & text messages, Austausch von Video-, Foto-, Dokument-, Standortinformationen oder Kontaktdaten erwähnen würde.

Threema

Als viele User begonnen haben WhatsApp zu nutzen, war mir – wie oben erwähnt – die Verschlüsselung zu unsicher oder hat überhaupt gefehlt, wodurch ich auf Threema als Alternative aufmerksam wurde.

Threema umfasst die für mich wichtigen Funktionen und Eigenschaften. Es wurde einem Schweizer Unternehmen geschaffen, das von Anfang an auf Ende-zu-Ende-Verschlüsselung nach Industriestandards Wert gelegt hat. Eine genaue Beschreibung der Vorteile findet man naturgemäß auf der Webseite von Threema: https://threema.ch/de/

Signal / SecureText

SecureText konkurriert nicht automatisch mit WhatsApp oder Threema. Es ist eigentlich ein Ersatz für die SMS App am lokalen Smartphone. Eingehende SMS-Nachrichten können – entsprechende Konfiguration vorausgesetzt – von SecureText empfangen werden. Sie werden auch über SecureText beantwortet.

Der Clou dabei: wenn der/die Empfänger/in einer SMS auch SecureText installiert hat (das erkennt SecureText automatisch an der Handynummer), wird die Nachricht stark verschlüsselt über das Internet versendet und nicht als SMS. SecureText zeigt das über ein Symbol an (ein verschlossenes Schloss beim Sendeknopf weist auf eine sichere Übertragung über das Internet hin).

Was mir an SecureText gut gefällt ist, dass es ein schöner Ersatz für die Standard-SMS-App ist, keinen Zusatzaufwand produziert und dennoch

  1. Kosten spart (keine SMS-Kosten, wenn nicht nötig, sondern Versand über’s Internet – auch im Ausland interessant)
  2. im Hintergrund automatisch verschlüsselt – wenn es der/die Empfänger/in unterstützt.

SecureText wurde mittlerweile zu „Signal“ umbenannt und ist unter diesem Namen in den App Stores kostenfrei zu finden.

Gibt es auch Nachteile?

Durchaus. Wobei das teilweise auch auf WhatsApp und andere zutrifft.

Kosten

Es wurde schon oft diskutiert: sichere Apps dürfen etwas kosten. Oder umgekehrt gedacht: woran verdienen die Unternehmen, die kostenlose Apps verteilen? Da liegt immer der Verdacht nahe, dass es die Inhalte der User sind, die den Wert darstellen und kommerziell genutzt werden.

Diejenigen, die wirklich so leiwand sind, dass sie gute Produkte kostenfrei zur Verfügung stellen, sind meistens auch so leiwand, dass sie den Source Code zur Verfügung stellen. Und das hat wirklich einen Mehrwert, weil man dann die Sicherheit nachvollziehen kann.

Threema kostet aktuell CHF 2,00 (oder 0,0048 BTC, BitCoins)  auf der Homepage oder € 2,49 im Google Play Store. Bei iOS löhnt man € 2,99 im Apple App Store.

SecureText (heißt jetzt: Signal) ist kostenlos erhältlich.

Proprietär

WhatsApp-Benutzer können nur mit WhatsApp-Benutzern Nachrichten austauschen. Threema-Benutzer können nur mit Threema-Benutzern Nachrichten austauschen. Das ist weitreichend durch die Technologie vorgegeben.

Es zahlt sich also aus, mal im Freundeskreis zu fragen, welche Apps genutzt werden und ob eine Änderung zu Threema denkbar wäre. Die Antwort muss man dann mit den eigenen Sicherheitsbedenken abzuwägen.

Im Zweifelsfall kann man ja mehrere Messaging Apps installieren. Das ist aber nicht mein Weg.

kein Internet = keine Nachrichten

Das ist mir im Fall von Threema unangenehm aufgefallen. Da kann aber Threema eigentlich nichts dafür. Aus Sicht der Nutzbarkeit möchte ich trotzdem darauf hinweisen:

  1. Mein Handy (eigentlich: Smartphone) ist oft tagelang über das Firmen-VPN verbunden. Aus dem Firmen-VPN kann aber leider weder Threema noch SecureText verschlüsselte Nachrichten ins Internet senden oder von dort empfangen. Die Sicherheitssysteme des Unternehmens unterbinden das.
    Die Nachrichten „hängen“ also lange in meinem Handy rum, bis ich irgendwann zB. bei einem öffentlichen Hotspot mit direktem (ungefilterten) Internetzugang befinde. Und dann geht’s rund: plötzlich kommen zahlreiche Nachrichten  aus den letzten Stunden an und meine Nachrichten gehen erst jetzt raus.
    Wenn jemand mit dem Smartphone eh immer oder zumindest regelmäßig direkt mit dem Internet verbunden ist, hat er/sie das Problem aber wahrscheinlich nicht.
  2. Ich bin ja recht engagiert bei Internetprojekten tätig. Oft geht es darum, einen Internetzugang herzustellen (= den gibt es also noch nicht). Und wenn da ein Kollege am Dach ein Problem per Threema beschreibt, kann es sein, dass ich die Nachricht erst erhalte, sobald das Problem behoben ist und die Internetverbindung für uns beide wieder klappt. Das ist zwar auch eine Erkenntnis, war aber nicht hilfreich.
    In solchen Fällen ist eine klassische SMS immer noch gut. Man kann im SecureText das auch einstellen, dass man nun lieber eine SMS versenden möchte, als eine verschlüsselte Nachricht – auch wenn der/die Empfänger/in damit umgehen könnte.
  3. mir fallen da noch mehrere Beispiele ein: im fernen Ausland nutzt man üblicherweise keine permanente mobile Datenverbindung. Entsprechend kommen also auch dort die Nachrichten nicht sofort durch. SMS würden sofort ankommen und der Empfang auch keine – oder geringe? – Kosten verursachen.

Fazit: kein internet = keine Nachrichten. Das sollte einem bewusst sein.

Nachtrag / Update

Ich wurde von mehreren Seiten auf diesen Blogbeitrag angesprochen. Der wesentliche Input war, dass WhatsApp mittlerweile die Verschlüsselung von Signal übernommen hat. Im Gegenzug hat Google eine Alternative („Allo“) gelauncht, die zweifelhafter Weise nur bei Nutzung des Inkognito-Modus verschlüsselt.

2. Nachtrag (August 2016)

Mittlerweile hat Whatsapp angekündigt, weitere Nutzungsdaten und auch die Telefonnummern der User an Facebook weiterzureichen, um damit genauere Profile zu ermöglichen. Widerstand scheint zwecklos, es gibt jedoch die Möglichkeit, die Reichweite der Nutzung dieser Daten einzuschränken – ganz lässt sich die Weitergabe nicht verhindern.

Ich freue mich, dass seit der Ankündigung von WhatsApp/Facebook viele meiner Kommunikationspartner und Freunde zu den in diesem Beitrage beschriebenen Systemen gewechselt sind, die ich auch nutze.

Linux: GoPro Videos für einfache Bearbeitung mit ffmpeg konvertieren

Ich habe mir vor ein paar Wochen eine GoPro Hero 4 Black Edition gekauft und natürlich muss ich seither bei jeder Gelegenheit filmen. Da ich zu Hause nur Linux-Systeme verwende, kann ich zur Verarbeitung der Videos nicht auf das GoPro-Studio zurückgreifen. Auch die von GoPro verwendeten Codecs machen die Sache nicht einfacher.

gopro-ffmpegEinen gute Strategie dafür habe ich auf Github von KonradIT gefunden: https://gist.github.com/KonradIT/ee685aee15ba1c3c44b4#file-convert-multiple-files-md

Ich musste das Script bei mir etwas abändern, damit es funktioniert, aber mit dem Ergebnis bin ich sehr zufrieden. Das Script konvertiert mittels ffmpeg alle .MP4-Dateien aus dem lokalen Verzeichnis in .mov-Dateien mit mpeg4, die von gängigen Programmen angezeigt oder weiterbearbeitet werden können.

Hier das angepasste Script:

for i in *.MP4;
  do name=`echo $i | cut -d'.' -f1`;
  echo $name;
  ffmpeg -i $i -sameq -strict experimental -vcodec mpeg4 $name.mov;
done

Nachtrag Juli 2020: ich habe obiges Script nun im Sommer 2020 probiert. Die Option „-sameq“ wurde mittlerweile von ffmpeg entfernt. Ich habe es durch „-qscale 0“ ersetzt. Für mich hat diese abgeänderte Version des Scripts gut funktioniert:

for i in *.MP4;
do name=`echo $i | cut -d'.' -f1`;
echo $name;
ffmpeg -i $i -qscale 0 -strict experimental -vcodec mpeg4 $name.mov;
done

Dieser Konvertierungsvorgang dauert zwar ziemlich lange – bei mir zirka die 6-7fache Spieldauer des Videos, aber es kann im Hintergrund laufen und beseitigt meine Probleme mit fast allen Programmen.

Mein Beispielvideo habe ich mit 2,7k Auflösung (2704×1520) und 50 fps erstellt. Es hat eine Länge von 40,58 Sekunden und ist 305 MB groß.
Der Konvertierungsvorgang hat 4 Minuten 35 Sekunden gedauert (Prozessor Quad Intel(R) Core(TM)2 Quad CPU Q6600  @ 2.40GHz). Die Ergebnisdatei (.mov-Datei) ist 210 MB groß.

Durch hinzufügen des Parameters „-threads 8“ lassen sich mehrere Prozesse zur Konvertierung von ffmpeg nutzen, also mehrere CPU-Kerne, falls verfügbar. Auf meinem System reduziert sich die Dauer damit um ca. 20%-23%.

APRS Smartbeaconing bewährt sich bei mir nicht

AP510 mit SmartBeaconing, zu Fuß + mit Straßenbahn unterwegs
AP510 mit SmartBeaconing, zu Fuß + mit Straßenbahn unterwegs

SmartBeaconing ist eine gute Idee: statt per APRS seine Position alle x Sekunden auszusenden und damit das APRS-Netz unnötig zu belasten, wird die Position nur gesendet, sobald es das System „smart“ findet: bei Richtungsänderungen, wesentlichen Geschwindigkeitsänderungen, etc.

Das entlastet das Netz hinsichtlich der Anzahl an Meldungen, die direkt oder über Digipeating übertragen werden und erhöht die Wahrscheinlichkeit für andere Benutzer, dass Airtime für deren Aussendung frei ist.

AP510 im Rucksack in der Straßenbahn (Antenne ist hier testweise eine Nagoya NA-771)
AP510 im Rucksack in der Straßenbahn (Antenne ist hier testweise eine Nagoya NA-771)

Ich habe überall SmartBeaconing verwendet. Schließlich bin ich großteils im Stadtgebiet von Wien und in der näheren Umgebung unterwegs und dort ist die Dichte an APRS-Empfängern & -Digipeatern sehr hoch.

AP510 APRS Tracker am Boot auf der Adria bei Kroatien im Juni 2015
AP510 APRS Tracker am Boot auf der Adria bei Kroatien im Juni 2015

Leider hat sich SmartBeaconing für mich nicht bewährt: obwohl ich mit 5 Watt über eine externe Magnetfußantenne (Nagoya UT-106UV) vom Autodach aus sende, werden nur 30-40% meiner Meldungen aufgenommen. Und das reicht nicht, um die Strecke annähernd korrekt abzubilden. Vor allem, wenn eine Richtungsänderung nur alle 1-2 Minuten passiert, hinterlasse ich nur alle 5 Minuten einen Punkt auf der Map bei dieser schlechten Erfolgsquote der Übertragung.

Ich habe daher SmartBeaconing deaktiviert und sende im Moment stur alle 30 Sekunden. Damit bekomme ich ausreichend Übertragungen zusammen, um die Route gut abzubilden. Gleichzeitig ist mir bewusst, dass dadurch das Netz stärker belastet wird. Da ich aber nicht viel mit dem Auto unterwegs bin, denke ich, dass es zumutbar ist

APRS Strecke mit Argent OpenTracker USB ohne SmartBeaconing
APRS Strecke mit Argent OpenTracker USB ohne SmartBeaconin

 

SainSonic AP510

Vor einigen Monaten habe ich mir ein SainSonic AP510 um knapp € 100,- über eBay aus DL gekauft. Ich bin total begeistert! Vielleicht ausnahmsweise mal weniger, weil es etwas Bestimmtes so gut kann. Sondern diesmal weil es so viel kann.

Das Ding wird als „APRS Tracker VHF GPS Bluetooth Thermometer TF Card APRSdroid“ angepriesen. Man sieht schon: da steckt viel drinnen.

Ursprünglich dachte ich, ich kaufe einen APRS Tracker. Ich war froh, dass ein leistungsfähiger Akku (angeblich 3.300mAh LiPo) drinnen ist, der auch wirklich 2 Tage hält, und dass ich kein separates Funkgerät brauche (mit komplizierten und herstellerspezifischen Adapterkabeln), sondern ein Transceiver mit 1 Watt (manche behaupten 1,5 Watt) für VHF (2 Meter-Band) mit drinnen ist.

Auspacken & Inbetriebnahme

Ich möchte da ja nicht zu sehr auf andere Blogger verweisen. Aber lest mal, was die alles erlebt haben! Ich kann das großteils auch bestätigen, aber die zentrale Aussage bleibt: auspacken und gleich mal ein Firmware Upgrade machen. Damit erspart ihr euch diese Erfahrungen und mit der Firmware aus Oktober 2014 funktioniert das Gerät bei mir sehr gut.

Meine Erfahrungen habe ich mit der Software vom 8.10.2014 (20141008) gemacht. Generell kann ich den Thread des Herstellers empfehlen. Die Seite ist zwar 95% chinesisch, aber die Downloads sind zu erkennen und selbsterklärend: http://www.y027.com/dvbbs8/dispbbs.asp?boardid=5&Id=829

Falls das Update-Programm nach dem Start alles chinesisch darstellt, habe ich einen einfachen Trick gefunden: im Verzeichnis des Programms gibt es eine Datei „avrubd.ini“. Öffnet diese mit einem Texteditor und sucht im obersten Block „[last]“ nach „language“ und ändert diese auf „English“:

language=English

Ein paar Dateien werden für den Start der Programme benötigt, zB. mscomm32.ocx oder msstdfmt.dll. Diese Dateien findet ihr im Internet oder auf der Seite eines anderen Bloggers.

In der Version von Oktober 2014 hat sich das Konfigurationsprogramm einwandfrei bedienen lassen.

20150612 - Konfig StefanDie Einstellungen sind weitgehend selbsterklärend. Folgende Punkte möchte ich kurz beschreiben:

  • MIC-E aktiviert die Komrimierung der APRS-Daten. Ich habe damit in OE, S5, HA und 9A keine Probleme gehabt. Die Übertragungsdauer wird durch diese Funktion reduziert.
  • Smart beaconing: das ist ein lobenswertes Feature, mit dem nicht ununterbrochen periodisch Nachrichten gesendet werden, sondern Meldungen erst dann geschickt werden, wenn sich meine Fahrtrichtung ändert.
  • Busy-control: damit hört der AP510 kurz in den Kanal, ob dieser frei ist, bevor die eigene APRS-Aussendung beginnt.

Erfahrungen

AP510 im Rucksack in der Straßenbahn (Antenne ist hier testweise eine Nagoya NA-771)
AP510 im Rucksack in der Straßenbahn (Antenne ist hier testweise eine Nagoya NA-771)

In den nächsten Tagen habe ich das Gerät überall mitgenommen. Zum Testen natürlich.

SainSonic AP510 im Zug mit Antenne Diamond RH951S
SainSonic AP510 im Zug mit Antenne Diamond RH951S

Meine Positionsmeldungen wurden großteils gut übertragen, ich habe allerdings in Gebäuden (auch direkt hinter (vmtl. bedampften) Fenstern) oft keinen GPS Fix bekommen.

 

 

 

Let’s encrypt: Zertifikat automatisch erneuern

Im vorigen Beitrag habe ich für diesen Blog ein Zertifikat von Let’s encrypt! erstellt. Dieses ist 3 Monate gültig. Es ist vorgesehen, dass das Erneuern des Zertifikats automatisch passiert.

Konkret werde ich einen Cronjob erstellen, der monatlich ein neues Zertifikat mit Hilfe des „letsencrypt-auto“ Python-Script bezieht.

Konfiguration

Um mir eine Menge Kommandozeilenoptionen zu ersparen, erstelle ich eine Konfigurationsdatei /etc/letsencrypt/cli.ini, die meine Standardwerte enthält:

rsa-key-size = 4096
text
redirect
renew-by-default
agree-tos 
email = meine.email@adresse.at

Hier sind die Parameter kurz erklärt:

rsa-key-size
entweder 2048 (Standard) oder sicherer mit 4096 Bit. Ich möchte meine Zertifikate mit 4096 Bit RSA erstellen.

text
nur im Text-Modus starten (ohne Menüführung). Schließlich soll der Client automatisch im Hintergrund funktionieren.

redirect
ich wurde immer gefragt:

Please choose whether HTTPS access is required or optional.
-------------------------------------------------------------------------------
1: Easy - Allow both HTTP and HTTPS access to these sites
2: Secure - Make all requests redirect to secure HTTPS access
-------------------------------------------------------------------------------
Select the appropriate number [1-2] then [enter] (press 'c' to cancel):

Um diese Frage vorab zu beantworten, fügt man entweder die CLI-Option „–redirect“ an, oder eben in der cli.ini den Ausdruck „redirect“. Damit wird die Option 2 gewählt: make all requests redirect to secure HTTPS access.

renew-by-default
Erneuert das Zertifikat standardmäßig.

agree-tos
Damit stimmt man den Regeln von let’s encrypt! zu. Schließlich wollen wir den Vorgang ja per Cronjob automatisieren und nicht die Regeln manuell bestätigen müssen.

email
Die Email-Adresse, mit der ich bei let’s encrypt! registiert bin.

Testlauf

Zuerst muss ich das Kommando testen:

./letsencrypt-auto -c /etc/letsencrypt/cli.ini -d stefan.schultheis.at

Es funktioniert:

letsencrypt-headless

Cronjob

Um den Job am 20. des Monats um 6:10 auszuführen, habe ich als User root in der Datei /etc/crontab folgenden Eintrag erstellt:

$ sudo vi /etc/crontab

10 6   20 * *   root    /home/stefan/letsencrypt/letsencrypt-auto -c /etc/letsencrypt/cli.ini -d stefan.schultheis.at

Der Cron-Daemon muss die Änderung noch neu laden:

$ sudo service cron reload

Damit bekomme ich jedes Monat am 20. Tag das Zertifikat erneuert. Da derzeit das Zertifikat für 90 Tage gültig ist, bin ich damit auf der sicheren Seite und habe immer ein Zertifikat, das maximal 31 Tage alt ist.

Installation des XenServer 6.5 auf SD-Karte im HP MicroServer Gen8

hpmicroservergen8Für meine Anwendungen zu Hause habe ich einen HP MicroServer Gen8 erstanden und um RAM (2 GB zu 10 GB), SD-Karte, ILO-Lizenz ua. um insgesamt rund € 300,- erweitert.

SD-Karte? Ja, am Motherboard ist ein SD-Karten-Slot. Ich habe dort die 16 GB Micro SD-Karte eingelegt. Das Ziel ist ein Virtualisierungs-Host, der von SD-Karte bootet und somit „diskless“ (also ohne Festplatten (HDD/SSD)) funktioniert. Die Daten kommen über iSCSI oder NFS von meinem Synology NAS (DiskStation DS214play).

Mittlerweile habe ich den VMWare ESXi 6 U1 probiert und auch XenServer 6.5 SP1. Beide Versionen sind frei erhältlich und bieten viele Funktionen in der kostenfreien Variante. Über eine kostenpflichte Lizenz sind weitere Funktionen verfügbar. Ich habe hier die freien Versionen getestet.

SD Karte = USB Gerät

Als Installationsgerät wählt man jeweils „USB“. Sowohl im BIOS als auch bei der Installation eines Hypervisors wird die SD-Karte als 14 bzw. 16 GB Speichermedium angezeigt.

Dieses Konzept birgt eine Gefahr: wenn am Server glzg. ein USB-Stick angeschlossen ist, kann es ein, dass dieser versucht, vom Stick anstatt von der SD-Karte zu booten.

Im Internet wird dieses Thema mehrfach behandelt. Ggf. einfach mal danach suchen…

VMWare ESXi 6

Ich habe natürlich zuerst das spzielle HP Image für VMWare ESXi 6 U1 genommen. Dieses Image verspricht aktuellere und umfangreichere Treiber für HP Server. Dabei fiert das System jedoch bei der Installation ein.

Mit der von VMWare bereitsgestellten ISO hat die Installation problemlos geklappt. Auch im Betrieb hat sich das System in einer Testwoche bewährt und vorhandene VMs von meinem älteren ESXi (5) betrieben.

XenServer 6.5

Ich habe bisher wenig Erfahrung mit XenServer. Aber ich habe mittlerweile Vertrauen in die Zuverlässigkeit der Lösung gewonnen und bin auch an den kostenfreien Featues interessiert, die bei VMWare kostenpflichtig sind (allen voran VMotion bzw. eine andere Out-of-the-box Migrationsmethode).

Der XenServer war problemlos installiert. Ich habe ein paar meiner VMWare-VMs konvertiert (bzw. importiert) und auch ein paar neue Ubuntu VMs angelegt. Alles hat wunderbar funktioniert und auch mit der Performance war ich sehr zufrieden.

Fazit

Beider Hypervisor funktionieren einwandfrei und sehr performant auf dem Server. Wer mehr Performance möchte, kann den HP MicroServer Gen8 mittlerweile auch mit Intel Xeon E3-1220LV2 CPU inkl. 8 GB RAM kaufen.

HP MicroServer Gen8 Stromverbrauch

Zum Herumprobieren und für ein paar Anwendungen zu Hause (Interface zur Hausautomatisierung, ua.) habe ich einen neuen kleinen Server gesucht. Meine wesentlichen Anforderungen sind:

  • Unterstützung von Virtualisierung (VMWare ESXi, XenServer oder Hyper-V)
  • geringer Stromverbrauch
  • einfach zu managen
  • vernünftiger Preis

hpmicroservergen8Mit diesen Anforderungen wurde mir von einem Freund der HP MicroServer Gen8 empfohlen. Das Gerät kostet aktuel zirka 210,- Euro und ist ein „echter“ kleiner Server. ILO 4 (https://de.wikipedia.org/wiki/Integrated_Lights-Out) inklusive.

Wunderbare Sache! Ich habe den Server bestellt und noch um folgende Module erweitert:

  • ILO 4 Advanced Lizenz um € 18,12. (hier gekauft)
  • Kingston KVR1333D3E9S/8G Arbeitsspeicher 8GB (DDR3 ECC CL9 DIMM, 240-pin), um € 68,03 (hier gekauft)
  • MicroSD-Karte als Storage für die Virtualisierungsplattform (war vorhanden)

In Summe bin ich unter 300 Euro geblieben. Damit habe ich mein Ziel vorerst erreicht:

Der HP MicroServer wurde bei mir mit 2 GB RAM geliefert, durch das Upgrade habe ich nun 10 GB zur Verfügung. (Im Link oben verweise ich auf das neuere Modell, das bei etwa dem gleichen Preis mit 4 GB ausgeliefert wird.) In Zukunft kann ich das 2 GB Modul gegen ein weiteres 8 GB Modul tauschen und hätte dann 16 GB zur Verfügung. Das ist auch das Maximum, das der HP MicroServer Gen8 unterstützt.

Das Installieren des Betriebssystems (in meinem Fall habe ich zu Beginn Citrix XenServer probiert) funktioniert über ILO Advanced mit der Remote Console ohne Probleme und auch ohne Datenträger. Das ISO Image muss nur in der Remote Console gemountet werden und die Installation erfolgt superschnell über das Netzwerk.

In diesem Setup möchte ich nun den Stromverbrauch überprüfen. Das mache ich mit meinen bewährten Edimax2101W (hier gekauft).

Das Ergebnis:

  1. beim Starten: 45 Watt
    gen8watt01
  2. unter Last (beim Booten): 31 Watt
    gen8watt02
  3. und im Leerlauf: 27 Watt
    gen8watt03
  4. ausgeschaltet zieht die ILO-Funktion übrigens 5,5 Watt.

Unifi AP-AC-Pro: erste Eindrücke

Heute habe ich meinen ersten Unifi AP AC Pro erhalten. Eigentlich hat der Händler die Geräte – nach eigenen Angaben – erst ab Jänner 2016 lieferbar, aber ein einzelnes Gerät konnte er mir reservieren und schicken.


Update Dezember 2016: mittlerweile gibt es modernere Access Points, als ich in diesem Beitrag beschreibe. Ich habe dazu einen anderen Blogbeitrag verfasst und würde empfehlen, eher ein Produkt der moderneren UAP AC-Serie zu wählen, falls dieser Artikel zu einer Kaufentscheidung herangezogen wird.


Nachtrag Jänner 2017: mittlerweile sind auch 802.11ac-fähgie Geräte im leistbaren Segment für Außeninstallationen erschienen, die ich in einem separaten Artikel vorstelle. Diese Geräte eigenen sich auch gut für den Innenbereich.


Optik und Montage

Optisch sieht das Gerät den anderen (runden) Unifi APs sehr ähnlich, als Unterschied fällt mir eigentlich nur das neue Ubiquti-Logo auf. Ich möchte einen Unifi AP LR ersetzen, die Montagehalterung ist die gleiche bzw. passt und so musste ich nur den alten von der Halterung herunterdrehen und den neuen AP reindrehen. Das klingt ein bißerl einfacher, als es tatsächlich ist: die Öffnung für den Schraubenzieher, mit dem der AP gehalten wird, hat mich ganz schön ins Schwitzen gebracht, aber es war zu schaffen.

Inbetriebnahme

Das Gerät hat sich sofort an meinem lokalen Unifi Controller angemeldet und problemlos adoptieren lassen und ich habe das WLAN-Profil für zu Hause ausgewählt.

Ich verwende die aktuelle Version 4.7.5 des Controllers. Der AP wurde mit SW Version 3.4.7.3231, die mit einem Klick auf „Upgrade“ rasch auf 3.4.7.3284 gehoben war.

Und schon haben sich die ersten Geräte über den neuen AP verbunden.

Neu: Konfiguration per Handy App

Ich habe es nicht selbst probiert, aber die neue Generation von Unifi APs können per Smartphone-App (derzeit nur Android App) konfiguriert werden und benötigen somit keinen Unifi-Controller bei der Inbetriebnahme!

erste Tests

windowsacViele Geräte verbinden sich lieber über 2,4 GHz und 802.11n-Standard. Nur einzelne Laptops und Smartphones nutzen den 802.11ac-Standard auf 5 GHz. Sie zeigen aber Übertragungsraten von mehr als 300 MBit/s an (im Bild sind es 780 MBit/s, also 2×2 MIMO mit 802.11ac bei 80 MHz Kanalbreite – das Maximum wäre 867 MBit/s). Meine Tests haben derzeit keine gesteigerte Bandbreite ergeben, aber ich möchte das in den nächsten Tagen noch genauer testen.

Was mir auffällt

Ein paar neue Features sieht man sofort im Unifi Controller:

  • unifi-rf-environmentRF environment

Damit scannt der Access Point die Umgebung (alle Clients verlieren derweil die Verbindung, es wird jedoch mit einer kurzen Warnung darauf hingewiesen) und zeigt die Belegung der Kanäle und deren Rauschen (Interference) an. Das finde ich sehr interessant, weil man so auch aus der Ferne einen möglichst idealen Kanal finden und konfigurieren kann.

  • unifi-5ghz-kanäle-acKanalauswahl

Bei 2,4 GHz bietet der AP die üblichen 13 WLAN Kanäle an.
Bei 5 GHz kann man jedoch nur aus Kanal 36, 40, 44 und 48 wählen. Der Grund liegt wohl darin, dass bei diesen Indoor-Kanälen kein DFS gefordert ist bzw. offenbar die APs derzeit DFS nicht unterstützen. Aufgrund meiner Ländereinstellung „Austria“ werden somit die anderen Kanäle ausgeblendet.

  • unifi-rf-env5ghzKanalbandbreite

Standardmäßig werden 40 MHz Kanalbandbreite genutzt. Man kann diese Einstellung auf 20 MHz reduzieren oder auf 80 MHz erweitern. Die Top-Geschwindigkeiten sind natürlich nur mit 80 MHz zu erzielen. Nachdem nur 4 Kanäle zur Verfügung stehen, kommt es hier leider zu Überschneidungen, sobald man 40 oder 80 MHz Kanalbandbreite einstellt.

Fazit

Das Gerät war superschnell installiert und in Betrieb genommen – vor allem, da ich es ja in meine bestehende Unifi-Umgebung integriert habe. Ich würde mir noch DFS-Unterstützung wünschen, damit auch alle, oder zumindest mehr als 4 Kanäle, zur Verfügung stehen.

Der Stromverbrauch meiner Kaffeemaschine

edimax2101wJetzt kann ich dank fhem und des Edimax 2101W den Stromverbrauch meiner Haushaltsgeräte messen. Und begonnen habe ich, wie ihr wisst, mit der Nespresso Kaffemaschine:

edimax-fhem-kaffeemaschinenverbrauch

Die obere Grafik zeigt jeweils den Monatsverbrauch in kWh. Die untere Grafik zeigt den jeweils aktuellen Stromverbrauch in Watt. Die Granularität ist 30 Sekunden.

Hier eine detailliertere Ansicht (gezoomt):

edimax-nespresso-detailverbrauch

Was können wir aus diesen zwei Grafiken ableiten:

  • das Aufheizen der Maschine benötigt weniger als 1 Minute und „zieht“ 1100-1200 Watt
  • für das Halten der Temperatur benötigt die Maschine immer wieder bis zu 400 Watt
  • wenn ich mir einen Kaffee mache, zeigt der Edimax 2101W kurz 45 Watt an, ich vermute hier die Pumpe, etc

Daraus ergibt sich in kWh:

  • für’s Aufheizen verbraucht die Maschine etwa 0,003-0,005 kWh (= 3-5 Wh)
  • inkl. Aufheizen und einer Stunde Betrieb verbraucht die Maschine zirka 0,016 kWh (16 Wh)
  • für jede weitere Stunde verbraucht die Maschine 0,0091 kWh (= 9,1 Wh