Mobile Application: LoRa Edge Config™¶
LoRa Edge Config™ is a mobile application developed to accompany the LoRa Edge Tracker Reference Design. The purpose of this app is to help users configure and update their trackers.
Start Screen¶
The key elements on this screen are the Settings menu icon and the Scan icon, as shown in Figure 45 and Figure 46.

Figure 45: LoRa Edge Config Starting-Screen – Android

Figure 46: LoRa Edge Config Starting-Screen – iOS
Settings Screen¶
On the Settings screen, you can configure the following items.
-
Device filter: Select the type of devices to display when conducting a scan:
-
Show all devices.
-
Show only Semtech LoRa Edge Tracker Reference Designs.
-
Show only devices with custom name prefixes.
-
-
Inspector mode:
-
Advanced mode displays all parameters on the Parameters screen.
-
Basic mode displays only profile data on the Parameters screen.
-
-
Share latest internal log file: Sends the latest internal log file to someone (for example, via email).
-
Share latest diagnosis file: Sends the latest diagnosis file to someone (for example, via email).
-
Authentication Token: The authentication token generated by the LoRa Cloud™ Device Join service. Clicking on the token opens the camera application on your mobile device and allows you to scan the QR code containing the authentication token generated by the LoRa Cloud Device Join service.
-
Almanac Cloud URL: URL used by the app to fetch the almanac.
-
Almanac: Version of the locally-installed almanac.
-
Firmware manifest URL: URL of the firmware manifest for LoRa Edge Config application and modem.
-
LoRa Basics™ Modem-E firmware: Firmware version currently installed on the LoRa Basics Modem-E.
-
Tracker app firmware: Firmware version currently installed on the LoRa Edge Tracker Reference Design.
-
Get firmware from USB storage (Only Android): When checked, fetches the active firmware update from the USB storage location.
-
Need help ?: When tapped, sends this user guide to the mobile device.

Figure 47: Settings - Android

Figure 48: Settings - iOS
Scanner Screen¶
The Scanner screen contains the following elements:

Figure 49: Scanner (Android on the left, iOS on the right)
Advanced Configuration Settings¶
Users can access all parameters from this screen. LoRa Edge Config has several features and functions. It can also update both the LoRa Edge Tracker Reference Design application firmware on a device, as well as the modem firmware.
The Versions and FUOTA section displays the following information and update functionality.
-
Application firmware version: LoRa Edge Tracker Reference Design firmware application version(Major/Minor/SubMinor).
-
Function – Update Application firmware: Updates the application firmware when an update is available. When the application firmware is updated, the tracker is reset.
-
LoRaWAN protocol version: Wireless stack firmware version (the LoRaWAN stack version) (Major/Minor).
-
LoRa Basics Modem-E firmware version: Version of LoRa Basics Modem-E firmware in use.
-
Function – Update LoRa Basics Modem-E firmware: Launches a firmware update over the air (FUOTA) for the end node. When the firmware is updated, the tracker is reset.
-
Hardware version: The version of the LoRa Edge Tracker Reference Design hardware.
Note
If a firmware update button is greyed-out, it means that the version is already up-to-date.

Figure 50: Version and FUOTA Settings (Android on the left, iOS on the right)
The LoRaWAN® section displays LoRaWAN key information:
-
LoRaWAN Chip EUI: The Chip EUI.
-
LoRaWAN Device EUI: The Device EUI (If the Device EUI hasn’t been changed, this is also the Chip EUI). Changing this parameter resets the tracker.
-
LoRaWAN Join EUI: The LoRaWAN Join EUI. Changing this parameter resets the tracker.
-
LoRaWAN App Key: The LoRaWAN AppKey (when the tracker doesn’t use the Semtech Device Join service). Changing this parameter resets the tracker. If the Semtech LoRa Cloud join server is used, the AppKey is replace with an asterisk (*).
-
LoRa Basics Modem-E status: the LoRa Basics Modem-E status, which can be one or more of the following states:
-
Crash
-
Mute
-
Joined
-
Suspend
-
Upload
-
Joining
-
Stream
-
Clock_synchronized
-
-
LoRa Basics Modem-E date: The date, in GMT format, set in the LoRa Basics Modem-E.
-
LoRaWAN Region: The LoRaWAN region where the tracker is deployed.
-
Semtech LoRa Cloud join server mode: Checking this box causes the tracker to use the Semtech LoRa Cloud join server. Changing this parameter resets the tracker.
-
LR1110 PIN code: The LR1110 PIN necessary for claiming the device on LoRa Cloud.
-
ADR profile when tracker is moving: The adaptive data rate (ADR) strategy to be used when the tracker is moving. The choices are:
-
Network controlled.
-
Mobile low power.
-
Long range low power.
-
Custom profile.
-

