Molti dispositivi industriali hanno uno schermo touch e una scheda Linux: pannelli operatore, chioschi, strumenti di misura. Avalonia può disegnare l'interfaccia direttamente sullo schermo, senza un ambiente desktop, mantenendo C# e XAML.
Avvio senza desktop
Il pacchetto per il framebuffer di Linux permette di avviare l'applicazione disegnando direttamente tramite DRM o framebuffer, con input da touch screen.
public static class Program
{
public static int Main(string[] args)
{
var builder = BuildAvaloniaApp();
// sul pannello: nessun desktop, si disegna direttamente sullo schermo
if (args.Contains("--drm"))
return builder.StartLinuxDrm(args);
// sul PC di sviluppo: finestra normale
return builder.StartWithClassicDesktopLifetime(args);
}
public static AppBuilder BuildAvaloniaApp() =>
AppBuilder.Configure<App>().UsePlatformDetect().LogToTrace();
}
Lo stesso progetto gira in finestra sul PC dello sviluppatore e a schermo intero sul dispositivo: si sviluppa e si prova in modo comodo, si distribuisce sulla scheda.
Pubblicazione per ARM
dotnet publish -c Release -r linux-arm64 --self-contained true -p:PublishAot=true
Con Native AOT l'applicazione si avvia in fretta anche su processori modesti e non richiede il runtime .NET installato sulla scheda.
Progettare per il campo
- Touch: pulsanti grandi, niente interazioni che richiedono il passaggio del mouse.
- Leggibilità: contrasto alto e caratteri grandi, perché la luce in reparto è imprevedibile.
- Robustezza: avvio automatico come servizio di sistema e riavvio in caso di errore.
- Aggiornamenti: un meccanismo di aggiornamento remoto sicuro, pensato fin dall'inizio.
Unito ai protocolli industriali come OPC UA e Modbus, Avalonia permette di realizzare interfacce macchina moderne con le stesse competenze usate per i gestionali.
Commenti (0)
Nessun commento ancora.