/chirpstack-hpr

Primary LanguagePythonApache License 2.0Apache-2.0

Chirpstack-hpr (Chirpstack -> Helium Packet Router).

this project aims to be a simple container to leverage the helium packet config cli using python to interface between chirpstack v4 and the helium packet router cli. it's main focus at the is to replicate actions taken in Chirpstack v4 by a tenant to add/update/remove device euis to the helium packet router when a device is actioned on by a tenant.

you will need to make sure this container connects to the same docker network or network as your chirpstack container is running on so that it can interact with it when changes are made.

Helium Openlns

  • Own your own helium OUI.
  • Purchase your own devaddr block (min block 8) or have a NetID.
  • Your own Chirpstack or Chirpstack Docker instance.
  • Chirpstack gateway bridges setup to accept gwmp on regions you intend on allowing to connect to your server.

Initial Helium Setup

TODO:

  1. get python working with helium-crypto.rs and helium/proto to make changes directly over the wire, I'm currently unable to get this function working correctly on the helium side. Any help here would be appreciated if someone has some time to donate towards the project.

  2. Migrate sql to more friendly pythonic sqlalchemy ORM.

Create chirpstack integration database.

  • This step is no longer required, a sepreate table will be created in the regular postgres db to keep a synced record of the helium devices.

Nevertheless to create a separate database for handling the regular postgres chirpstack integration as referenced by the chirpstack docs.
To enter the command line utility for PostgreSQL.:

docker exec -it chirpstack-postgres /bin/bash
psql -U postgres

Inside this prompt, execute the following queries to setup the helium_integration database. It is recommended to use a different username (role) and password.

-- create role for authentication
create role helium_integration with login password 'helium_integration';

-- create database
create database helium_integration with owner helium_integration;

-- exit psql
\q