Retro TV
31-08-2021
Bekijk televisieprogramma's zoals het vroeger was.
Rechts naast mijn computermonitor staat een oude zwart-wittelevisie. Het is een leuk ding bedoelt voor op de camping. Hij werkt op 220V (vroeger hadden wij 220, nog geen 230), 12V of op batterijen.
In het batterijcompartiment heb ik nu een Raspberry Pi 4 ingebouwd zodat ik ouderwets televisie kan kijken. De afstemknop is vervangen door een analoge potmeter die via een ADC op de GPIO van de Raspbery Pi is aangesloten.
Op de Pi draaien een aantal Bash-scripts die de juiste zender opzetten. Dat gaat door Chromium in kioskmode op te starten en het juiste tv-kanaal te streamen.
In Lazarus (de opensource Delphi), OO-Pascal dus, heb ik nog een programma gemaakt waarmee ik vanaf mijn PC nog gemakkelijker op een zender kan afstemmen. Dat programma communiceert met de Pi door via SSH de Bash-scripts aan te roepen.
De broncode van zowel de bash-scripts als de Lazarus-afstandsbedieningapplicatie staat op mijn Github.
De scripts besturen de browser via xdotool. Voorbeeld van het script om Nederland 1 te bekijken op de televisie:
Het script staat dus op de Pi en wordt vanuit Lazarus aangeroepen, als volgt:
Rechts naast mijn computermonitor staat een oude zwart-wittelevisie. Het is een leuk ding bedoelt voor op de camping. Hij werkt op 220V (vroeger hadden wij 220, nog geen 230), 12V of op batterijen.
In het batterijcompartiment heb ik nu een Raspberry Pi 4 ingebouwd zodat ik ouderwets televisie kan kijken. De afstemknop is vervangen door een analoge potmeter die via een ADC op de GPIO van de Raspbery Pi is aangesloten.
Op de Pi draaien een aantal Bash-scripts die de juiste zender opzetten. Dat gaat door Chromium in kioskmode op te starten en het juiste tv-kanaal te streamen.
In Lazarus (de opensource Delphi), OO-Pascal dus, heb ik nog een programma gemaakt waarmee ik vanaf mijn PC nog gemakkelijker op een zender kan afstemmen. Dat programma communiceert met de Pi door via SSH de Bash-scripts aan te roepen.
De broncode van zowel de bash-scripts als de Lazarus-afstandsbedieningapplicatie staat op mijn Github.
De scripts besturen de browser via xdotool. Voorbeeld van het script om Nederland 1 te bekijken op de televisie:
#!/bin/bash
export DISPLAY=:0
pkill chromium
cd /home/pi/tv
chromium-browser --kiosk https://www.npostart.nl/live/npo-1 &
sleep 15
sleep 0.3 && xdotool mousemove 400 400
sleep 5
sleep 0.3 && xdotool mousemove 400 400
sleep 0.4 && xdotool click 1
xdotool mousemove 800 800
Het script staat dus op de Pi en wordt vanuit Lazarus aangeroepen, als volgt:
sshpass -p tv ssh pi@televisie.local /home/pi/tv/nl1
waarbij 'tv' het wachtwoord van de gebruiker pi is. Zie verder de broncode.