The Helium configuration application. Manages the configuration of the Helium Hotspot over Bluetooth, and ties together various services over dbus.
- Exposes a GATT BLE tree for configuring the hotspot over Bluetooth.
- Signals gateway configuration (public key and Wi-Fi credentials) over dbus.
- Listens for GPS location on SPI and signals the current Position of the hotspot over dbus.
To build this project, make sure you have libdbus-1-dev (or its equivalent) and cmake installed on your development machine.
To run this project, make sure you have dbus, bluez and connman installed and running on your development machine.
Clone the repo and make a release of the package:
git clone https://github.com/helium/gateway-config.git
cd gateway-config
make && make release
Copy the generated release to its final destination.
cp -R _build/prod/rel/gateway_config /opt/gateway_config
Copy the dbus config file into the system.d folder to set permissions for the config application. The exact location of dbus configuration may differ on your Linux installation.
cp -R _build/prod/rel/gateway_config/config/com.helium.Config.conf /etc/dbus-1/system.d/
Restart dbus to pick up the new configuration. This varies per Linux distribution.
On a Void Linux development system:
sudo sv restart dbus
Start the gateway-config service.
On the Helium Hotspot the service is started on system boot.
On a development system you can start the service by starting a rebar shell:
sudo ./rebar3 shell
Or cd
to the release directory and run the service in the background:
cd _build/prod/rel/gateway_config
sudo bin/gateway_config start