Figure 51: LoRaWAN (Android on the left, iOS on the right)
To use GNSS estimation for the LoRa Edge Tracker Reference Design, you must enable it by checking the GNSS feature checkbox in the GNSS section of the Settings menu (as illustrated in Figure 52), which updates the almanac.
Note
You might need to scroll down past the LoRaWAN section to see the GNSS feature checkbox.
The GNSS section displays the GNSS parameters and associated functionality, as illustrated in Figure 52, below.
-
GNSS feature: Enable or disable GNSS scanning.
-
Almanac creation date: Date of the most recent almanac update.
-
Update almanac: Used to automatically update the Almanac.
-
GNSS constellation: The GNSS constellation used; this can be GPS, BEIDOU, or both.
-
GNSS assistance position: The latitude and longitude used to aid the GNSS scan.
-
Set GNSS assistance position with last known location: Uses the last known GPS location of the mobile device to set the GNSS assistance position.
-
GNSS antenna: Allows you to select the GNSS antenna to be used for scanning. This can be PCB, Patch, or both.
-
GNSS scan type: Select the type of GNSS scan to perform.
-
GNSS search mode: Select the GNSS search mode.
-
Scan priority: Select the scan priority. The choices are:
-
GNSS priority,
-
Wi-Fi priority
-
No priority.
-

Figure 52: GNSS parameters (Android on the left, iOS on the right)
You can set the device to receive position assistance data at your approximate location.
The input takes “+” for positive latitude (North) and “-“ for negative latitude (South).
Similarly, for positive longitude (East) use “+” and use “-“ for negative longitude (West).
The display ALWAYS shows “N” or “E” after latitude or longitude, respectively, even if you are at southern latitudes or western longitudes. The minus sign (-) sign however, takes precedence.
To facilitate setting the assistance position, you can use the Set GNSS assistance position with last known location option, as shown in Figure 53.

Figure 53: GNSS Assistance Position (Android on the left, iOS on the right)
If you want to use Wi-Fi to scan for a LoRa Edge Tracker Reference Design, enable Wi-Fi scanning by checking the Wi-Fi feature box on the Settings* page.
Note
You might need to scroll down past the GNSS section to find this.
The Wi-Fi section (Figure 54) displays the following Wi-Fi scan parameters:
-
Wi-Fi feature: Enable or disable Wi-Fi scanning
-
Wi-Fi channels: Select which Wi-Fi channels to use when scanning
-
Wi-Fi Type: Select the type of Wi-Fi to use for scanning (802.11a, 802.11b, 802.11d, 802.11g, 802.11n)
-
Wi-Fi scan mode: Select Beacon mode (scan Wi-Fi beacons only) or Beacon and Packet mode (which scans both Wi-Fi beacons and data packets)
-
Wi-Fi retries: Specify the number of internal scan sequences allowed per channel scanned
-
Wi-Fi max results: The maximum number of MAC addresses returned
-
Wi-Fi timeout (ms): Time (in milliseconds) which is the maximal duration of a single preamble search.

Figure 54: Wi-Fi Section (Android on the left, iOS on the right)
The Miscellaneous screen displays additional parameters and functionality not categorized elsewhere:
-
Airplane mode: Enables or disables Airplane Mode. Changing this option resets the tracker.
-
Use accelerometer: Enables or disables the accelerometer.
-
Scan interval (seconds): The scan interval duration, in seconds, while the tracker is moving. This interval cannot be guaranteed. It represents the anticipated duration of the scan attempt. The actual duration depends on whether the previous stream was sent, which itself depends on the radio duty cycle.
-
Keep alive frame interval minutes): The duration between keep-alive transmissions, in minutes, when the tracker is stationary.
-
Board voltage: The voltage of the board.
-
Accumulated charge: The LoRa Basics Modem-E accumulated charge in mAh.
-
Reset accumulated charge: Resets the LoRa Basics Modem-E accumulated charge.
-
Internal log: Enables and activates, or disables and stops, logging.
-
Read internal log: Allows the internal log to be read.
-
Flush field test log: Deletes the internal log.
-
Internal log space left: The memory space remaining in the internal log as a percentage.
-
Diagnosis: Displays the full diagnosis of the tracker/system.
-
Reset board: Resets the tracker.

