Raspberry Pi als SmartHome-Server (Teil 2)

Fortsetzung vom Teil 1 (Raspberry mit Mini-TFT-Display im Hutschienen-Gehäuse)

Nun sitzt das Display also schön im Gehäuse – Zeit, die Software zu konfigurieren.

Zuerst kopiert man mit der passenden Software (z.B. Win32DiskImager) ein passendes Linux-Image auf die MicroSD-Karte. Ich empfehle das Raspbian Jessie Lite.

Nach dem Boot von der SD-Karte meldet an sich als Benutzer „pi“ mit dem Passwort „raspberry“ an. Wer eine deutsche Tastatur angeschlossen hat: dran denken, dass „y“ und „z“ vertauscht sind! 😉

Mit „sudo raspi-config“ wird dann das Dateisystem vergrößert, ein deutsches Tastaturlayout ausgewählt und die richtige Zeitzone eingestellt.

In /boot/cmdline.txt müssen folgende zwei Werte an die vorhandene Zeile angefügt werden:

fbcon=map:10 consoleblank=0

In /boot/config.txt muss SPI aktiviert werden – das geht mit folgendem Befehl:

dtparam=spi=on

Zum Laden der Framebuffer-Module legt man am besten die Datei /etc/modules-load.d/fbtft.conf mit folgendem Inhalt an:

spi_bcm2835
fbtft_device

Die Konfiguration des Framebuffer-Treibers erfolgt über die Datei /etc/modprobe.d/fbtft.conf mit folgender (langer) Zeile:

options fbtft_device custom name=fb_ili9341 gpios=reset:25,dc:24,led:23 speed=16000000 rotate=270 bgr=1

Das war alles. Nach eine Reboot sollte der Bootvorgang nach wenigen Sekunden auf dem Display zu sehen sein. 🙂

Mit dem Mini-TFT hat man ab sofort die Möglichkeit, kritische Kernel-Meldungen sofort auf der Konsole zu sehen. Sollte sich der Raspi (aus welchem Grund auch immer) mal „aufhängen“, hat man so noch eine Konsole – mit dem HDMI-Anschluss wird man im Schaltschrank meistens wohl eher nichts anfangen können.

Längerfristig plane ich, so eine Art „Systemstatus“ auf der Konsole ausgeben zu lassen (Systemlast, Prozesse, …) – so dass man für Diagnosezwecke im Schaltschrank sehen kann ob alles ok ist, ohne sich dazu per SSH mit dem Raspi verbinden zu müssen.

