Skip to content

transportkollektiv/cykel-ttn-wifi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cykel-ttn-wifi

A The Things Network adapter for sending bike-tracker positions to cykel. This adapter is for trackers using wifi for location calculations. for GPS based trackers use cykel-ttn. cykel-ttn-wifi uses mozilla location services for position calculation.

Prerequisites

  • Python (≥3.7)

Installation

Install the required packages using pip install -r requirements.txt. It is recommended to use a virtualenv with your choice of tool, e.g. pipenv, in which case you can run pipenv install (and pipenv shell or prefix pipenv run to run commands).

Decoder

To use the cykel-ttn-wifi adapter you need to bring the incoming bytes from your lora device into a readable format. The TTN Console supports decoders/converters and validators for this use case. You can find the decoder script in the Tracker Repo.

Visit https://console.thethingsnetwork.org/applications/<application-id>/payload-formats to set the Payload Format to Custom and enter the decoder function there.

Configuration

cykel-ttn is configured with environment variables. You may want to create a .env file, which you can source .env before running cykel-ttn.

The following envionment variables are needed:

export TTN_APP_ID="<your ttn application id>"
export TTN_ACCESS_KEY="<your ttn application access key>"
export ENDPOINT="https://<your cykel host>/api/bike/updatelocation"
export ENDPOINT_AUTH_HEADER="Api-Key <your api key for cykel>"
export PORT=8081
export MOZLOC_KEY="<your MLS-API Key from https://location.services.mozilla.com/api>"

You can create the ttn application access key on the ttn console, the only needed capability is messages.

For the cykel API Key (ENDPOINT_AUTH_HEADER), visit your cykel administrative interface and create a new API key.

Run it

(load your virtualenv, if you have one)

python3 app.py

Metrics

On your configured port (env PORT) cykel-ttn serves metrics at /metrics in the Prometheus Text-based format. You may use this to build monitoring and alerting for your devices.

About

ttn adapter to cykel for wifi tracker

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published