If you are looking to contribute please check out CONTRIBUTION.md
The rocket has on board transmitters using IEEE 802.11. Messages are transmitted using the MQTT protocol.
Eclipse Mosquitto is an open-source message broker. All endpoints send and receive messages through the broker.
Telegraf is open-source data collection agent. Configurations for inputs, processors, aggregators and outputs are set in the telegraf.conf file.
| Inputs | Function |
|---|---|
| mqtt_consumer | Subscribes to messages from broker |
| Processors | Function |
|---|---|
| printer | prints logs to console |
| Outputs | Function |
|---|---|
| Websockets | Streams data to Nextjs client |
| influxdb_v2 | Saves data to influxDB |
Influx DB is an open-source time series database
This project depends on docker to run eclipse-mosquitto, influxdb2 and telegraf
-
If you are using Windows, please follow steps for installing Docker Desktop on Windows.
-
If you are using macOS, please be sure to follow the steps outlined in Docker Docs for how to install Docker Desktop for Mac
-
If you are using Linux, please be sure to follow the steps outlined in Docker Docs for how to install Docker Engine and Docker Desktop for linux
-
Create a docker group
#!/bin/bash sudo groupadd docker -
Add your user to the
dockergroup.#!/bin/bash sudo usermod -aG docker $USER
-
Log out and log back in so that your group membership is re-evaluated.
-
Verify that you can run
dockercommands withoutsudo. -
For more information follow this link
-
To get started, download the zip of latest release
-
Navigate to path of the downloaded artifact
-
Extract
release.zip -
Open the
releasedirectory in your terminal -
Confirm you are in the same directory as the docker-compose.yaml file; Run the following command to start the application in detached shell mode:
#!/bin/bash docker compose up -d
or without detaching the shell
#!/bin/bash
docker compose upConfirm that all four containers are running using the following command:
#!/bin/bash
docker psThe following containers should be running
| Container | Port |
|---|---|
| n2-avionics-basestation | 3000/tcp |
| eclipse-mosquitto | 1883/tcp |
| Telegraf | 8092/udp, 8125/udp, 8094/tcp |
| influxdb | 8086/tcp |
This project provides the following environment variables
| Variable | Default |
|---|---|
| SERVER_URL | ws://192.168.4.2:3000 |
| INFLUXDB_USER | nakuja |
| INFLUXDB_PASSWORD | 987654321 |
| DOCKER_CLIENT_IMAGE | ghcr.io/nakujaproject/n2-avionics-basestation:latest |
The default environment variables can be overwritten using an environment file named .env placed in the same directory as the docker-compose.yaml file.
For more information checkout the docs on how to use environment variables with docker compose
Telegraf and eclipse-mosquitto can be customised using their respective .conf files
The default username and password for the influxdb2 dashboard is :
username=nakuja
password=987654321
