This repository includes the main docker-compose.yml file that powers the Nebra light hotspots as well as a variety of other hardware versions (see the hardware support section below for more details).
The docker-compose.yml
file is pushed to Balena (using GitHub Actions), which in turn pulls down the various Docker images outlined below.
There are currently six different services running within this device, which are all outlined below in the containers section.
You can get going by doing either of the following...
Download an image powered by Balena Open Fleets. As we push out updates your system should automatically update.
Deploy with Balena Open Fleets
Alternatively you can click the button below to create your own Balena Application with the code ready to go.
The Light Hotspot software requires the following variables to be set in Balena's Device or Fleet Variables.
VARIANT : The ENV Identifier from the list of hardware supported on our hardware definitions repo. This is required.
REGION_OVERRIDE : Override for the specific region plan you wish to use. A list can be found on our packet forwarder repo. Currently required.
FREQ : Optional but ideal, this variable should be set to the frequency of the radio module for easy identification.
Repo: github.com/NebraLtd/hm-diag
The diagnostics container is designed for local troubleshooting. It runs a local web server that displays various diagnostics data.
Note that this container is also responsible for serving content to the Hotspot-Production-Tool.
Repo: github.com/NebraLtd/hm-pktfwd
This container is responsible for configuring packet forwarder's region and starts the radio module.
Repo: github.com/NebraLtd/hm-config
This container is (partially) responsible for the device onboarding and provides the Bluetooth LE to allow the hotspot to be configured via the Helium App. It is also responsible for configuring WiFi.
Repo: github.com/NebraLtd/hm-gatewayrs
This container is the actual Helium Gateway RS software (from upstream), with the required configuration files added.
Repo: github.com/NebraLtd/hm-gwmfr
This software contains the tool which configures the ECC Key in production and isn't run again after.
Repo: github.com/NebraLtd/hm-upnp
This container attempts to use UPnP to set up a port forwarding rule, if your router supports it and the function is turned on in your router settings.
For some Nebra Hotspots that use spidev1.2 you may need to add a DT overlay in the device or fleet configuration section on balenaCloud to enable spi1.
Additionally, for the SPI ethernet based Nebra Light Hotspot you need to add the DT overlay for the enc28j60.
To do this you need to find the "Define DT Overlays" section, click activate and then add "enc28j60","spi1-3cs"
Currently light hotspots are unable to earn HNT, this is currently intended for development purposes and for those who wish to run just a packet forwarder compatible with the Helium Network.
Even when Light Hotspots are able to earn HNT this would only be possible with a hotspot from an approved manufacturer. DIY Hotspots will not be able to earn HNT in the future for proof of coverage (PoC) but only for data transfer.
Full Details of the Helium light hotspot roadmap can be found on the Helium docs site.
The Nebra Light Hotspot Software has been written to support multiple variants of hardware, both to be compatible with all of Nebra's hotspots but also some alternatives & DIY solutions.
The file and information of multiple hardware support can be found in the hardware_definitions.py
file in our hm-pyhelper repo.