a boilerplate for developing kiosks, digital signage or other human-machine interaction projects based on ElectronJS and resin.io
This is the very basic layer on which snappin.io builds its touch-enabled apps.
this application is meant to be deployed to RaspberryPi devices via resin.io.
At least 64MB of GPU-dedicated RAM is required. You can achieve that locally following these instructions (only the first parameter gpu_mem=64
is required) or, as we strongly suggest, set it remotely with Resin's Advanced Boot Configuration feature.
Achieving kinda-smooth desktop application display on a raspberrypi is hard. This project aims to provide a quickstart template.
We did a lot of researches and tests with several window managers. Fluxbox ended up being the most balanced between minimum footprint and features
simply set these environment varables in your app via the resin dashboard to configure the behaviour of your devices
URL_LAUNCHER_URL
string - the URL to be loaded. usefile:///app/app/index.html
to load a local electronJS (or any website) app - defaults tofile:///app/app/index.html
URL_LAUNCHER_NODE
bool (converted from string) - whether or not enable nodejs - defaults tofalse
URL_LAUNCHER_KIOSK
bool (converted from string) - whether or not enter KIOSK mode - defaults totrue
URL_LAUNCHER_TITLE
string - the title of the window. Seen only withURL_LAUNCHER_FRAME
=true
- defaults toRESIN.IO
URL_LAUNCHER_FRAME
bool (converted from string) - set to "true" to display the window frame. Seen only withURL_LAUNCHER_KIOSK
=false
- defaults tofalse
URL_LAUNCHER_CONSOLE
bool (converted from string) - set to "true" to display the debug console - defaults tofalse
URL_LAUNCHER_WIDTH
int (converted from string) - - defaults to1920
URL_LAUNCHER_HEIGHT
int (converted from string) - - defaults to1080
URL_LAUNCHER_TOUCH
bool (converted from string) - enables touch events if your device supports them - defaults tofalse
URL_LAUNCHER_TOUCH_SIMULATE
bool (converted from string) - simulates touch events - might be useful for touchscreen with partial driver support - be aware this could be a performance hog - defaults tofalse