13 thoughts on “Raspberry Pi als SmartHome-Server (Teil 2)”

  1. Hi ,
    nette Idee aber ich denke ‚Längerfristig‘ wirst du wohl eher mit nem Tab via Browser checken ob alles OK ist und nicht jedesmal den Schrankdeckel öffnen.Insbesondere wenn die Regierung feststellt das der Deckel ‚versteckt‘ werden soll da häßlich …

  2. Ach so… mir geht’s da weniger um den regelmäßigen Check (das macht dann auch irgendeine Software), sondern um den Fall dass irgendwas nicht funktioniert und man so im Display z.B. erkennen kann ob es ein I/O-Problem gab (SD-Karte hin), der Kernel hängt (Kernel panic), usw.
    Idealerweise will ich das Ding einmal in den Schrank hängen, die Türen schließen und es dann nie wieder sehen müssen. Auch wenn’s schade darum wäre. 🙂

  3. … danke für die Anleitung – ich habe exakt dasselbe vor – ein RasPi soll mein KNX (SmartHome) überwachen und steuern – das Display habe ich heute bestellt. Nach längeren (verzweifelten) Versuchen habe ich mit „eibnetmux“ eine lauffähige Lösung gefunden – aber noch nicht eingerichtet…
    Welche Software ist auf diesem RasPi? Gibts dazu ggf. auch ein Tutorial?
    Wie ist die Einschätzung bzgl. der Lebensdauer für das Display? Wenn der RasPi im Schaltschrank sitzt, wird er ja 99,9% seiner Lebenszeit unbeobachtet sein – läuft dann das Display immer mit? Würde es nicht eher Sinn machen dann einen Foto-Widerstand an die GPIOs zu schalten um zu prüfen, ob die Schaltschranktür geöffnet ist und nur dann das Display einzuschalten ist – allein schon um die Lebensdauer vom Display zu schonen.

    1. Zu der Software werde ich demnächst noch was schreiben. Im Grunde sind das bislang: OWFS (für 1-Wire), knxd sowie OpenHAB.
      Zur Lebensdauer habe ich mir auch so meine Gedanken gemacht. Es gibt bei eBay auch winzige und extrem günstige Mini-Bewegungsmelder (z.B. „HC-SR505“). Diese schalten bei Bewegung einen PIN an – mit einem einfachen Transistor könnte man so die Stromzufuhr des Displays oder zumindest von dessen Hintergrundbeleuchtung schalten. Also: Schranktür auf – Display an. Fast wie beim Kühlschrank. 🙂
      Ein Test-Setup hatte ich mal auf einem Breadboard erfolgreich zusammengesteckt. Blöd ist nur, dass dieser Sensor nicht auch noch mit ins Raspi-Gehäuse passt (außer man setzt den Sensor ober- oder unterhalb vom Display und bohrt dann durch die Berührungsschutzabdeckung ein Loch). Ich tendiere im Moment zu einem 1 oder 2 TE Hutschienen-Leergehäuse neben dem Raspi, in dem ich auch meine restlichen Schaltungen unterbringen möchte (1-Wire Master etc. – Details folgen noch…).

  4. Auf meinem Raspberry gibt es dieses Verzeichnis überhaupt nicht:

    /etc/modprobe.d/fbtft.conf

    Was tun – das Verzeichnis und zusätzlich die Datei anlegen?

    Oder die Einträge in der Datei /etc/modules hinzufügen?

    Schon mal Danke im Voraus.
    Gruß

    1. Welche Linux-Distribution genau nutzt du?
      Das Verzzeichnis /etc/modprobe.d/ sollte es eigentlich immer geben… (oder ich habe da was verpasst…)

  5. Schon mal probiert das Display mit einem aktuellen Raspberry Pi 4 und der neuesten Raspbian Version (Buster) zum laufen zu bekommen.

    Klappt bei mir nicht, bin auf der Suche nach einem anderen Display, aber die 2,2 Zoll Displays sind selten geworden und größere Displays passen nicht ins Hutschienengehäuse.

    Gruß

    1. Hi,

      bei mir läuft das Display auch nicht mehr, da man es nicht mehr nach der Anleitung einbinden kann. Hierfür ist ein dtoverlay vonnöten. Bis heute habe ich aber nur ein weißes Bild zaubern können, leider.

      MfG René

  6. Hallo zusammen ,

    Würde gerne das ganze nachbauen.
    Funktioniert das beschriebene Display nun mit dem PI 4.

    Hat schon jemand so eine Art Status Display geschrieben?

    Grüße
    Alex

  7. Hi Bauherr. Danke für die Anleitung. habe das jetzt mal nachgebaut. Den Systemstart sehe ich am Display, aber danach blinkt nur noch ein Strich am Display. Sollte ich nicht das ganze Linux menü sehen? Oder muss ich dazu noch was anderes einstellen??
    Vielen Dank
    SG Mathias

  8. Moin zusammen,
    ich hatte das gleiche Problem dieses Display zum Laufen zu bekommen. Der Grund ist, das fbtft_device nicht mehr im aktuellen Kernel vorhanden ist. Nach gefühlt Tagen des Suchens und Ausprobierens, habe ich mich für
    https://github.com/juj/fbcp-ili9341
    entschieden. Das ist ein ziemlich schneller Treiber, der die SPI-Schnittstelle direkt verwendet. Einfach der Anleitung folgen und mittels „cmake -DILI9341=ON -DGPIO_TFT_DATA_CONTROL=24 -DGPIO_TFT_RESET_PIN=25 -DGPIO_TFT_BACKLIGHT=18 -DSPI_BUS_CLOCK_DIVISOR=30 -DBACKLIGHT_CONTROL=ON -DSTATISTICS=0 ..“ compilieren. Das hat bei mir dann auf Anhieb funktioniert.
    Schöne Grüße
    Ole

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert