The Lora Scanner is a Flask web application integrated with SocketIO, designed for monitoring and analyzing LoRa (Long Range) wireless communication.
Analysis Mode
.Tracking Mode
.Survey Mode
.Survey Mode
page.Adafruit Feather M0
or 32u4
.Flash your Adafruit Feather M0 (or 32u4) with the Skinny LoRa firmware. You can attach up to three different receivers at a time. For instructions, please follow the steps 1-2 here.
Note: For 433 MHz analysis you need the Adafruit Feather M0 LoRa 433 MHz
cd lora-scanner
python -m venv venv
venv\Scripts\activate
source venv/bin/activate
pip install -r requirements.txt
python app.py
http://localhost:5000
.From the configuration page, you can connect to a LoRa transmitter to start sending and receiving messages. Select the desired frequency to begin. Click the 'Select Device' button to connect to a serial port on your computer (where your Feather is attached). Once connected, traffic from your LoRa receiver will automatically stream to the web page for analysis. To disconnect a receiver, click the 'Disconnect Device' button. You can connect up to three LoRa transmitters at once.
The 'Configure LoRaWAN Gateway' section allows you to set up to ten Dragino LPS8N LoRaWAN gateways.
The gateway configuration will automatically be saved to a file named 'gateway_config.json'. This file gets loaded each time the application runs. If you would like to save multiple configurations, copy the 'gateway_config.json' to a new file for later use.
Analyze LoRa traffic received at 433, 868, or 915 MHz with ‘Analysis Mode’. Click the desired frequency to get started. Once connected to your LoRa receiver, traffic will automatically be streamed to the web page for analysis. To disconnect a receiver, click the 'Disconnect Serial Port' button.
You can view and inspect any received packets from the analysis window in the appropriate section:
From analysis mode you can also transmit a message at the desired frequency using the ‘Transmit Data’ button.
Tracking mode allows you to track down rogue LoRa transmitters by locking in on a particular LoRa device and receiving live updates of their RSSI values. From the main tracking mode screen, click the row containing the LoRa transmitter you are searching for and it will lock in on that particular device for seamless tracking.
If you toggle the beacon buttons at the bottom of the screen, you will find a similar interface to the ‘Analysis Mode’ page. From this window you will be able to see live traffic received from the LoRa transceivers you have attached to the scanner. If you would like to beacon a message at a desired frequency, you can use the ‘Start Beacon’ and ‘Stop Beacon’ buttons. This will allow you to transmit a custom LoRa message at any desired interval , in an attempt to probe any LoRa devices that might be listening for messages:
Survey mode allows you to view all of the devices and corresponding packets discovered by the LoRa scanner.
From the main ‘Survey Mode’ screen, you can view plaintext messages that were successfully decoded by the LoRa scanner using the ‘Show Values’ button next to a desired LoRa device. After clicking the button, all of the messages captured from that particular device will be displayed. Each row represents a single message captured from that device.
To collapse the packet list, click the ‘Hide Values’ button.
To download all packets captured by the LoRa Scanner, click the ‘Download Packets’ button. This will export all packets into a CSV file.