Coder Social home page Coder Social logo

mdanro / balena-chromium-kiosk Goto Github PK

View Code? Open in Web Editor NEW

This project forked from jayatvars/balena-chromium-kiosk

0.0 1.0 0.0 64 KB

BalenaOS/BalenaCloud based Kiosk using Chromium on a RaspberryPi

License: GNU General Public License v3.0

Shell 100.00%

balena-chromium-kiosk's Introduction

BalenaOS/BalenaCloud RaspberryPi Chromium Kiosk

This is a simple kiosk for loading a web site in Chromium running on a Raspberry PI using BalenaOS/Balena Cloud.

Original Source

The project was originally a fork from the resin-electronjs template. forked from https://github.com/jayatvars/balena-chromium-kiosk

Inspired from https://github.com/futurice/chilipie-kiosk But several work-arounds adopted to be able to run inside the container

Updates

Updated from the original fork to use Chromium and the latest Balena Libs. The template will load the necessary packages and initialize systemd which is required for local device input to the app container. The chromium user is created, given appropriate permissions and Chromium is launched.

Furthermore the cron is configured and dedicated cronjob is setup from container creation to manage cycling through tabs It relies on a balena variable (space delimited) site links to open chrome in kiosk mode with multiple sites opened. The default crontab.example is a sugestion of cronjobs including restarting and closing the display

Hardware

Tested on Raspberry Pi 3b and 3b+. Input from local device touch screen, keyboard and a USB wedge scanner has been tested. Use at your own risk.

Getting Started

What is Balena Several files are most important in this release: dockerfile.template - hold the details to define the container app/start.sh - container entry point and execution path crontab.example - the initial cron file

run crontab -e to change the running jobs run crontab -l to see what is going to be run

Environment Variables

Create an enviroment variable in your Balena app named URL_LAUNCHER_URL and assign it your web accessible URL. The Chromium start page loads by default. Adding multiple space sepparated sites will open several tabs. The application allready cycles between tabs at 1 minute interval (Check crontab.example)

Disclaimer

No expert claims here. ;) I am sure there are better ways to put this together. But this solution works for us and meets our needs.

balena-chromium-kiosk's People

Contributors

mdanro avatar jayatvars avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.