Figure 55: Miscellaneous (Android on the left, iOS on the right)
Basic Configuration Settings¶
To facilitate tracker configuration, you can use the Basic Mode setting. To access this setting, open the Settings page and set Inspector Mode to Basic Mode. In Basic mode, the profile parameter is pushed to the tracker.
The basic settings include:
-
Automatic update: If a new version of the application, firmware, or almanac are available, the application automatically updates each of them.
-
LoRaWAN Device EUI: The Device EUI
-
LoRaWAN Join EUI: The LoRaWAN Join EUI
-
LR1110 PIN code: The LR1110 PIN necessary for claiming the device.
-
Data rate: The data rate for transmitting packets.
-
Low Data Rate:
-
Use accelerometer = enable
-
Scan interval = 1800 s (30 min)
-
-
Medium Data Rate:
-
Use accelerometer = enable
-
Scan interval = 600 s (10 min)
-
-
Default Data Rate:
-
Use accelerometer = enable
-
Scan interval = 300 s (5 min)
-
-
High Data Rate:
-
Use accelerometer = disable
-
Scan interval = 30 s
-
-
Accuracy: The type of accuracy required when scanning for the location of a tracker
Note
When these settings are applied, the rest of the parameters remain unchanged.
-
Default accuracy
-
GNSS Scan mode: Assisted
-
GNSS Search mode: Best effort
-
GNSS Antenna sel: Both
-
Wi-Fi Channels: Chan_1 / Chan_6 / Chan_11
-
Wi-Fi Nb retrials: 5
-
Wi-Fi Max result: 5
-
-
High accuracy
-
GNSS Scan mode: Assisted
-
GNSS Search mode: Best effort
-
GNSS Antenna sel: Both
-
Wi-Fi Channels: All
-
Wi-Fi Nb retrials: 10
-
Wi-Fi Max results: 32
-
-
GNSS feature: Enables or disables GNSS scanning functionality.
-
Wi-Fi feature: Enables or disables Wi-Fi scanning functionality.
-
GNSS assistance position: The latitude and longitude to use for enhancing the geolocation accuracy of the tracker.
-
Airplane mode: Enables or disables Airplane mode.

Figure 56: Basic Settings – Android

Figure 57: Basic Settings – iOS
Read the Tracker and System Diagnosis¶
The LoRa Edge Config app can automatically diagnose the complete system based on the parameters/status of the tracker/LoRa Basics™ Modem-E and give you a report.
Here are the necessary commands for getting an automatic diagnosis.
Point |
Check |
Command |
How |
---|---|---|---|
1 |
Check the date |
|
Compare the LoRa Basic Modem-E date with the smartphone date (UTC), the gap between the two dates shouldn’t be more than 30s |
2 |
No downlink since x uplink |
|
If the number of uplink > 255 raise a warning |
3 |
GNSS assistance position |
|
Compare the Modem-E assistance position with the last known smartphone location, the gap between the two position shouldn’t be more than 50km |
4 |
GNSS basic operation |
|
GNSS feature activated + Modem Joined + modem not clock_synchronized: ==> Raises a warning GNSS feature activated + Modem Joined + modem clock_synchronized ==> Reports OK |
5 |
GNSS good operation |
|
Get the last nb_sv detected |
6 |
Modem E version |
|
Warning if the version read is not the same as the latest available |
7 |
Tracker application version |
|
Warning if the version read is not the same as the latest available |
8 |
Wi-Fi operation |
|
Get the last nb_mac_address |
9 |
System |
|
Get the bit field and check
|
10 |
LoRa Basics Modem-E status |
|
Get the status of the LoRa Basics Modem-E |
And here are the results:
Line |
Point To Use |
Answer |
|
---|---|---|---|
|
|
Validated |
Not Validated |
Modem E version |
6 |
OK |
Version not up to date |
Tracker firmware version |
7 |
OK |
Version not up to date |
Date accuracy |
1 |
OK |
Modem-E date is wrong |
Joined |
10 |
OK |
Not joined |
Applicative downlink received |
9 |
OK |
No applicative downlink received |
Nb uplink since last downlink |
2 |
OK |
Is nb > 255 put the value in yellow |
Time synchronized |
1/10 |
OK |
Modem-E not synchronized |
WiFi scan successful once |
9 |
OK |
Failed |
GNSS scan successful once |
9 |
OK |
Failed |
WiFi current operation |
8/9 |
OK |
Return the point(s) which failed |
GNSS current operation |
1/3/4/5/9 |
OK |
Return the point(s) which failed |
This diagnosis is available on both the Basic mode and Advanced mode screens. This diagnosis can also be sent by email, with the complete settings of the tracker, as is done for the internal log.
The Tracker diagnosis is in the Miscellaneous section in both Basic Settings and Advanced Settings screens. When the function is tapped, it looks something like this:

Figure 58: Tracker Diagnosis
The diagnosis can be shared by clicking on the SHARE button and sending by email.
Activate the Internal Log¶
The LoRa Edge Tracker Reference Design can store the following data in its internal flash memory:
-
Wi-Fi passive scan results
-
GNSS scan results from both antennas
-
Acceleration values
-
Temperature values
To activate the internal log, the Internal log checkbox in the Miscellaneous section must be checked:

