Sonntag, 19. Juni 2016

Erstes Arduino Projekt umgesetzt

"Houston, der Arduino sendet jetzt die korrekten Temperaturwerte des via OneWire angeschlossenem  Dallas 18B20 IC über die serielle..." :-) - Danke an Chris für die Starthilfe.



Sehr fein - Die Arduino Entwicklung funktioniert sogar via Eclipse Umgebung! 




Sonntag, 15. Mai 2016

Raspberry Pi - Pakete automatisch aktualisieren mit unattended-upgrades, apt-listchanges und apticron

unattended-upgrades installieren

sudo apt-get install unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgrades

Konfigurieren

sudo nano /etc/apt/apt.conf.d/50unattended-upgrades

Unattended-Upgrade::Origins-Pattern {
    // "origin=Raspbian,archive=stable,label=Raspian";
    "origin=Raspbian,archive=stable";
    "origin=Raspberry Pi Foundation,archive=stable";       
};
Zusätzlich in der Konfigutaionsdatei die Optionen für Mailbenachrichtigung und Autodelete anpassen.

Logausgabe:

/var/log/unattended-upgrades/unattended-upgrades.log

Testlauf:

sudo unattended-upgrades --dry-run

apt-listchanges

Zeigt die Changelog Informationen bei Upgrades an.
sudo apt-get install apt-listchanges
sudo dpkg-reconfigure apt-listchanges
//config liegt unter: /etc/apt/listchanges.conf

Benachrichtigen mit apticron

apticron informiert per mail über neu verfügbare Pakete:
sudo apt-get install apticron
sudo dpkg-reconfigure apticron  

Quellen:

Donnerstag, 5. Mai 2016

Raspberry Pi SD Karten Backup unter Mac OS

Spätestens nach dem zweiten Neuaufsetzen des Raspian OS macht es Sinn sich einmal Gedanken zur Datensicherung des kompletten SD-Images zu machen. :->
Wunschliste zur SD Karten Sicherung:
  • Zuverlässig
  • Handhabung: einfaches Sichern und Wiederherstellen
  • schnell
  • resourcenschonend
Auf raspberrypi.org gibt es zum Backup der Raspi Daten eine gute Zusammenfassung. Unter INSTALLING OPERATING SYSTEM IMAGES finden sich Beschreibungen zu den einzelnen Betriebssystemen.

Schneller zippen: pigz statt gzip verwenden

pigz ist kompatibel mit gzip, nutzt aber mehrere Prozessorkerne. Für das 1.3GB große Jessie-Image ergaben sich auf einem MacBook Air mit 1,8 GHz Intel Core i7 folgende Werte:
$ time pigz --best --keep --force 2016-03-18-raspbian-jessie-lite.img`
real    0m46.547s
Dateigröße: 296,7 MB

$time gzip --best --keep --force 2016-03-18-raspbian-jessie-lite.img`
real    2m6.290s
Dateigröße: 296,8 MB

Image von SD-Karte erstellen (Mac OS)

  1. SD-Karte einlegen
  2. mit ‘diskutil list’ die Disknummer der SD-Karte ermitteln (3)
  3. Unmount SD-Karte mit diskutil unmountDisk /dev/disk<disk# from diskutil>. Zum Beispiel diskutil unmountDisk /dev/disk3
  4. Copy SD-Karte auf Image Datei: sudo dd bs=1m if=/dev/rdisk3 | pigz > raspi-ths-jessie-20160501.img.gz (CTRL-T trackt den Fortschritt)

Image auf SD-Karte schreiben (Mac OS)

  1. SD-Karte einlegen (ohne Schreibschutz)
  2. mit diskutil list die Disknummer der SD-Karte ermitteln (3)
  3. Unmount SD-Karte mit diskutil unmountDisk /dev/disk<disk# from diskutil>. Zum Beispiel diskutil unmountDisk /dev/disk3
  4. Copy Image Datei auf SD-Karte: sudo gunzip -c raspi-ths-jessie-20160501.img.gz | sudo dd bs=1m of=/dev/rdisk3            (CTRL-T trackt den Fortschritt)

Tontech Touch Screen MZ61581 am Raspberry Pi

Eigentlich sollte der Raspberry ja “headless” als Server im Netz laufen. Letztendlich konnte ich dann doch nicht widerstehen und bestellte das Tontech Touch Display Model MZ61581 bei Amazon. Die mitgelieferte Installationsanleitung kam etwas sehr winzig und dürftig daher. Mein erster Installationsversuch schredderte auch erfolgreich die SD-Karte und der Raspi hing beim booten. Nach Neuinstallation (und Backup) klappte es dann folgendermaßen:

Installation

Die Installation erfolgte auf einem Raspberry Pi 3 mit Raspian “Jessie” gemäß dem Blogeintrag von Davies-Barnard Tontec Touch Screen Set Up

Kalibrierung

Zunächst wie in der Tontech-Anleitung beschrieben die Kalibrierungssoftware installieren. Dann via (SSH-)Shell das Setup starten:

