# 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