2019-05-23 19:10:06 +00:00
# Default settings file.
#
2019-08-01 15:30:13 +00:00
# **********************************************************
# ***************** DO NOT EDIT THIS FILE. *****************
# **********************************************************
# Instead edit ../settings.toml (or create it if it doesn't exist yet).
2019-05-23 19:10:06 +00:00
program_name = "LoRaWAN Signal Mapper"
version = "v0.1"
description = "assists in mapping LoRaWAN signal coverage"
2019-07-04 16:18:38 +00:00
2019-05-23 19:10:06 +00:00
[ 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 ]
2019-05-29 10:59:40 +00:00
2019-07-04 16:18:38 +00:00
[ 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.
2019-07-08 14:42:05 +00:00
# The Things Network uses 1883 for plain-text, and 8883 for TLS.
2019-07-04 16:18:38 +00:00
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"
2019-07-15 12:49:44 +00:00
# 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"
2019-07-08 14:42:05 +00:00
# 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"
]
2019-07-17 13:16:24 +00:00
[ ai ]
2019-08-02 12:17:17 +00:00
# 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.
2019-08-02 13:00:31 +00:00
false_negative_zap_radius = 450
2019-08-02 12:17:17 +00:00
# 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
2019-07-04 16:18:38 +00:00
2019-07-29 13:36:52 +00:00
# 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.
2019-08-05 15:36:17 +00:00
network_arch = [ 512 ]
2019-07-29 13:36:52 +00:00
2019-07-18 15:34:25 +00:00
# The number of epochs to train for.
2019-07-29 13:36:52 +00:00
epochs = 1000
2019-07-29 16:02:34 +00:00
# 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
2019-07-18 15:34:25 +00:00
2019-08-05 16:06:31 +00:00
# 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"
2019-07-22 10:53:30 +00:00
# The directory to output trained AIs to, relative to the repository root.
output_directory = "app/ais/"
2019-05-29 10:59:40 +00:00
[ logging ]
# The format the date displayed when logging things should take.
2019-07-16 17:01:17 +00:00
# Allowed values: relative (e.g like when a Linux machine boots), absolute (e.g. like Nginx server logs), none (omits it entirely))
2019-05-29 10:59:40 +00:00
date_display_mode = "relative"
2019-07-10 13:44:52 +00:00
# Whether we should be verbose and log a bunch of stuff to the console.
# Disabled by default, but useful for debugging.
verbose = false
2019-07-16 17:01:17 +00:00
# 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