pi@raspi:~ $ DISPLAY=:0.0 xinput_calibrator

Zum persistenten Speichern das Snippet aus der Konsolenausgabe nach /usr/share/X11/xorg.conf.d/99-calibration.cont kopieren:

Section "InputClass"
  Identifier      "calibration"
  MatchProduct    "ADS7846 Touchscreen"
  Option  "Calibration"   "248 3839 404 3714"
  Option  "SwapAxes"      "0"
EndSection

Fazit

Nach kurzer Recherche im Netz ließ sich das Display fix konfigurieren. Die Beschreibungen von Tontech machen einen durchwachsenen Eindruck (die aktuellen Beschreibungen sind im Internet nur als MS-*.docx Dateien abgelegt, die unter Mac oder iOS falsch gerendert werden - schwarze Schrift auf schwarzer Box - toll. Vor der Installation auf jeden Fall ein Backup des Systems ziehen! Das mitgelieferte Gehäuse erfüllt seinen Zweck und ist recht pfiffig konstruiert. Mir wäre ein noch stabileres, weniger “knarzeliges” Gehäuse lieber. Für Bastelzwecke, Prototypen mit eigener GUI geht es aber voll OK :-) Als Desktop Ersatz verbietet sich die Lösung schon allein wegen der geringen Auflösung. Wer keinen Wert auf ein kleines Display mit kompaktem Gehäuse für den Raspi legt ist mit dem kapazitativen Raspberry 7’er Touchdisplay sicherlich besser bedient.

Sonntag, 3. April 2016

Status-Mails mit dem Raspberry versenden

Mailversand ist eine Möglichkeit für den Raspberry sich bemerkbar zu machen. Ob “Platte voll”, neue Sicherheitsupdates verfügbar oder Backup-Status: eine Mail an den Admin ist schnell zugestellt - wenn alles korrekt konfiguriert ist. Hier die Beschreibung der aktuellen Mail Konfiguration auf meinem Raspian System (Jessie).

Extra Mailadresse für Statusmails Postfach (GMX)

Alle lokalen Mails (an root, webserver, ..) werden dazu an eine externe Emailadresse weitergeleitet. Hierzu verwende ich zur Sicherheit einen separaten Mailaccount. Per Postfach-Regel leitet dieser Account die Nachrichten an den eigentlichen Administrator (meine private Emailadresse) weiter. Aus historischen Gründen fiel meine Wahl auf GMX - ein anderer Provider wie z.B. Google erfüllt den gleichen Zweck.

Message Transfer Agent SSMTP

Die Mails werden via SSMTP dem zuvor angelegten Mail-Account zugestellt. Als Beschreibung diente mir system-mails-ohne-einen-mail-server-mit-ssmtp-verschicken von Christoph Langner.

Installation

>sudo apt-get install ssmtp mailutils mpack

Konfiguration: /etc/ssmtp/ssmtp.conf

#
# Config file for sSMTP sendmail
#
# The person who gets all mail for userids < 1000
# Make this empty to disable rewriting.
root=MyStatusMail@gmx.de

# The place where the mail goes. The actual machine name is required no
# MX records are consulted. Commonly mailhosts are named mail.domain.com
mailhub=mail.gmx.net:465

# Where will the mail seem to come from?
rewriteDomain=gmx.net

# The full hostname
hostname=gmx.net

UseTLS=YES
AuthUser=MyMAIL@gmx.de
AuthPass=MYVERYSECRETPASSWORD

# Are users allowed to set their own From: address?
# YES - Allow the user to specify their own From: address
# NO - Use the system generated From: address
FromLineOverride=YES

/etc/ssmtp/revaliases

Für lokale Accounts die gültige Absenderadressen in /etc/ssmtp/revaliases eintragen:

root:MyMAIL@gmx.de:mail.gmx.net:465
pi:MyMAIL@gmx.de:mail.gmx.net:465
www-data:MyMAIL@gmx.de:mail.gmx.net:465

ssmtp Testen:

>ssmtp -v echo@tu-berlin.de
(mit STRG-D abschicken)

Forwarding lokaler Postfächer mit heirloom-mailx

Zunächst das Paket “heirloom-mailx” installieren:

>sudo apt-get install heirloom-mailx

Das Forwarding der restlichen lokalen Mail-Accounts wird für heirloom mailx, ein branch vom “nail” System, in der Datei /etc/nail.rc definiert. Dort die folgenden Alias-Einträge hinzufügen:

# alias Definitionen für Mailweiterleitung 
# (root wird via ssmtp bereits an externe mailadresse weitergeleitet)
# alias root root<myStatusMail@gmx.de>
alias pi root

alias mailer-daemon root
alias postmaster root
alias nobody: root
alias hostmaster root
alias usenet root
alias news root
alias webmaster root
alias www root
alias ftp root
alias abuse root
alias noc root
alias security root

Testmail an lokale System-Accounts senden:

>echo "Hallo dies ist eine Testmail an root" | mail root
>echo "Hallo dies ist eine Testmail an pi" | mail pi