Betrifft: Screen Hearth

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 läuft fullscreen, öffnet eine beliebige HTTP-HMI-URL (typisch Hearth, alternativ 3rd-party- HMIs) und bietet gleichzeitig eine eingebaute Settings-UI für die Geräte-Konfiguration (Netz, WireGuard, Zeitzone, Sprache).

Geschrieben in Rust mit dem Chromium Embedded Framework (CEF) und winit als Window-Manager. Läuft 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 für 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 für geräte-spezifische Konfiguration
WireGuardMulti-Tunnel-VPN-Verwaltung über NetworkManager (Konfig-Import oder Schlüssel-Generierung)
80+ Spracheni18n mit Project Fluent (inkl. RTL: Arabisch, Hebräisch, Farsi, Urdu)
DCP-ClientHTTP/WebSocket-Client für externen Settings-Daemon

Typischer Einsatz

flowchart LR
    Panel["Bedienpanel<br/>(Touch-PC am Schaltschrank)"]
    Screen["Screen<br/>(CEF-Kiosk)"]
    Hearth["Hearth<br/>(HMI-Renderer)"]
    Anvil["Anvil-Bus<br/>(iceoryx2)"]
    Plc["forgeiec_plc<br/>(SPS-Zyklus)"]

    Panel ---|"läuft auf"| Screen
    Screen ---|"HTTP"| Hearth
    Hearth ---|"liest"| Anvil
    Anvil ---|"Prozessdaten"| Plc

Sie haben ein Bedienpanel am Schaltschrank: Screen läuft drauf und ist reine Anzeige (Chromium-Kiosk). Die HMI rendert Hearth als HTTP-UI (Vorschau); Hearth liest die Live-Werte direkt vom Anvil-Bus, auf dem der SPS-Zyklus sie veröffentlicht. Der Operator sieht nur die Anwendung — keine Linux-Oberfläche, keine versehentlich- startbaren Browser-Funktionen.


Bedien-Modi

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

Settings-UI

Auf Port 8080 läuft eine Tera-templated Web-UI mit:

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

Die Settings sind in einer lokalen SQLite-Datenbank persistiert — überlebt Reboots, ist per automation-settings-CLI auslesbar für 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-or-later

Source

RepositoryLink
Forgejossh://git@git.forgeiec.io/ForgeIEC/screen.git (nicht öffentlich einsehbar — Zugriff nach Freischaltung Ihres SSH-Public-Keys)
APTsudo apt install forgeiec-screen-wayland

Screen — der industrielle Browser für das Bedienpanel.

blacksmith@forgeiec.io