LoRa™ Technology is a wireless modulation for long-range, low-power, low data rate applications. By achieving a range of more than 15 kilometers in a suburban environment and more than 2 kilometers in a dense urban environment, LoRa Technology solutions target multiple application domains, such as Internet-of-Things (IoT), metering, security, machine-to-machine (M2M).
Lora operates at 868MHz (Europe) and uses a form of spread spectrum modulation. Data rates are from 300 baud to 50k baud, depending on distance and message size.
Each LoRaWAN module has a unique ID and is connected to the gateway with a network ident and a network key. They are programmed in C++.
The interface to the gateway is programmed with Reactive Blocks and contains methods to receive data from and send data to the modules.
- The block contains two init pins, use init2 pin if you are accessing the gateway from another computer. The parameter to init2 is the IP-address or name of gateway
- If initFailed fires the block is unable to contact the LoRa interface on the gateway. Error message is attached.
- If initOk the block has contact with the LoRa interface.
- Send messages with send pin and all received messages will appear on the received pin.
We used this setup to test LoRa range.
- On the mDot: A special application that sent a heartbeat every 20 second
- On the gateway: This reactive block application to log received messages.
- A GPS position logger on a mobile phone.
We merged position from the GPS logger with received data from the Reactive Blocks application and were able to calculate range of LoRa communication.
Our setup for the gateway antenna was not optimal, it was located on the groundfloor of a huge concrete building, so testing LOS (Line Of Sight) range was out of the question.
We did test NLOS range, but we were never able to achieve more than 500m range. We used the default setup and did not try to tune communication parameters, there are lots of parameters available to tune transmitting power, error correction and so on and by spending some time with those we would probably be able to increase the NLOS range. Our goal with this test was to show that Reactive Blocks also worked with LoRa and that goal was met..