Services (daynivo-kiosk-*, daynivo-network-guard, daynivo-boot-import), programs in /usr/lib/daynivo-kiosk, folders /etc, /var/lib, /var/log and /var/cache daynivo-kiosk*, the system user daynivo, DAYNIVO_* settings, the plymouth theme, network profiles daynivo-eth0/wlan0, the image stage and its first user daynivoadmin. install.sh moves a kiosk installed up to 1.2.x over once: old services stopped and removed, folders moved (configuration, password, browser profile, logs) with symlinks under the old names, the voxip user renamed with the same uid, network profiles renamed unless a change awaits confirmation, and old leftovers removed. Tested by upgrading a configured 1.2.0 installation in a container, and running the install a second time. Old names keep working where people type or place them: voxip-config.json, voxip-authorized_keys, voxip-network-reset, voxip-kiosk-ctl, and VOXIP_DEFAULT_URL / VOXIP_DEVICE_NAME for image builds. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
7.2 KiB
7.2 KiB
Testprocedure op Raspberry Pi 3-hardware
De geautomatiseerde tests (make test, make test-bookworm) dekken de
configuratie, validatie, de webinterface, de helper (inclusief
netwerk-rollback), de agent en de healthcheck. Wat alleen op echte hardware
te controleren is, staat hieronder. Voer dit uit voor iedere nieuwe release
en voor elk nieuw type scherm.
Benodigd: Raspberry Pi 3 Model B of B+, officiële voeding (5,1 V/2,5 A), nieuwe microSD-kaart van 16 GB of groter, HDMI-monitor, ethernetkabel, een wifi-netwerk, een laptop op hetzelfde netwerk.
Noteer per stap: ✅ / ❌ + opmerking, de imageversie en het schermtype.
1. Flashen en eerste boot
- Schrijf de
.img.xzmet Raspberry Pi Imager zonder OS-aanpassingen. - Eerste boot: de rootpartitie wordt vergroot (
df -h /toont later ongeveer de kaartgrootte). De Pi herstart zichzelf eenmaal. - Binnen 90 s na stroom aan verschijnt het setupscherm met de setupcode,
http://kiosk.local:8080en het IP-adres. Er is geen muiscursor en er zijn geen dialoogvensters. - SSH is uit (
ssh daynivoadmin@kiosk.localwordt geweigerd), en er is geen bruikbaar standaardwachtwoord.
2. Initiële configuratie
http://kiosk.local:8080enhttp://<ip>:8080tonen de setuppagina.- Een verkeerde setupcode wordt geweigerd. Na 5 pogingen volgt een wachttijd.
- Een zwak wachtwoord (
admin12345) wordt geweigerd. - Met de juiste code en een sterk wachtwoord: dashboard. Het scherm schakelt binnen 10 s naar de kiosk-URL.
- De setupcode werkt daarna niet meer (
/setupstuurt door).
3. Kiosk
- De pagina is fullscreen, zonder adresbalk, scrollbalk-pop-ups, vertaalbalk of "Chromium is niet correct afgesloten".
- Na 30 minuten is het scherm niet gedimd of zwart geworden.
- Pagina herladen (dashboard): de pagina herlaadt binnen 2 s, zonder zwart scherm (Chromium herstart niet).
- Chromium herstarten: kort zwart scherm, binnen 15 s weer de pagina.
- Een andere URL instellen (Kiosk → Instellingen): binnen 10 s getoond, zonder herstart van Chromium (de teller Herstarts blijft gelijk).
- Een
http://-URL wordt geweigerd. - Verversinterval op Elke minuut: de pagina herlaadt ongeveer elke minuut (zie Logboek → Kiosk-agent).
- Screenshot op de Kiosk-pagina toont wat er op het scherm staat.
- Daynivo-URL met
?token=: het token is overal gemaskeerd (dashboard,daynivo-kiosk-ctl status,journalctl -u daynivo-kiosk-agent).
4. Herstel
sudo pkill -9 chromium: binnen 15 s is de pagina terug. Het logboek toont de herstart.sudo pkill -9 Xorg: X en Chromium komen binnen 20 s terug.- Crashloop:
sudo daynivo-kiosk-ctl set-url https://localhost:1/en daarna 7×sudo pkill -9 chromiumbinnen 2 minuten. De service komt in de fouttoestand (start-limit). De healthcheck logt een fout en start hem na ongeveer 5 minuten opnieuw. Er is geen eindeloze stille lus. Zet de URL daarna terug. - Vastgelopen pagina: open via SSH-tunnel DevTools of zet een testpagina met
while(true){}in. Na ±15 s herlaadt de agent, na ±30 s herstart Chromium. sudo systemctl stop daynivo-kiosk-agent: de healthcheck start hem binnen 2 minuten.- De webinterface blijft werken terwijl Chromium gestopt is
(
sudo systemctl stop daynivo-kiosk-browser).
5. Netwerk
- Netwerkkabel eruit terwijl de pagina draait: de pagina blijft staan (een Daynivo-display toont zijn laatste inhoud). Het dashboard toont Offline.
- Kabel weer erin: het dashboard toont binnen 1 minuut Online.
- Opstarten zonder netwerk: offlinepagina met klok. Kabel erin: automatisch naar de kiosk-URL.
- Wifi scannen toont netwerken. Wifi instellen (met kabel nog erin): wlan0 krijgt een adres. Bevestigen werkt.
- Statisch IP op eth0 in een ander adres van hetzelfde subnet: beheer bereikbaar op het nieuwe adres, bevestigen daar.
- Rollback: stel een statisch IP in een verkeerd subnet in en bevestig niet. Na 3 minuten is het oude adres weer bereikbaar.
- Rollback na stroomuitval: herhaal, trek binnen 3 minuten de stroom eruit. Na het opstarten zijn de oude instellingen actief.
- Noodreset: stel iets onbereikbaars in en bevestig het. Zet
daynivo-network-resetop de bootpartitie en start: weer DHCP.
6. Systeem
- Rotatie 90° en 270° (met direct toepassen): beeld gedraaid, pagina vult het scherm.
- Resolutie 1280x720: het scherm schakelt om. Een niet-ondersteunde resolutie valt terug op automatisch.
- Scherm altijd aan uit, 1 minuut: na een minuut gaat het scherm uit (DPMS). Zet het weer aan.
- Hostname wijzigen naar
test-kiosk:http://test-kiosk.local:8080werkt. - HTTPS aan: doorgestuurd naar
https://…:8080. Na bevestiging van het certificaat werkt inloggen. - Veilig uitschakelen: de groene LED stopt met knipperen. De Pi komt pas terug na stroom eruit/erin.
- Raspberry Pi herstarten: na ±60 s weer kiosk + beheer.
7. Betrouwbaarheid (24/7)
- 10× stroom eruit tijdens normaal bedrijf (willekeurige momenten): steeds zonder ingrijpen terug in de kiosk, zonder "herstellen"-melding.
- 72 uur continu draaien met verversinterval 5 min. Daarna: geheugen
< 80% (dashboard), geen onderspanning,
journalctl -p err -bzonder terugkerende fouten,daynivo-kiosk-ctl statusalles Actief. - SD-kaartschrijfacties:
cat /proc/diskstats | grep mmcblk0op t=0 en na 1 uur stationair. Het verschil in geschreven sectoren (kolom 10) is minder dan 50 MB per uur. - Hardware-watchdog actief:
systemctl show -p RuntimeWatchdogUSectoont15s.
8. Uitrol en updates
- Nieuwe kaart met
daynivo-config.json(url, device_name, hostname, rotation) endaynivo-authorized_keysop de bootpartitie: bij de eerste boot toegepast, hernoemd naar.applied, SSH alleen met sleutel. - Ongeldige
daynivo-config.json(http-URL):.rejectedendaynivo-config.error.txtmet de reden. De kiosk start met de standaardconfiguratie. sudo ./update.shvanuit een nieuwere checkout: versie in het dashboard verhoogd, configuratie en wachtwoord ongewijzigd, back-up in/var/backups.- Systeem → Software-updates → Nu controleren met een nieuwere release op Gitea: "beschikbaar". Bijwerken naar …: binnen enkele minuten is de nieuwe versie actief, de beheerinterface komt terug, configuratie en wachtwoord ongewijzigd.
- Automatisch bijwerken aan,
sudo systemctl start daynivo-kiosk-update.service: de nieuwere release wordt geïnstalleerd. Met het vinkje uit: alleen gecontroleerd. curl -fsSL https://daynivo.nl/kiosk/install.sh | sudo bashop een verse Raspberry Pi OS Lite: installeert de nieuwste release, setupcode op het scherm.sudo ./uninstall.sh --purgeop een testkaart: geen Daynivo-services of -bestanden meer (systemctl list-unit-files | grep daynivois leeg).- Installatie op een bestaande Raspberry Pi OS Lite (Bookworm) met de
Daynivo-kiosk erop: URL overgenomen,
display-kiosk.serviceuitgeschakeld.