# RaspScreen

Systemec Akarton Raspberry Pi TV Program  
(RaspScreen)  
Pi, Raspberry, Raspberry Pi = De Raspberry Pi hardware  
Tevens compatible met meer dan alleen Raspberry Pi's.  

## Digest

AkartonTV (of SystemecTV of RaspScreen) is een programma of opstelling van verschillende softwarepakketten die het mogelijk maken om videos en presentaties op een willekeurig scherm af te spelen.  
Dit wordt mogelijk gemaakt door kleine computers, vaak Single-Board Computers (SBC) die Linux gebruiken.  

In het geval van dit project is het opgesteld in 2 gedeeltes, algemene installatie - waarbij Raspberry Pi devices als standaard worden gemarkeerd.  

## Installatie Raspberry

De manier waarop een Raspberry Pi (het liefst 5 of hoger) wordt geinstalleerd is:  

Operating System Configuratie:
- Gebruik de Raspberry Pi Imager (v2+).
- Flash Raspberry Pi OS (64-bit) op de bijgeleverde SD-kaart.
- Bij het aangeven van de hostnaam is de policy om het bestaande formaat te gebruiken: RPI-<KLANT>-<NR> (Voorbeeld: RPI-AKAR-01).
- Localisatie is relevant voor de locatie waar de Raspberry Pi terrecht komt.
- Bij het aanmaken van een gebruiker is er niet een verplichte gebruikersnaam en wachtwoord maar het is wel essentieel dat de gekozen gebruikersnaam en wachtwoord ergens worden genoteerd.
- WiFi configureren is altijd handig maar niet verplicht wanneer er een Ethernet kabel aanwezig is.
- SSH MOET aanstaan, en hierbij moet enkel 'use password authentication' aangevinkt zijn.
- Raspberry Pi Connect is niet nodig.

Vervolgens wordt de SD-kaart door de applicatie klaargemaakt.  
Zodra dit klaar is kan je de SD-kaart in de Raspberry stoppen en aanzetten - vervolgens zou de Raspberry moeten booten naar een desktop omgeving  

In deze omgeving moet je [dit script uitvoeren, met sudo](./install.sh). Hoe je het script op de Pi krijgt is iets wat zelf beslist kan worden.  
Een aantal voorbeelden om het script over te brengen:
- SCP/SFTP/SSH
- USB-drive
- Uploaden & Downloaden via het internet (of intern netwerk)

Dit alles concludeert eigenlijk de installatie van de Raspberry Pi.

## Installatie van de client software.

De client software is beschikbaar in de actions tab van het Gitea repository. Te vinden aan de bovenkant van de webpagina.  
Hier kan je bij een tab genaamd 'cross-compile' aan de linker zijde de Windows en Linux varianten vinden.  

Deze applicatie is enkel afhankelijk van [de configuratiefile](./templates/raspis.yaml.template) genaamd 'raspis.yaml'.  
Zie in de vorige zin de link voor een voorbeeld.  

Hoe deze 'raspis.yaml' moet worden geinstalleerd is naast het .exe (executable) bestand, dus een directory/map moet er zo uitzien:  

```
./
  - raspscreen.exe
  - raspis.yaml
```

## Praktisch

De klanten die hier tot nu toe gebruik van maken:
- Akarton

De manier waarop dit gedaan is - is door de Pi zoals hierboven te installeren.  
Daarnaast is de client applicatie geinstalleerd op de Terminal- / Remote Desktop Session Host-Servers onder `C:\akartontv-program`.  
Met de exe als shortcut in de redirection folder met rechten via de Active Directory.  

## Debug Guide

Mocht er iets breken op zo'n Pi als dit. Dan moet je weten dat alles relatief eenvoudig is gebouwd door volgende applicaties:
- LibreOffice
- VLC

Het enige wat de scripts doen is de user-sessie variant van systemd (het Linux service systeem) aanroepen.  
Voorbeelden om de status te controleren (als de systemec gebruiker):

```shell
# Status opvragen
systemctl --user status presentation
systemctl --user status video

# Restarten van de service
systemctl --user restart presentation
systemctl --user restart video
```

Verder zijn keywords zoals `stop` en `start` ook mogelijk. `enable` en `disable` zijn voor het aanzetten direct na het opstarten.  
Om te kijken welke gebruiker je op dit moment bent:

```shell
whoami
```

## Feedback

Voor feedback van klanten of van jouwzelf kan je terecht bij Daan Selen, dselen@systemec.nl
