센바스 터치의 관리 런처에 적용된 웹 기술 — .NET Blazor Server

센바스 터치(SENVAS Touch)에서 웹 기술로 만든 건 터치 관리 런처입니다. 기기를 켜고, 앱을 배포하고, 원격으로 관리하는 바탕 층이죠. 화면에 띄우는 HMI(운영자가 조작하는 현장 제어 화면) 자체가 아니라, 그 HMI 앱을 띄우고 관리하는 런처·콘솔을 웹으로 만들었습니다. 이 글은 그 관리 런처에 적용된 웹 기술을 정리합니다.

헷갈리기 쉬운 부분 — 운영자가 보는 HMI 앱은 별개입니다. .NET·Node.js·Python·네이티브 등 무엇으로 만들든, 런처가 그 앱을 전체화면으로 띄워 줍니다. 런처와 관리 콘솔이 웹이고, HMI 앱은 그 위에서 돕니다.

관리 런처가 하는 일

터치 관리 런처는 기기의 바탕에서 이런 일을 합니다.

이 바탕 층을 으로 만들었습니다.

왜 런처를 “웹”으로 만들었나

핵심 스택 — .NET 9 + Blazor Server

런처의 화면과 로직을 모두 C# 한 언어로 작성합니다. .NET 9의 Blazor Server가 서버에서 화면을 렌더링하고 브라우저와 실시간으로 주고받습니다.

런처는 웹, HMI 앱은 따로

기기 안 런처 하나가 관리의 세 얼굴을 하면서, 그 위에 사용자 HMI 앱을 띄웁니다.

flowchart TD
    Launcher["터치 관리 런처<br/>.NET 9 Blazor Server · 웹"]
    Launcher --> Console["웹 관리 콘솔<br/>PC·태블릿·폰 브라우저"]
    Launcher --> Welcome["현장 안내 화면<br/>전체화면 키오스크"]
    Launcher --> Remote["원격 접속<br/>인터넷 어디서나"]
    Launcher -. 전체화면으로 띄움 .-> HMI["사용자 HMI 앱 (별개)<br/>.NET · Node · Python · 네이티브"]

관리 콘솔·안내 화면·원격은 전부 같은 웹 앱(런처)입니다. 반면 운영자가 실제로 조작하는 HMI 앱은 별개 — 무엇으로 만들든 런처가 전체화면으로 띄워 주고, 종료되면 다시 안내 화면으로 돌아옵니다.

키오스크 — 전체화면으로

런처는 부팅과 동시에 브라우저(Chromium)를 전체화면 키오스크로 띄웁니다. 주소창도 버튼도 없습니다. 사용자 HMI 앱이 실행 중이면 그 앱이 화면을 차지하고, 미실행이면 접속 주소·장비 정보를 담은 안내 화면이 자동으로 떠 운영자가 폰으로 바로 관리에 들어올 수 있습니다.

MudBlazor — 현대적 컴포넌트 UI

관리 콘솔 화면은 MudBlazor 컴포넌트로 구성합니다. 스위치·표·알림·다이얼로그 같은 완성도 높은 부품을 그대로 가져다 쓰니, 관리 화면도 빠르고 일관되게 만듭니다.

SENVAS Touch 웹 관리 콘솔 — Blazor + MudBlazor로 만든 시스템 화면 웹 관리 콘솔(터치 관리 런처). .NET Blazor Server + MudBlazor로 만들었고, 상태는 SignalR로 실시간 갱신됩니다. HMI 앱이 아니라 관리 화면입니다. (실제 기기 화면 캡처)

정리

기술역할
.NET 9 Blazor Server관리 런처·콘솔을 C# 한 언어로, 가벼운 서버 렌더링
SignalR (WebSocket)실시간 양방향 — 새로고침 없는 상태 갱신
Kestrel기기 내장 웹서버
Chromium 키오스크부팅 즉시 전체화면
MudBlazor현대적 콘솔 UI

다시 짚으면 — 웹으로 만든 건 HMI가 아니라, 그 HMI를 띄우고 관리하는 런처·콘솔입니다. 덕분에 관리 기능을 더하거나 바꾸는 일이 빠릅니다. 원격 접속에 쓰인 VPN 기술은 센바스 터치에 적용된 VPN 기술에서 이어집니다.

댓글

로그인 없이 이름만 적고 남기실 수 있어요. 남긴 댓글은 바로 게시됩니다.

댓글을 불러오는 중…