Figure 59: Enable and Activate Internal Logging (Android on the left, iOS on the right)
Read the Internal Log¶
To read the internal log, in the Miscellaneous section, tap Read internal log. The app downloads the log from the tracker.

Figure 60: Read Internal Log (Android on the left, iOS on the right)
Once the internal log is fully received by the mobile application, a pop-up dialog box (Figure 61) with the following choices is displayed.
-
SHARE: An email is sent (to an address defined by the user) containing the file internal_log_date.txt.
-
LATER: The log file and email are not sent. However, the log is stored in the USB storage and can be shared by clicking on Share latest internal log file in the settings.

Figure 61: Internal Log Dialog Box (Android on the left, iOS on the right)
Once the internal log file is received, it can be pushed using a Python script. The Python script parses and pushes the data to the LoRa Cloud solver, which resolves the positions and returns a *.kml file.

Figure 62: Sample Internal Log Content
Each line in the log file has the following format: [Timestamp][Job counter – Job Type][DATA]
There are five possible job types:
-
GNSS NAV message on PCB antenna
-
GNSS NAV message on Patch antenna
-
Wi-Fi passive scan
-
Acceleration value [X,Y,Z]
-
Temperature in degrees Celsius
To flush the internal log, tap Flush internal log. The log is flushed after the BLE connection ceases.
Push the Internal Log and Get the Tracker Locations¶
To push the internal log and obtain the locations of the tracker:
-
Download the latest LR1110 software packages, available in GitHub at https://github.com/Lora-net/lr1110_evk/wiki/Software-packages.
-
Unzip the file and follow the installation instructions available here: https://github.com/Lora-net/lr1110_evk/blob/master/host/doc/install_instructions.md
Once the software is installed:
-
Open a command window
-
Navigate to the folder where the internal log file is located, as illustrated in Figure 63.
-
Change the directory to that folder using the cd command:
cd
-

Figure 63: Navigate to the Internal Log Folder
-
Use the
FieldTestPost
command to push the internal log to LoRa Cloud:
FieldTestPost -k kml_name.kml -v -u user_define_location internal_log_date.txt internal_log_date_result.log user_define_location glsAuthenticationToken dasAuthenticationToken
where:
-
–k: Generates the KML file
-
–v: Adds verbosity
-
–u: Defines a static location to be used as reference coordinate, rather than the one in the result file. The format is
, , -
glsAuthenticationToken: LoRa Cloud Geolocation Service token: See Getting Started with the Lora Cloud™ Geolocation Service
Here is an example of a FieldTestPost
command:
FieldTestPost -k internal-log-27-08-2020-08-30-23.kml -v -u 45.240061,5.890768,100 internal-log-27-08-2020-08-30-23.txt internal-log-27-08-2020-08-30-23.log 45.240061,5.890768,100 AQEAAda2xKcqKu1538j040KguvsqD7CvRPytnfJfMMYQcRHgGO+P
During the process you should see these logs:

Figure 64: FieldTestPost Log Example
When the logs have been pushed, a *.kml file associated with the internal log should be available in the same folder as the original internal log file.

Figure 65: Files Generated by *.kml File
The *.kml file can be opened with Google Earth Pro:

Figure 66: Positions on Google Earth (©Google, 2020)
The yellow pin icons represent the location of the tracker as determined by the Wi-Fi scan.
To obtain the Wi-Fi data related to each location, click on the yellow pin.
The following information is displayed (as illustrated in Figure 67):
-
Date
-
Number of MAC addresses seen
-
Access point information

Figure 67: Information Data from Wi-Fi Scan (©Google, 2020)
The green pin icons represent the tracker locations as determined by a GNSS scan.
To obtain the GNSS data related to each location, click on the green pin.
The following information is displayed, as illustrated in Figure 68.
-
Date
-
Number of satellites seen on GPS constellation
-
Number of satellites seen on BEIDOU constellation
-
Navigation message

Figure 68: GNSS Position Information
FUOTA Files through USB Storage (Android only)¶
LoRa Edge Config allows you to update the application and device firmware via files copied into the appropriate Semtech folder for your mobile device. For instance, >GalaxyS8PhoneSemtech.
To activate this service, in Settings, check the Get firmware from USB storage checkbox.
A Semtech folder is created in the root folder of the USB storage on your mobile device.
Inside the folder, a manifest.json file must be included. This file specifies the path of the firmware to be updated.

Figure 69: Semtech Folder
The manifest.json file must have the following format:
{
"lora_modem": {
"version": "1.01.07",
"url": " lr1110_modem_1.1.7.h"
},
"tkr_app": {
"version": "1.03.00",
"url": "lora_edge_tracker.bin"
}
}