107 lines
3.8 KiB
TOML
107 lines
3.8 KiB
TOML
# Default settings file.
|
|
#
|
|
# **********************************************************
|
|
# ***************** DO NOT EDIT THIS FILE. *****************
|
|
# **********************************************************
|
|
# Instead edit ../settings.toml (or create it if it doesn't exist yet).
|
|
|
|
program_name = "LoRaWAN Signal Mapper"
|
|
version = "v0.1"
|
|
description = "assists in mapping LoRaWAN signal coverage"
|
|
|
|
|
|
[database]
|
|
### Database settings ###
|
|
|
|
# The path to the sqlite database file. If it doesn't exist it will be created.
|
|
filename = "lorawan.sqlite"
|
|
|
|
# The options to pass to better-sqlite3. You probably don't need to change this.
|
|
[database.options]
|
|
|
|
|
|
[ttn]
|
|
### The Things Network settings ###
|
|
|
|
# The host to connect to via MQTT.
|
|
# See https://www.thethingsnetwork.org/docs/applications/mqtt/api.html
|
|
# and also "Application Overview -> Handler"
|
|
host = "eu.thethings.network"
|
|
# The port number to connect on.
|
|
# The Things Network uses 1883 for plain-text, and 8883 for TLS.
|
|
port = 8883
|
|
# Whether to use TLS or not.
|
|
tls = true
|
|
|
|
# The id of The Things Network application to connect with.
|
|
# Basically your application's name. Get this from the things network
|
|
# console - e.g. "lorawan-signal-mapping".
|
|
app_id = "CHANGE_THIS"
|
|
# The access key to connect to The Things Network with.
|
|
# Get this from the TTN console too. Click on your application, scroll to the
|
|
# "access keys" section at the bottom of the page, and copy the value you see
|
|
# there.
|
|
access_key = "CHANGE_THIS"
|
|
|
|
# The additional encryption key, in hex, generated when setting up the IoT device.
|
|
# This is used as an exrtra layer of encryption to ensure that The Things Network does not have access to the decrypted data.
|
|
encryption_key = "CHANGE_THIS"
|
|
|
|
# A list of devices to monitor.
|
|
# If a device isn't specified here, then we won't hear messages from it.
|
|
# FUTURE: Automatically fetch a list of devices from the TTN API
|
|
devices = [
|
|
"CHANGE_THIS"
|
|
]
|
|
|
|
[ai]
|
|
# Settings relating to the training of the AI.
|
|
|
|
# TODO: Implement environment variable support
|
|
# Note that a number of these settings can also be specified by environment variables, to aid with fiddling with the parameters to find the right settings.
|
|
|
|
# The radius around a positive result to zap negative results.
|
|
# This helps to remove false-nagative readings, to improve the AI's ability to
|
|
# accurately predict the actual signal strength.
|
|
false_negative_zap_radius = 450
|
|
|
|
# Whether to actually zap false negatives or not.
|
|
# Useful when you want to... erm.... see why the zapping is necessary?
|
|
do_zap_false_negatives = true
|
|
|
|
# The architecture of the neural network, as an arary of integers.
|
|
# Each integer represents the number of nodes in a layer of the neural network.
|
|
network_arch = [ 512 ]
|
|
|
|
# The number of epochs to train for.
|
|
epochs = 1000
|
|
# Cut training short if the mean squared error drops below
|
|
# this value
|
|
error_threshold = 0.0001
|
|
|
|
# The learning rate that the neural networks should learn at
|
|
learning_rate = 0.1
|
|
# The momentum term to use when learning
|
|
momentum = 0.1
|
|
|
|
# Either "split" or "unified".
|
|
# Describes the mode of training for the AIs.
|
|
# In split mode (the default), 1 AI is trained for each of the gateways detected.
|
|
# In unified mode, we train 1 AI that predict everything.
|
|
mode = "split"
|
|
|
|
# The directory to output trained AIs to, relative to the repository root.
|
|
output_directory = "app/ais/"
|
|
|
|
[logging]
|
|
# The format the date displayed when logging things should take.
|
|
# Allowed values: relative (e.g like when a Linux machine boots), absolute (e.g. like Nginx server logs), none (omits it entirely))
|
|
date_display_mode = "relative"
|
|
|
|
# Whether we should be verbose and log a bunch of stuff to the console.
|
|
# Disabled by default, but useful for debugging.
|
|
verbose = false
|
|
|
|
# Whether we should output ANSI escape sequences to colourise the output or not.
|
|
# Defaults to true, but you should turn it off if you're using syslog.
|
|
colour = true
|