Project brief
Currently, the Frame software is a web application accessed via a browser on a smart TV or a connected computer. SmartTV browsers have limitations and vary widely in their setup and functionality, so for users who want a simple solution that works with any display we’d like to provide a plug-and-play Frame player based on the RPi.
The basic goal is to create an RPi image that autoboots to a chrome-less (i.e. kiosk mode) chromium browser loading the frame web app (https://0fra.me).
Tech requirements
Allow for easy Wifi setup
If network is not available on the device via an ethernet connection, the user needs a simple way to set up Wifi. Ideally this can happen in two ways:
- In order to deploy a fleet of these, it should be possible to configure the wifi connection on the SD card with the RPi image from another computer. There should be a file on the SD card which is read at startup, and if it is present and contains the wifi credentials then the RPi should use those and connect to that wifi network.
- If the RPi device is booted and there is no wifi network or credentials predefined, the device should allow the user to enter the wifi credentials. The simpler this UI can be the better — e.g. if there’s an easy way to display the list of available networks and have the user select one then enter the wifi pass, great. If the user just has to manually enter the SSID and pass that’s ok too for now. This UI can be at the terminal prompt, no need for a GUI at this stage (unless it’s easy to do that).
The wifi network should be remembered on the device. In the case where a new wifi setup is required, we should allow the device to be booted into a configuration mode by holding down a key on startup.
Autoboot to Zeroframe frame app
Once the network is established, the device should automatically load a chromium browser in kiosk mode pointing to the frame app, 0fra.me.
- If possible, we should enable autoplay of audio without requiring user interaction on chromium. The ability to set this varies on different chromium builds, but a few flags that might be useful are listed here.
Custom splash screen and loading sequence
The RPi’s default splash image should be replaced with a zeroframe logo in the center of the screen, and all of the default terminal output should be hidden. Ideally the loading sequence should be:
- Upon turning on the device, Zeroframe logo appears
- If necessary, terminal prompt requesting wifi setup appears
- Once network is established, load Chromium to 0fra.me