All Projects → balena-io-playground → multicontainer-demo-rpi3

balena-io-playground / multicontainer-demo-rpi3

Licence: Apache-2.0 license
A demo of balena multicontainer on Raspberry Pi3 with PiTFT LCDs

Programming Languages

javascript
184084 projects - #8 most used programming language
Dockerfile
14818 projects
HTML
75241 projects
CSS
56736 projects
shell
77523 projects

Projects that are alternatives of or similar to multicontainer-demo-rpi3

balena-wpe
Fullscreen WebKit browser with hardware accelerated CSS, WebGL, and HTML5 video for the RaspberryPi 3.
Stars: ✭ 372 (+1966.67%)
Mutual labels:  pitft, balena
smart-bathroom
Smart(kinda) Bathroom
Stars: ✭ 20 (+11.11%)
Mutual labels:  adafruit
awesome-adafruitio
A curated list of awesome Adafruit IO guides, videos, libraries, frameworks, software and resources.
Stars: ✭ 40 (+122.22%)
Mutual labels:  adafruit
adafruit-i2c-pwm-driver
Node.js implementation for the Adafruit 16-Channel 12-bit PWM/Servo Driver
Stars: ✭ 25 (+38.89%)
Mutual labels:  adafruit
MusicVisualizer
A music visualizer based on the ATMEGA328P-AU
Stars: ✭ 30 (+66.67%)
Mutual labels:  adafruit
Penguino-STM32WL-LoRa-E5
This repo contains all the necessary design and fabrication files for the Seeed Studio LoRa-E5 based Penguino Feather breakout board.
Stars: ✭ 30 (+66.67%)
Mutual labels:  adafruit
digitalSignage
🖨 Schilderwald as a Service http://schild.chaos.lol/
Stars: ✭ 23 (+27.78%)
Mutual labels:  digital-signage
Tinygo
Go compiler for small places. Microcontrollers, WebAssembly (WASM/WASI), and command-line tools. Based on LLVM.
Stars: ✭ 9,068 (+50277.78%)
Mutual labels:  adafruit
awesome-macropad
A curated list of awesome applications, macros, 3d printed cases, guides, and more for the Adafruit CircuitPython rp2040 Macropad.
Stars: ✭ 26 (+44.44%)
Mutual labels:  adafruit
Safe-Power-Monitor
Camble - SudoMod
Stars: ✭ 19 (+5.56%)
Mutual labels:  adafruit
camera.zero
Combining Camera Zero with an Arducam 12MP camera, a Raspberry Pi Zero WH, a PiMoRoNi trackball breakout, and an Adafruit 16-LED NeoPixel ring will result in a neat little screenless camera that can be controlled with your thumb.
Stars: ✭ 26 (+44.44%)
Mutual labels:  adafruit
micropython-adafruit-mqtt-esp8266
Using MQTT to Publish/Subscribe to adafruit io. MicroPython/CircuitPython implementation on ESP8266/ESP32
Stars: ✭ 53 (+194.44%)
Mutual labels:  adafruit
hexy
Code for a hexapod robot
Stars: ✭ 69 (+283.33%)
Mutual labels:  adafruit
WeatherPi TFT
a weather display for a raspberry pi and a TFT display written in python3 and pygame
Stars: ✭ 66 (+266.67%)
Mutual labels:  adafruit
Adafruit-GFX-Font-Customiser
A little utility to customise pixel fonts for the Adafruit GFX library
Stars: ✭ 46 (+155.56%)
Mutual labels:  adafruit
HomeStatusDisplay
Show smart home status information sent via MQTT using RGB LEDs.
Stars: ✭ 21 (+16.67%)
Mutual labels:  adafruit
tinyfont
Text library for TinyGo displays
Stars: ✭ 37 (+105.56%)
Mutual labels:  adafruit
boozer
Kegerator Monitoring Platform. RPi + Docker + Beer + Metrics + Slack. k3s kubernetes friendly.
Stars: ✭ 93 (+416.67%)
Mutual labels:  adafruit
Pxt
Microsoft MakeCode (PXT - Programming eXperience Toolkit)
Stars: ✭ 1,649 (+9061.11%)
Mutual labels:  adafruit
Train plus plus
Repo and code of the IEEE UIC paper: Train++: An Incremental ML Model Training Algorithm to Create Self-Learning IoT Devices
Stars: ✭ 17 (-5.56%)
Mutual labels:  adafruit

Getting Started with Multicontainer on balenaCloud

This example will get you up and running quickly with a multicontainer setup on balenaCloud. The application plots our devices' CPU temperature on the device URL and LCD screen which is piped over using websockets. The system is composed of a simple static site server, a websocket server and a proxy and GUI service. These 4 components are defined in our docker-compose.yml as services and are only given as much privilege as is needed.

To get this project up and running, you will first need to signup for a balenaCloud account here, create an application, and add a device. Have a look at our Getting Started guide if you need help.

Once you are set up with an account, you will need to clone this repo locally:

$ git clone https://github.com/balena-io-projects/multicontainer-demo-rpi3

Then add your application's remote repository to your local repository:

$ git remote add balena [email protected]:username/myapp.git

and push the code to the newly added remote:

$ git push balena master

It should take a few minutes for the code to push. While you wait, let's enable device URLs so we can see the server outside of our local network. This option can be found in the Actions drop down in your device dashboard.

Setup:

Give the GPU some more memory to run the GUI.

BALENA_HOST_CONFIG_gpu_mem=192

Device Configuration for PiTFT screens:

If you are using one of the piTFT screens, you will need to apply the following config.

BALENA_HOST_CONFIG_dtoverlay=pitft28-resistive,rotate=90,speed=62000000,fps=60
BALENA_HOST_CONFIG_hdmi_force_hotplug	1
BALENA_HOST_CONFIG_hdmi_group	2
BALENA_HOST_CONFIG_hdmi_mode	87
BALENA_HOST_CONFIG_hdmi_cvt	320 240 60 1 0 0 0

Demo:

In order to demonstrate some visible changes after an update, you can follow these steps:

  • In https://github.com/balena-io-projects/multicontainer-demo-rpi3/blob/master/data/index.js
    • Uncomment // data.color = '#FF0000' . This will change the graph from the default blue to a more visible red color.
    • Comment out getRandomTemp(socket); and uncomment // getCpuTemp(socket);. After pushing this change, the graph should be less random, with values around the current CPU temperature. If you provision a local device, you can show off a cool effect by touching the CPU with your finger; the temperature will instantly drop and that will be visible in the graph.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].