To configure your Docker container with the required environment variables, create a .env
file. This file will be used to set up the initial configuration for InfluxDB. Below are the environment variables that you can include in your .env
file:
-
DOCKER_INFLUXDB_INIT_MODE
: Set this tosetup
to indicate that you want to initialize InfluxDB. -
DOCKER_INFLUXDB_INIT_USERNAME
: Specify the admin username for InfluxDB to login to the UI. -
DOCKER_INFLUXDB_INIT_PASSWORD
: Set the password for the admin user. -
DOCKER_INFLUXDB_INIT_ORG
: Define the organization name. -
DOCKER_INFLUXDB_INIT_BUCKET
: Specify the initial bucket for your InfluxDB setup. -
DOCKER_INFLUXDB_INIT_ADMIN_TOKEN
: Set the admin token for InfluxDB.
docker compose up
Run the mdap.py ipc app under ipc/ in this repository in the IrisBackend
- username:
DOCKER_INFLUXDB_INIT_USERNAME
- password:
DOCKER_INFLUXDB_INIT_PASSWORD
- username:
admin
- initial password:
admin
The message structure has been defined while keeping the concept of Point in mind. Point is a data entry in influx db that contains a unique timestamp, measurement, fields, values, and tags. This structure allows easy constructing a point object from the raw telemetry data fetched from the DOWNLINK topic in GDS.
All points in a measurement MUST have the same set of fields and unique timestamps. Therefore, we cannot have the channel name as field_key because one module can have multiple channels. The issue that it brings here is that we cannot have more than one channel with the same timestamp.
message_structure = {
"asset": "mission_name",
"data": {
"module_name_measurement": {
"timestamp": {
"field1": "channel_name",
"field2": "value"
}
}
}
}
example_message = {
"asset": "iris",
"data": {
"WatchdogHeartbeatTvac": {
"123445567": {
"channel": "AdcTempKelvin",
"value": 273.15
}
}
}
}