Tracks lorawan devices sending payloads to a Chirpstack Server to report to a Django app.
- Chirpstack Server: wes-chirpstack
- Django App: waggle-auth-app
NOTE: The Django App encompasses the models, serializers, and views necessary for facilitating API calls within
app/django_client/
- When deploying an update, initiate a release process.
- wes-chirpstack-tracker is deployed to nodes via waggle-edge-stack:
To set the django-token secret follow these steps:
- Find or Generate the secret key the Node in waggle-auth-app using using the Node Auth Token app
- Once you have the key, base64 encode it
echo -n 'key' | base64
- Finally, deploy the base54 encoded key as a secret to the Node's k8s cluster. A template is here
kubectl apply -f secret.yaml
The packages in app/
can be used invidually by running the main file. Example:
python3 app/django_client/client.py --debug --vsn W030 --api-interface https://auth.sagecontinuum.org --node-token akdfh80034 --lorawan-connection-router lorawanconnections/ --lorawan-key-router lorawankeys/ --lorawan-device-router lorawandevices/ --sensor-hardware-router sensorhardwares/
NOTE: the main file name will be different based on the package
To run unit tests download the requirements in /test/
, then run the following command
pytest
- To test wes-chirpstack-tracker in a k3s cluster use the yaml files in
/test/kubernetes/
.- if
django-token
secret is not in the cluster, wes-chirpstack-tracker pod will stay inCreateContainerConfigError
status. Once the secret is created the pod will start running by itself. - If you need to use
secret.yaml
, make sure you add your base 64 encoded token to it
- if
- One way to test an update's image build is to open a PR.
- A "Manifest" refers to a JSON file stored within a node that provides information about its hardware specifications, project details, and other relevant data.
- Chirpstack APIs
- MQTT