This repository contains:
-
Sample Applets code for every simple method documented in signageOS Documentation.
-
Sample SMIL files for signageOS SMIL Player
-
Benchmark test Applets for signageOS SoC and Media Player Benchmarking
Note:
Applets are written in es2017 JavaScript notation. It's supported language for every supported device.
- Getting Started basic API usage
- Restore display area (videos, streams etc.)
- Browser on touch devices
- Capabilities - Content to check what is supported on the device
- Clock
- Command
- Commands Sending for monitoring
- Commands Receiving for monitoring
- CORS
- File System API for full featured FS manipulation
- Fonts
- Hardware LED for color control (some Philips)
- HDMI and DisplayPort Streams
- Iframes propagation of sos API
- Iframes Nested propagation of sos API
- Image and Video Thumbnail
- Key Press Events
- MD5 checksum for offline stored files
- Network settings via DHCP
- Network settings via manual IP
- Offline Files for managing files
- Offline Resources for saving & using libraries
- Offline ZIP Decompression for unpacking
*.zip
files - Proximity Sensor
- Remote control key UP binding for bind pressing keys on remote control
- Save and Load Large JSON file from the internal memory
- Sensors by Nexmosphere and how to use them in the JS
- Serial Port management and operations
- Streams like UDP, RT(S)P, HLT
- Sync Mixed Content for playing a list of videos and images in sync on multiple devices
- Timing Triggers pause & resume
- Video & Images loop together
- Video, Images and HTML loop together
- Video file details like resolution, framerate and codec
- Video single file loop infinite loop
- Video playback from internal memory loop
- Videos - multiple at once at same time
- Video Sync for playing a list of videos in sync on multiple devices
- Videowall on 2 screens for playing a videowall horizontally across 2 screens
- Videowall on 4 screens for playing a videowall across 4 screens
- App restart
- App upgrade for updating Core App on device
- Basic information like device model, serial number and temperature
- Battery
- Brightness
- Capabilities - Management to check what is supported on the device
- Debug for enabling device debugger and console log access
- Display On/Off
- Firmware upgrade
- JS Management Getters all in one
- JS Management Setters all in one
- Network Information
- Package Install for Android and Linux packages
- Remote Control IR Lock
- Resize for changing display resolution and orientation
- Screenshot upload to remote server
- Security PIN setup
- System Reboot
- Time and timezone
- Timer for turning display On/Off based on time and day in a week
- Volume level settings
- Wi-Fi Access Point for setting up RPi via smartphone/PC
- Native Commands - MDC
- Fullscreen video playback
- Preloader and fullscreen playback
- Portrait playback
- Special media playback ordering
- Scheduling via Wallclock
- Regions with relative size definition
- Relative file paths
- Multiple regions playlist
- HTML5 content in region
- Keyboard content triggers
- Applets are automatically published/uploaded to signageOS cloud in Gitlab CI when pushed (e.g.:
publish-applet:sample
) - The only requirements is to set correct
SOS_API_IDENTIFICATION
&SOS_API_SECURITY_TOKEN
&SOS_ORGANIZATION_UID
in runner environment variables at https://gitlab.com/signageos/applet-examples/-/settings/ci_cd - You can generate the token on https://box.signageos.io/settings
- You can get organization uid on https://box.signageos.io/organizations
- For details, see
.gitlab-ci.yml
- For publishing locally, install package
npm i @signageos/cli -g
, dosos login
&sos organization set-default
. - Run publishing using command
npm run upload-applet
- Applets are automatically tested in Gitlab CI when pushed and clicked manual job (e.g.:
test-device:tizen-2.4
). - The only requirements is to set correct
SOS_AUTH_CLIENT_ID
&SOS_AUTH_SECRET
in runner environment variables at https://gitlab.com/signageos/applet-examples/-/settings/ci_cd - You can generate the token on https://box.signageos.io/organization/__FILL_YOUR_ORGANIZATION_UID__/API%20tokens
- For details, see
.gitlab-ci.yml
- For testing locally, install package
npm i @signageos/cli -g
, dosos login
&sos organization set-default
. - Always export correct
export SOS_APPLET_UID="__FILL_YOUR_APPLET_UID__"
&export SOS_APPLET_VERSION="__FILL_YOUR_APPLET_VERSION__"
for the applet you are testing &export SOS_DEVICE_UID="__FILL_DEVICE_UID_TO_TEST_ON__"
for the device you want to test against. - Run tests using command
npm test
.
- Go to https://box.signageos.io/device/__FILL_DEVICE_UID_TO_TEST_ON__/testing
- Select corresponding applet & version and click "Run applet tests" in "Device Applet tests" section.
- For testing locally, install package
npm i @signageos/cli -g
, dosos login
&sos organization set-default
. - Always export correct
export SOS_APPLET_UID="__FILL_YOUR_APPLET_UID__"
&export SOS_APPLET_VERSION="__FILL_YOUR_APPLET_VERSION__"
for the applet you are testing. - Upload tests to signageOS cloud using command
sos applet test upload
. - Run tests on signageOS cloud using command
sos applet test run
.