@trillboards/edge-platform-linux
v0.2.1
Published
Linux platform adapter - V4L2 camera, PulseAudio, systemd for Trillboards Edge AI SDK
Maintainers
Readme
@trillboards/edge-platform-linux
Linux platform adapter for Trillboards Edge AI SDK. V4L2 camera capture, PulseAudio microphone, ambient light sensing, systemd integration, and kiosk lockdown for DOOH devices.
Install
npm install @trillboards/edge-platform-linuxWhat This Does
Provides Linux-specific hardware access for digital signage and CTV devices:
- V4L2 Camera — Video4Linux2 camera capture supporting USB cameras, CSI ribbon cameras, and MIPI interfaces
- PulseAudio — microphone/line-in audio capture via PulseAudio daemon
- Ambient Light Sensor — reads illuminance from IIO devices for brightness adaptation
- Kiosk Lock Manager — X11 kiosk mode enforcement (disables alt-tab, desktop, hot corners, taskbar)
- Platform Adapter — machine ID, CPU info, memory, network, temperature reporting from
/procand/sys
Usage
import {
LinuxPlatformAdapter,
V4L2CameraProvider,
PulseAudioProvider,
KioskLockManager
} from '@trillboards/edge-platform-linux';
// Platform info
const platform = new LinuxPlatformAdapter();
const info = await platform.getSystemInfo();
// → { machineId: '...', cpuModel: 'ARM Cortex-A76', ramMB: 4096, tempC: 52.3 }
// Camera capture
const camera = new V4L2CameraProvider({
devicePath: '/dev/video0',
width: 640,
height: 480,
fps: 10,
pixelFormat: 'MJPG'
});
await camera.start();
const frame = await camera.captureFrame(); // → Buffer (JPEG)
// Audio capture
const audio = new PulseAudioProvider({
sampleRate: 16000,
channels: 1
});
await audio.start();
// Kiosk mode
const kiosk = new KioskLockManager({ enabled: true });
await kiosk.lock(); // Disables alt-tab, desktop access, taskbarKiosk Modes
| Mode | Description |
|------|-------------|
| UNLOCKED | Normal desktop access |
| BROWSER_ONLY | Only Chromium visible, alt-tab disabled |
| FULL_LOCKDOWN | No desktop, no hotkeys, no taskbar |
Supported Hardware
- SBCs — Raspberry Pi 4/5, Orange Pi, NVIDIA Jetson
- Mini PCs — Intel NUC, Beelink, MeLE
- Industrial — Advantech, Axiomtek, Litemax
- Any Linux x64/ARM64 with V4L2-compatible camera
Requirements
- Linux kernel 4.x+ with V4L2 support
- PulseAudio (for audio capture)
- X11 (for kiosk mode)
License
MIT
