Screen

Betrifft: Screen Hearth bellowsd

Der Kiosk-Browser

Screen ist der industrielle Bedienpanel-Browser von ForgeIEC. Eine schlanke Anwendung die in der Schicht zwischen Hardware- Display und Web-HMI sitzt: sie laeuft fullscreen, oeffnet eine beliebige HTTP-HMI-URL (typisch Hearth, alternativ 3rd-party- HMIs) und bietet gleichzeitig eine eingebaute Settings-UI fuer die Geraete-Konfiguration (Netz, WireGuard, Zeitzone, Sprache).

Geschrieben in Rust mit dem Chromium Embedded Framework (CEF) und winit als Window-Manager. Laeuft unter X11, Wayland und Windows — auf Linux amd64 + arm64 und auf Windows x64.


Funktionsumfang

BereichWas Screen tut
CEF-IntegrationVoller Chromium-Browser als eingebettetes Fenster
Fullscreen + WindowedDefault: borderless fullscreen; --windowed fuer Test/Debug
Kiosk-Mode--kiosk <URL> — keine Adresszeile, kein Tab-Switch, nur die HMI
Settings-UIIntegrierter Rocket-Webserver auf Port 8080 mit Tera-Templates
D-Bus-BackendNetworkManager + timedated + localed via zbus
Lokale SettingsSQLite-Store fuer geraete-spezifische Konfiguration
WireGuardMulti-Tunnel-VPN-Verwaltung ueber NetworkManager (Konfig-Import oder Schluessel-Generierung)
80+ Spracheni18n mit Project Fluent (inkl. RTL: Arabisch, Hebraeisch, Farsi, Urdu)
DCP-ClientHTTP/WebSocket-Client fuer externen Settings-Daemon

Typischer Einsatz

flowchart LR
    Panel["Bedienpanel
(Touch-PC am Schaltschrank)"] Screen["Screen
(CEF-Kiosk)"] Hearth["Hearth
(HMI-Renderer)"] Bellows["bellowsd
(OPC-UA / Modbus)"] Anvild["anvild
(PLC-Runtime)"] Panel ---|"laeuft auf"| Screen Screen ---|"HTTP"| Hearth Hearth ---|"OPC-UA / Modbus"| Bellows Bellows ---|"Anvil IPC"| Anvild

Sie haben ein Bedienpanel am Schaltschrank: Screen laeuft drauf und ist reine Anzeige (Chromium-Kiosk). Die HMI rendert Hearth als HTTP-UI, gespeist aus OPC-UA / Modbus von bellowsd, dessen Live-Werte wiederum aus anvild stammen. Der Operator sieht nur die Anwendung — keine Linux-Oberflaeche, keine versehentlich- startbaren Browser-Funktionen.


Bedien-Modi

ModusWann?Wie?
KioskProduktiv-Panel an einer Anlagescreen --kiosk https://hmi.local — Fullscreen, kein Exit ueber UI
FullscreenWie Kiosk, aber mit Adresszeile fuer Diagnosescreen (Default)
WindowedTest, Entwicklungscreen --windowed
Settings-OnlyErst-Konfiguration ohne HMIScreen oeffnet http://localhost:8080 (eingebaute Settings-UI)

Settings-UI

Auf Port 8080 laeuft eine Tera-templated Web-UI mit:

  • Netzwerk — DHCP / statische IP, mehrere Interfaces, VLAN-Tags
  • WireGuard — bis zu N gleichzeitige Tunnel, Schluessel- Generierung oder Konfig-Import (.conf)
  • Zeitzone — via timedated D-Bus, geo-Auswahl plus manuelle Eingabe
  • Sprachelocaled D-Bus, 80+ Sprachen via Project Fluent
  • HMI-URL — welche URL nach dem Start geladen wird
  • Display — Aufloesung, Orientation (Hochkant / Quer)

Die Settings sind in einer lokalen SQLite-Datenbank persistiert — ueberlebt Reboots, ist per automation-settings-CLI auslesbar fuer Backup / Provisioning.


Technische Eckdaten

EigenschaftWert
SpracheRust
Browser-EngineChromium Embedded Framework (CEF) 146
Window-Managerwinit
Settings-ServerRocket + Tera
D-Bus-Stackzbus (NetworkManager + timedated + localed)
DatenbankSQLite
i18nProject Fluent, 80+ Sprachen inkl. RTL
Display-ServerX11, Wayland, Windows (Win32)
PlattformenLinux amd64 + arm64, Windows x64
LizenzAGPL-3.0

Source

RepositoryLink
GitHubgithub.com/Beerlesklopfer/screen Stars
Forgejogit.forgeiec.io/ForgeIEC/screen
APTsudo apt install forgeiec-screen

Screen — der industrielle Browser fuer das Bedienpanel.

blacksmith@forgeiec.io