Propose a change
Name Last commit message Last updated
install.sh Add adompkg installer files 1mo ago
ntx-embedded.tar.gz Update tarball with all 12 NTX/octolux skills 1mo ago
ntx-hero.png Migrate asset from Helium wiki 1mo ago
package.json Add adompkg installer files 1mo ago
page.json Remove internal identifiers from page.json 10d ago
README.md Initial commit: app/ntx-embedded 1mo ago
SKILL.md Add adompkg installer files 1mo ago
uninstall.sh Add adompkg installer files 1mo ago

NTX Embedded customer package — unified Octolux HMI management app, brand guide, skills, and customer projects.

What's included

Unified Octolux App (apps/octolux/)

Single Node.js server on port 8830 with 7 sections:

  • Dashboard (/dashboard/) — HMI fleet overview: device cards with live snapshots, reset, deploy/stream/VNC/camera quick-launch
  • Projects (/projects/) — customer project picker with framed bezel preview (Mock) and one-click deploy
  • Deploy (/deploy/) — HMI deploy previewer: pixel-accurate device-resolution preview, project selector, device scanner filtered by model, Push to device with orientation control
  • VNC (/vnc/) — interactive remote desktop via CDP: click, scroll, type directly on the device's kiosk browser
  • Screencast (/screencast/) — live display stream via SSE relay (one upstream MJPEG connection, zero polling)
  • Remote (/remote/) — CDP remote view
  • Camera (/camera/) — dual-stream workcell camera viewer with zoom controls, per-stream rotation, and Take Controls

Camera (/camera/)

Live workcell camera viewer with WebRTC WHEP streaming via Cloudflare:

  • Dual-stream layout — semistatic (9:16 portrait) on the left, zoom (16:9 landscape) on the right
  • Per-stream rotation — each stream viewport rotates independently in place; semistatic has a 270deg base rotation to correct for portrait-mounted 16:9 camera
  • Global rotation control — 0/90/180/270deg from the header dropdown, synced across all viewers via SSE
  • Take Controls — associate this container with the selected workcell via Curium (same as Hydrogen editornav dropdown)
  • Zoom camera controls — pan (arrow buttons), zoom (slider), X/Y position, Home command — appears on hover when you have controls
  • Camera command API — proxies RPC commands to Lithium room via WebSocket for move, zoom, home, get_position

Camera API endpoints:

Method Path Purpose
GET /camera/api/workcells List workcells with live cameras
GET /camera/api/state Current rotation and viewer count
POST /camera/api/rotate Set rotation — broadcasts via SSE
GET /camera/api/controls Current container association status
POST /camera/api/take-controls Associate container with workcell
POST /camera/api/release-controls Disassociate container
POST /camera/api/camera-command Send camera RPC command via Lithium WebSocket

Skills

  • ntx-brand — dark-mode color palette (charcoal + orange + cyan), Inter font stack, HMI screen sizes, touch-target rules
  • ntx-app-header — NTX-branded 44px single-row header pattern
  • octolux-deploy — preview and deploy HMI interfaces to devices
  • octolux-vnc — remote desktop streaming
  • octolux-bootstrap — first-time HMI device setup (Chromium, VNC, autostart, Carbon registration)
  • octolux-launcher — HMI launcher architecture reference (Weston, Chromium kiosk, Apache)
  • octolux-list — discover online HMI devices via Carbon IP API
  • octolux-fork — fork reference HMI interfaces into customer repos
  • octolux-device-profile — SSH device system profile collection
  • active-project — cross-app active customer project state

Customer projects

5 demo customer HMIs under customers/:

  • Ciridian — smart bed sleep console (7" landscape)
  • Gas Station Sign — fuel price console (10.1" landscape)
  • Subway Toaster — commercial toaster oven display (10.1" landscape)
  • Teazzers — boba beverage dispenser (15.6" landscape)
  • Teazzers Refreshers — self-order kiosk (10.1" portrait)

Installation

Automatically installed by gallia install.mjs when the container's user is a member of the ntx-embedded Carbon org. No GitHub access required — downloaded from this wiki page as ntx-embedded.tar.gz.

Manual install:

curl -fsSL https://wiki-ufypy5dpx93o.adom.cloud/static/apps/ntx-embedded/ntx-embedded.tar.gz -o /tmp/ntx-embedded.tar.gz
mkdir -p ~/ntx-embedded && tar xzf /tmp/ntx-embedded.tar.gz -C ~/ntx-embedded
cd ~/ntx-embedded && bash install.sh