Introduction
This addon allows to remotize the management of a LoRa Basics™ Station instance and its configuration files.
Prerequisites
- ESF version 7.0.0 or greater.
- An ESF gateway with LoRa Basics™ Station preinstalled and a compatible concentrator module like Eurotech ReliaWAN 10-14.
Note
This addon has been signed with the key with CN EUROTECH S.p.A. ESF Add-On Bundle Signing 2025. Please make sure that ESF security policy allows the execution of this addon in production mode. See ESF documentation for more details.
Usage
The component allows to specify the content of the configuration files required by LoRa Basics™ Station in its configuration, including the global configuration and credential files.
When the component starts, or when its confguration is updated, the state of the files in the directory specified by the Configuration directory parameter will be processed and aligned with the compoent configuration, and after that LoRa Basics™ Station will be executed.
LoRa Basics™ Station defines different categories and sets of credential configuration files.
This component allows to manage the following credential categories:
- Credentials for the LNS protocol (
tcfile name prefix) - Credentials for the CUPS protocol (
cupsfile name prefix)
Typically it is not necessary to provide the credential files for both protocols, for example if CUPS is used for gateway configuration, it is enough to specify the CUPS related files. In this case the LNS related ones will be created by Basic Station according to the configuration received from the CUPS server.
The component will manage the bootstrap set of each credential category (-boot filename suffix, e.g tc-boot.uri) and will also populate the regular credential configration file (e.g. tc.uri) if it does not already exist on the filesystem, this allows to speed up the LoRa Basics™ Station first boot.
If the configuration parameter for a credential file type is left empty, its boostrap configuration file will be deleted if exists. The regular variant will not be modified.
If the Delete configuration directory on configuration update configuration parameter is set to true, the component will delete the contents of the configuration directory if it is not aligned with the current component configuration. This allows to clean up the files generated by LoRa Basics™ Station and start from a clean state.
If the Enable configuration file overwrite cconfiguration parameter is set to false, the content of the configuration files will not be modified if they already exist in the configuration directory, even if their content differs from what specified in the configuration of this component. Setting this parameter to false enables performing just the initial seeding of the configuration directory, allowing the LoRa Basics™ Station to modify the configuration files later on.
Credential file configuration parameters
station.conf
This filed specifies the content of the station.conf global configuration file, this field is mandatory.
tc-boot.uri and cups-boot.uri
The connection URI for the LNS (tc-) and/or CUPS protocol (cups-). The URI scheme must be http, https, ws or wss. The port must be specified as well.
tc-boot.trust and cups-boot.trust
If TLS is used (https and wss schemes), these fields must contain the trusted certificates used for verifying server identity for LNS (tc-) and/or CUPS (cups-), encoded in PEM format.
tc-boot.key and cups-boot.key
These files allow to specify a secret used for LNS (tc-) and/or CUPS (cups-) client authentication. If the .crt field is specified for a given protocol, Basics Station will use TLS client side authentication, in this case the private key to be used must be specified in the .key field. If the .crt field is left empty, it is possible to use this field to specify an authorization token, in this case the token must be usually specified as an Authorization HTTP header.
Note
The value of the tc-boot.key and cups-boot.key must be provided in Base64 format.
tc-boot.crt and cups-boot.crt
If these fields are specified for LNS (tc-) and/or CUPS (cups-), the LoRa Basics™ Station will perform TLS client side authentication. In this case this field must contain the X509 certificate associated with the private key specified using the .key field.
LoRa Basics™ Station execution
After that the configuration directory has been processed according to component options, this component will start the LoRa Basics™ Station, running the executable file provided as the LoRa Basics Station command configuration parameter. The following arguments will be passed to it:
where <configuration directory> is the value of the Configuration directory parameter.
The LoRa Basics™ Station process will be restarted after a small delay if it exits, it will also be stopped and restarted if the component configuration is changed.
ESF will read the Basics Station process standard output and error streams, and print the output to ESF log using slf4j loggers with the following names:
- stdout:
com.eurotech.framework.lora.basicsstation.stdout - stderr:
com.eurotech.framework.lora.basicsstation.stderr
The log level of the two loggers can be confiugred with the following configuration parameters:
- stdout: Basics Station stdout log level
- stdout: Basics Station stderr log level
These configuration parameters are independent from the log_file and log_level settings in station.conf.
The LoRa® Mark is a trademark of Semtech Corporation or its subsidiaries.