Digitalni sat na Raspberry Piju u Pythonu
Sadržaj
Raspberry Pi s malim HDMI zaslonom kao digitalni sat. Za sam sat ovo je pretjerano, ali je dobra osnova za buduće projekte: info zaslon koji uz vrijeme prikazuje temperaturu, stanje u kući ili upravlja rasvjetom.
Sustav je minimalan: Raspberry Pi OS Lite, X11 bez desktop okruženja, upravitelj prozora Openbox i Python aplikacija napisana s PyGObjectom (GTK 3), koja se sama pokreće pri paljenju.

Ažurirano u listopadu 2026.
Upute za instalaciju osvježene su u listopadu 2026. Od izvorne objave se Raspberry Pi OS dosta promijenio: nema više zadanog korisnika pi, mrežu vodi NetworkManager umjesto dhcpcd-a, a paketi za Python 2 su uklonjeni. Postupak je prilagođen trenutnom Raspberry Pi OS-u (Trixie).
Potrebno
- Raspberry Pi (sat je napravljen na Raspberry Piju 2),
- Waveshare 5" HDMI LCD (800 × 480),
- microSD kartica,
- napajanje za Raspberry Pi.
Priprema microSD kartice
Najjednostavnije je koristiti Raspberry Pi Imager. Odaberi model Raspberry Pija, Raspberry Pi OS Lite (za Raspberry Pi 2 inačicu od 32 bita) i karticu.
U postavkama prilagodbe (Customisation) odmah upiši:
- naziv računala (hostname),
- korisničko ime i lozinku,
- Wi-Fi mrežu, ako Pi nije spojen kabelom,
- vremensku zonu i raspored tipkovnice,
- uključi SSH pod Remote Access.
Upozorenje
Raspberry Pi OS više nema zadanog korisnika pi s lozinkom raspberry. Ako korisnika ne postaviš u Imageru, nakon prvog pokretanja nećeš se moći prijaviti preko SSH-a.
Postavke zaslona
Nakon što Imager zapiše karticu, ponovno je umetni u računalo. Na particiji bootfs otvori config.txt i na kraj datoteke dodaj postavke za Waveshare 5" zaslon:
max_usb_current=1
hdmi_group=2
hdmi_mode=87
hdmi_cvt 800 480 60 6 0 0 0
hdmi_drive=1
Na pokrenutom Raspberry Piju ista se datoteka nalazi u /boot/firmware/config.txt, a ne više u /boot/config.txt.
Savjet
Ako slika ne ispunjava zaslon ili je mutna, na kraj jedinog retka u datoteci cmdline.txt, na istoj particiji, dodaj razmak i video=HDMI-A-1:800x480M@60.
Prvo pokretanje i nadogradnja
Umetni karticu u Raspberry Pi, spoji zaslon i napajanje te se nakon minute-dvije prijavi preko SSH-a:
ssh korisnik@naziv-racunala.local
Nadogradi sustav:
sudo apt update
sudo apt full-upgrade
sudo reboot
Statička IP adresa (po želji)
Najjednostavnije je u routeru rezervirati IP adresu za Raspberry Pi. Ako je želiš postaviti na samom Raspberry Piju, od Raspberry Pi OS-a 12 to se radi preko NetworkManagera, a ne više u /etc/dhcpcd.conf. Prvo pronađi naziv veze:
nmcli con show
Zatim postavi adresu, prilagodivši je svojoj mreži:
sudo nmcli con mod "Wired connection 1" ipv4.method manual \
ipv4.addresses 192.168.1.50/24 ipv4.gateway 192.168.1.1 \
ipv4.dns "192.168.1.1 8.8.8.8"
sudo nmcli con up "Wired connection 1"
Ako si spojen preko SSH-a, veza će se prekinuti. Ponovno se spoji na novu adresu.
Automatska prijava u konzolu
sudo raspi-config
Odaberi System Options → Boot / Auto Login → Console Autologin, a zatim Finish.
Instalacija X11, Openboxa i PyGObjecta
sudo apt install --no-install-recommends xserver-xorg xinit x11-xserver-utils openbox
sudo apt install python3-gi python3-gi-cairo gir1.2-gtk-3.0 git
To je sve što satu treba. Ako želiš i terminal, upravitelj zadataka i alate za podešavanje izgleda, dodaj:
sudo apt install obconf lxterminal lxtask lxappearance
Napomena
Paketi python-gi, python-gi-cairo i obmenu iz prve verzije uputa više ne postoje, jer su bili za Python 2. Ako su navedeni u naredbi, apt prekida cijelu instalaciju.
Preuzimanje aplikacije
Kod je na GitHubu. Uz Python skriptu treba i datoteka theme.css s bojama i veličinama fonta, pa je najlakše klonirati cijeli repozitorij:
mkdir -p ~/Projects/python
git clone https://github.com/ebaketa/digital_clock.git ~/Projects/python/digital_clock
Automatsko pokretanje X-a i sata
X se pokreće automatski nakon prijave na prvoj konzoli. Na kraj datoteke ~/.profile dodaj:
if [ -z "$DISPLAY" ] && [ "$(tty)" = /dev/tty1 ]; then
exec startx
fi
Najlakše je to napraviti s nano ~/.profile, bez sudo, jer je datoteka tvoja.
Openbox pri pokretanju izvršava datoteku ~/.config/openbox/autostart:
mkdir -p ~/.config/openbox
nano ~/.config/openbox/autostart
U nju upiši:
# disable screen saver and display power management
xset s off &
xset s noblank &
xset -dpms &
# run python digital clock
python3 ~/Projects/python/digital_clock/digital_clock.py &
Na kraju ponovno pokreni Raspberry Pi:
sudo reboot
Nakon pokretanja Pi se sam prijavi, pokrene X i Openbox, a sat se otvara preko cijelog zaslona. Tipka F11 prebacuje između prikaza preko cijelog zaslona i prozora.
Nadogradnja aplikacije
cd ~/Projects/python/digital_clock
git pull
sudo reboot