« Posts tagged Anzeigen

Pearl Display als Dockstar-gesteuerter Bilderrahmen

Bild der Dockstar mit laufender Slideshow

Nachdem wir nun lcd4linux das Image Widget ja erfolgreich eingetrichtert haben und mein zweites Display auch was zu tun möchte, will ich daraus eine kleine Slideshow machen. Natürlich kann der kleine DPF das schon, aber er hängt eh am USB, dann kann die Dockstar das auch gleich steuern.

Erstmal die Dokumentation des Widget_Image von lcd4linux hier lesen. Um das Ziel zu erreichen gibt es prinzipiell 2 Wege.

Voraussetzung ist immer ein Ordner voller 320×240(!) PNG(!!) Bilder.

Weg 1: Das Image Widget von lcd4linux kann auf Dateiänderungen reagieren, wir erzeugen nun ein Skript (Python?) und dieses Skript sucht zufällig eine Datei aus dem Bilderordner und kopiert sie immer an die gleiche Stelle. Diese Datei, die immer wieder überschrieben werden soll, nehmen wir als Bild in unserer lcd4linux.conf und setzen reload=1 und update=5000 (alle 5 sek. wird also geprüft ob sich was geändert hat). Danach erzeugen wir einen Cronjob, der das Skript alle 30 Sekunden ausführt und damit die Bilddatei alle 30 Sekunden aktualisiert mit einem zufälligen Bild.

Weg 2: Wir wählen die Python Funktion von lcd4linux, was für uns 2 Nachteile bedeutet erstmal: Erstens müssen wir uns im PYTHONPATH rumschlagen oder das Skript in einen Ordner, in dem Python es direkt findet, kopieren. Zweitens: Wir müssen lcd4linux mit dem python flag neu kompilieren. Dafür sparen wir uns aber cron und hässliches kopieren alle 30 Sekunden.

Was nehmen wir nur? Natürlich Weg 2.

Ich gehe davon aus, dass ihr Python usw. alles installiert habt. Wenn nicht, googelt einfach danach.

Schritt 1) Kompilieren lcd4linux

Zuerst installieren wir libpython2.6:

sudo apt-get install libpython2.6

Nun kompilieren wir lcd4linux genau gleich wie in meinem anderen Artikel, nur bauen wir die configure Zeile in build-dpf-lcd4linux.sh wie folgt um:

./configure --with-drivers='DPF' --with-plugins='all,!dbus,!mpris_dbus' --with-python

Danach ganz normal wie dort geschrieben weiter machen.

Ich hab hier (md5:771b71903f6b67d07d258b87c2e579cf) auch mein python-enabled lcd4linux hochgeladen, falls jemand nicht so auf kompilieren steht.

Jetzt wählen wir 2 Ordner, einer mit Bildern und einer, in dem das Skript liegt. Wir nehmen für die Bilder /home/user/pics und fürs Skript /home/user.

Danach öffnen wir als Root die Datei /etc/profile und fügen ganz unten folgende Zeilen hinzu:

PYTHONPATH="/home/user/"
export PYTHONPATH

Das ist ganz wichtig, damit root unseren Home Ordner auch für Pythonskripte durchsucht. Damit das klappt, rebooten wir nun einmal die Dockstar.

Jetzt erstellen wir die Datei /home/user/slideshow.py und kopieren folgendes hinein:

#!/usr/bin/python
# -*- coding: utf-8 -*-

import os
import random

img_folder="/home/user/pics" # Anpassen, Ordner mit Pics darin
                             # AM ENDE KEIN /
walker = os.walk(img_folder,True,None)
pics = [] # leer lassen

def give_random_pic(self):
        for i in walker:
                if len(i[2]) > 0:
                        for j in i[2]:
                                if j.split(".")[-1] == "png": # Pruefe ob die Endung .png ist
                                        pics.append(i[0]+"/"+j)
        rn = random.randrange(0,len(pics),1)
        return pics[rn]

Danach noch folgende Befehle ausführen:

sudo chown root:root slideshow.py
sudo chmod 700 slideshow.py

Was fehlt ist die passende /etc/lcd4linux.conf:

Display dpf {
    Driver     'DPF'
    Port       'usb0'
    Font       '6x8'
    Foreground 'ffffff'
    Background '000000'
    Basecolor  '000066'
}
Widget FIRST {
    class 'Text'
    expression 'www.Geekparadise.de'
    width 54
    align 'L'
    update 0
    Background 'ffffff'
    Foreground  '000000'
}

Widget IMAGE {
    class    'Image'
    file     python::exec('slideshow', 'give_random_pic', '')
    update   30000
    reload   1
    visible  1
    inverted 0
}

Display 'DPF'

Layout Dockstar{
    Row01.Col01  'FIRST'

    Layer 2 {
	X1.Y1 'IMAGE'
    }

}

Layout 'Dockstar'

Einmal lcd4linux neugestartet und schwupps ist euere Slideshow fertig. Toll oder?

Achja, das python Skript prüft nur ziemlich rudimentär ob es png Dateien sind .. selber schuld wer jpegs mit Endung .png reinkopiert…

Am Schluss – wie immer – :
Warnung: Dabei kann man seinen digitalen Bilderrahmen durchaus unbrauchbar machen. Ich übernehme keine Verantwortung für gebrickte Digitale Bilderrahmen oder sonstige Schäden die durch diese Anleitung verursacht werden. Jeder muss selbst wissen was er tut.

Twitter It!

Windows 7 – Wlan Key anzeigen…Bug oder Feature?

Win7

Mal wieder gehts um Windows 7 – Mal wieder gibts Problemchen:

Falls ihr Wlan benutzt, dann klickt doch mal auf die Verbindung mit Rechtsklick und dann auf Eigenschaften. Daraufhin macht ihr ein Häckchen bei “Zeichen anzeigen”. Et Voilà, ihr seht den Wlan Key im Klartext (Hexadezimal u.U. , aber das ist ja egal.).

Cool, so kann ich jetzt niemanden mehr an meinen PC lassen (gut tu ich auch so nicht), da man das weder ausschalten, noch verhindern kann. Und die Adminabfrage (sofern man UAC an hat – ich nicht.) kann jeder Depp mit “Ja” beantworten.

Danke MS! Das gibt wieder Wlankeys…

Abschließend frag ich mich/euch: Bug oder Feature?

Twitter It!