Skip to content

Managed IoT ElectronJS Application for Web Dashboards

Notifications You must be signed in to change notification settings

petrnetusil/balena-dashboards

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

92 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

balena-grandpa

Managing remotely your grandpa's TV enabling him to watch album photos, youtube and initiate telcos (Jitsi meet) without him ever pressing any buttons!

  • Managed through balena.io
  • Multiple URLs/webpages to load
  • Custom timeout values for each URL
  • Support for remote screen control/support/viewing (NoVNC)
  • Fast load/runtime due to multi-threaded creation of browser windows ( as a side effect, youtube music can play in background as a google photos slideshow is displayed)

Prerequisites

Things you need to deploy this code to your device:

  • Sign up for a free account with balenaCloud here
  • Create an application
  • Add your device and download the OS. Make sure to specify the wifi information needed to connect your device
  • Flash your SD card (balenaEtcher is recommended) and boot the device
  • Ensure the device shows up in your application dashboard
  • Download the code for this project from GitHub, and push to your application, using the balena-cli tool

Configuration

The following Enviroment Variables must be set within Application > Device under D(x) - Device Variables:

Name Value
URL_ONE https://www.google.com [fully qualified URL to load]
TIME_ONE 60 [integer which represents number of seconds to show URL]
URL_TWO
TIME_TWO
URL_[...] infinte URLs to load
TIME_[...] corresponding time values for each URL
NOVNC_PASSWORD defaultpassword [obviously change this to something different]
TZ America/New_York [obviously change this to your timezone, see Wikipedia for your TZ
photos configuration
ENV VAR Description Options Default
GALLERY_URL Gallery URL for google photos, dropbox images, or apple photos
GALLERY_SLIDESHOW_DELAY Slideshow delay in milliseconds 10000
GALLERY_IMAGE_STYLE Contain shows the entire image on the screen. Cover zooms the image filling the entire screen. contain, cover cover
GALLERY_EFFECT Transition effects fade, horizontal, vertical, kenburns, false fade
CRON_SCHEDULE Cron scheduler to reload images to get changes 0 */12 * * *
RESIZE_WIDTH * Resize image width or height (larger side) in pixels 1000px
COMPRESS_QUALITY * Image compression 0 - 100 90

In order to view the device remotely from within your browser, enable the public device URL within the device summary page. Then, you can simply click the link and login using the password set above.

Built With

  • ElectronJS - The web framework used
  • balenaCloud - IoT device management
  • noVNC - Used to provide remote viewing/support through public device URL (enable in device settings)
  • BalenaDash - Smart photo slideshow (Google, Dropbox, Apple)

About

Managed IoT ElectronJS Application for Web Dashboards

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 58.1%
  • CSS 23.8%
  • HTML 10.8%
  • Shell 7.3%