Lora communication question (newbie)

  • I have a project where sensor data needs to be transmitted over a distance of 50+ miles to the final destination. This sensor data is collected a intervals of roughly 1 mile along the path to its final destination (meaning 50+ lora nodes). These sensor nodes are in a remote location where internet and phone service probably does not exist. Is it possible to create a network of Lora nodes which can pass the data along the chain to the final destination? If this is possible, can anyone explain the architecture of the communication or point me to a document to study.
    Thank you for your assistance.

  • @JimT
    No, to be perfectly honest that would be quite an engineering challenge to get right.

  • Is there documentation or example code which demonstrate LoRa node hopping (mesh) type communication? I would like to try LoRa over a lesser distance and smaller node count.

  • @JimT said in Lora communication question (newbie):

    Regarding the duty cycle restrictions (USA), is it possible to make the network completely private and avoid these duty cycle restrictions?

    For the USA there isn't a duty cycle but you must obey FCC's rules for the 915 MHz spectrum which say you may only transmit for 400 mS of each 10 or 20 second period (depends on channel bandwidth) per channel.

    Essentially this means you must switch to another frequency before using 400 mS of airtime (you can use one of the LoRa calculators to find out what is the time on air for your data). Of course the complicated part is how will nodes know which frequency is currently being used by the others.

    As for WiFi option you don't need Mesh, simple operate WLAN() as WLAN.STA_AP which means the WiPy behaves both as access point and station.

  • @jmarcelino said personally I'd suggest WiFi.

    To use WiFi, I assume I would need to use a mesh network methodology. Is there a python based mesh networking library available for the WiPy or LoPy?

  • Regarding the duty cycle restrictions (USA), is it possible to make the network completely private and avoid these duty cycle restrictions?

  • @JimT
    It's a complex problem, you will without any doubt need to handle retransmissions as well, LoRa - like any wireless protocol - will ocasionally drop packets.

    The other issue with LoRa is you're probably bound by some duty cycle restriction - i.e. you only get x seconds of transmission time per hour - this depends on the country where you're deploying. This limits packet size (probably important if you're combining data along the way) and number of retransmissions.

    Personally I'd suggest WiFi with very high gain (parabolic) directional antennas. If you point them accurately you should be able to get 1 mile easily.

    But yes the power draw also applies, the WiPy will be taking in about 120mA to keep WiFi active.

  • Thank you for your assistance.
    Assume that obstruction is not an issue (following a large river). I plan to use solar and a deep cycle battery at each node. I also plan to use a GPS at each node to update time. The entire node chain can be programmed to wake-up at specific times to pump sensor data down the node chain. Of course nodes will go down (vandals and mother nature) so I need to make sure that the node spacing is correct to allow for a down node and for data transmission to continue. I can adjust this node spacing as needed. Perhaps Lora is not the best technology for this application.

  • There was a discussion on this several months ago.
    @jcaron is right, the largest challenge in your scenario is power. The LoPy has limited memory and 'may' not be the right tool for the job for a host hopping mesh network.

    see: https://forum.pycom.io/topic/829/mesh-network-on-wipy-2-0/6

  • I think one big question is whether you can provide an external power source or not.

    If you can't, and thus are running on batteries, the issue is that keeping the node active enough to listen for LoRa packets will draw more current than a node that is completely asleep and just waking up do send data one in a while. This may be mitigated by waking up the receiver at specific intervals to listen for incoming packets, but it all depends on whether your transmission is at fixed intervals or based ol external events.

    If power is not an issue, then the only remaining issue is the ability of the nodes to communicate. 1 mile is easily achievable, but if you're deep in the mountains for instance, it might be a very different story.

    Also, in such a "chain", you would have the issue of nodes failing somewhere in the middle which could interrupt transmission from the furthest nodes. You might be able to skip over a node, but again topology may not be your friend.

Pycom on Twitter