This is a small collection of base projects to get you started. The focus on specific functionality and are a nice base to start a project from.
Installing a Project
To deploy a project simply clone it and push it to your application's balena endpoint. E.g. for the Text to Speech Converter project:-
git clone https://github.com/balena-io/text2speech.git git remote add balena [endpoint] git push balena master
This basic balena project allows you to have local ssh access to your running container on your device. It does this by starting dropbear, a light weight ssh daemon, in a background process. There is both a node and a python demo of this, so you can get up and running fast. Please note, both of these have small webservers running in the main app, but these could be replaced by an infinite loop. This is needed because in order to ssh into a container, it has to have a long running process in it. That way Docker does not close/destroy the container.
Node.js and the RPI camera module
A basic skeleton application to get you up and running with the raspberry pi camera module using node.js
Python and the RPI camera module
A basic skeleton application to get you up and running with the raspberry pi camera module using python.
This is a simple project so show to read analog sensor values into the raspberry pi using python. It uses the ADS1x15 family of I2C analog-to-digital converters to read in analog signals between 0 and 3.3V.
This python project allows you to share your ethernet connection to wifi. It essentially allows the raspberry pi to act as a wifi access point.
Avahi Daemon on Raspberry Pi
This simple example demonstrates how to get the avahi daemon running on your balena device. From this example you will be able to access your device from
<BALENA_UUID>.local on your local network. The
<BALENA_UUID> is the ID shown on the balena device dashboard.
Example GPIO control in node.js
A simple application which demonstrates the use of the Pi Pins library to interface with GPIO.
Example GPIO control in python
A simple application that shows you how to toggle the general purpose I/O pins on the raspberry pi using python.
Example servo motor control in node.js
A simple application that shows you how to issue commands to a servo motor using pi-blaster.
Example access of a physical keyboard in node.js
An application that demonstrates how to read input from a physical keyboard or other USB HID, and transmit the characters via Socket.io to a web browser.