LoRa is a newish Internet Of Things communications technology. It promises long range (LoRa), transmits a small amount of power and is designed for sensors that may need to operate from batteries for very long periods of time. The air protocol works at very low received signal levels, with down to -148 dBm claimed with low data rate transfers.
There are several LoRa modules available for very reasonable prices from Ebay. I purchased 3 x AIThinker RA-02 modules for $20. These modules use the Semtech SX1278 chip which packs in an amazing amount of functionality. The module is capable of +17dBm transmit, with a boost mode for +20dBm (100mW).
One of the LoRa bands is 433MHz, in the 70cm amateur band. With an interest in a low power GPS tracker that could be used as the “last mile” for APRS and hiking, a test transmitter and receiver were designed and assembled.
LoRa is intended to work in a network topology with nodes that talk to field units (LoRaWAN), but there is a peer to peer mode using the LoRa protocol that has been made available by the Radiohead driver collection. I used Arduinos for the control side of things as there are many drivers and sample applications available. The GPS is a UBlox 6M unit, not the smallest, but works well.
The system was set up for a 125kHz bandwidth and a spreading factor of 11, which gives a data rate of 500 bits/sec. Initially, I tried a spreading factor of 7, giving a 5000bit/sec. data rate and this worked for a couple of kilometres with the receiver sitting on the car dash.
For a more controlled test, I set up the transmitting unit in the back yard connected to a mobile whip that was about 3 metres above the ground. The receiver was packaged up in a small speaker enclosure and fitted with an LCD display so I could see the decoded packets.
I went for a ride on the bike with the receiver and chose a distance 5km from the transmitter that was non line of sight to see what would happen. To my surprise, packets were decoded, a few were missed depending on antenna orientation (a 70cm portable rubber duck).
Here is an elevation plot of the radio path:
As you can see, it is not line of site.
Here is the GPS tracker:
Here is the receiver:
Power for the tracker is supplied from a single 18650 LiPo cell. A 3.3 volt supply is used for the Arduino Pro Mini, Neo 6M GPS and RA-02 LoRa module.
To save power, the GPS is powered up every minute at the moment for testing. A REG103 LDO regulator with shutdown is used for turning off the GPS receiver and RA-02 between transmissions. The initial cold fix takes about 30 seconds inside the house. Subsequent warm fixes are very fast at about 2 seconds.
Without the Arduino sleeping between the GPS reports, the cell should last about 100 hours at this rate. The idle Arduino Pro Mini current @ 8MHz is about 13mA. The GPS uses about 60mA and the LoRa transmit, about 100mA. It should run for more than 100 hours on a 2500mAh cell (providing GPS signal available). Once sleep is running on the idle state, it will extend the run time further.
More to follow…..
No comments:
Post a Comment