computertreff.com_
Das Interface für Praktiker
 Main  |   Computer  |   Games  |   Musik  |   (Un)Sinn  |   Zomblog  |   Ich  |   über diese Seite 





Eine Uhr, die die Uhrzeit in Worten anzeigt

Ich hatte bei Amazon eine Uhr gesehen, die die Uhrzeit in Worten anzeigt.
Also nicht '9:30', sondern 'halb zehn'.
Da mir die Bewertungen aber auf eine nicht sooo tolle Qualität schließen ließen, war der Plan, eine ähnliche Uhr selbst zu bauen.

Zutaten: Ein Raspberry Pi 3B+ mit dem aktuellsten Raspberry Pi OS und ein 5" Display, an welches der Raspy angeschraubt wird.
Als Display wählte ich das "Freenove 5 Inch Touchscreen Monitor for Raspberry Pi, 800x480 Pixel IPS Display" (z.Z. ~43€ bei Amazon).

Der Raspi wird nach Anleitung mit dem Display verbunden und sollte dann auch schon ein Bild bringen.

Fertig.




Zugriff

Zur Vereinfachung und Fernzugriff habe ich am Raspi ssh eingeschaltet. Das geht über die Einstellungen im Startmenü.
Weil die Uhr nachher länger eingeschaltet ist und kein sofortiges Angriffsziel sein soll, habe ich den ssh-Port umgestellt.

Dazu mit sudo nano /etc/ssh/sshd_config die ssh-Konfigurationsdatei öffnen.
In der Datei steht irgendwo der Standart port noch ausgeklammert (#Port 22).
In dieser Zeile die '#' wegmachen und als Portnummer z.B. noch 2 Ziffern anhängen: z.B. Port 2223.
Das ist zwar kein Einbruchsschutz, da aber Angreifer gern Port 22 und nicht ALLE Ports durchscannen, um ggf einen ssh zu finden, fällt dieser zumindest nicht in die Treffer dieses Scans.

Damit vom Windowsrechner zugegriffen werden kann, muss noch eine Zeile geändert oder ergänzt werden: PermitRootLogin yes
Mit [Strg]+[o] wird die Datei gespeichert und mit [Strg]+[x] der Editor verlassen.
systemctl restart sshd.service startet den ssh-Dienst neu.

Nun sollte man mit dem Befehl ssh benutzername@192.168.x.y -p 2223 vom Windows-Rechner aus auf die Konsole kommen. Ich habe mir den Befehl gleich in einer Batch-Datei hinterlegt.


Die Uhr

In Python habe ich mir ein Programm geschrieben, welches im Vollbild die Uhrzeit am Bildschirm anzeigt.
Dieses Programm habe ich per USB-Stick in den Home-Ordner (~) kopiert.
Nach ein paar Anpassungen lief das dann auch zufriedenstellend, wenn ich es von der Konsole aus startete.


Die Uhrzeit

Ich wollte immer die genaue Uhrzeit.
Also ntp installiert, ein paar Zeitserver mehr eingetragen und schon synchronisierte sich der Raspy über WLAN mit dem Internet.
(Es kann 30sec dauern, bis die richtige Uhrzeit angezeigt wird)


Autostart
Die Uhr sollte ja automatisch starten.
Deswegen musste ich erstmal den Autostart einrichten.
Dafür muss ein Ordner im Homeverzeichnis (~) erstellt werden: ~/.config/lxsession/LXDE-pi
Und in den Ordner LXDE-pi kommt eine Textdatei mit dem Namen autostart und dort wiederum der Aufruf des Python-Scripts hinein.
Bei mir war das /usr/bin/python /home/benutzername/uhrzeit.py.

Besonderheit: Sobald ein Verzeichnis ~/.config/lxsession existiert, startet nicht mehr die bekannte Raspi-Oberfläche, sondern ein schwarzer Bildschirm, auf dem es aber die meisten Sachen noch per Kontextmenü gibt.
Um weitere Änderungen vornehmen zu können, habe ich bei Bedarf den Ordner lxsession in lxsession.bak umbenannt (und nachher natürlich wieder zurück).


Mousepfeil
So weit, so gut. Uhr startet, aber der Mousepfeil war weiterhin sichtbar.
Da ein Versuch, das Mousepfeilproblem in Python zu lösen zu komischen Nebeneffekten führten, habe ich einfach das Programm 'unclutter' installiert, welches nach einer festgelegten Zeit den Mousepfeil ausschaltet (sudo apt-get unclutter).


Bildschirmschoner
Und zu guter letzt machte mir noch der interne Bildschirmschoner einen Strich durch die Rechnung.
Dafür fügte ich in die autostart (siehe oben) noch VOR den Skript-Aufruf ein paar Befehle ein, die den Bildschirmschoner deaktivierten.
Am Ende sah meine autostart so aus:
@xset s noblank
@xset s off
@xset -dpms
/usr/bin/python /home/benutzername/uhrzeit.py


Jetzt aber wirklich: Fertig.

Ich habe die Uhr zur Stromversorgung an den USB-Port des PCs angeschlossen.




PS: Ich werde wohl noch ein anderes USB-Kabel zur Stromversorgung anschließen, weil mir das z.Z. verbaute doch etwas zu sehr unter Spannung steht.




ID: Buchstabenuhr, letzte Änderung 13.02.2024