markqvist / Reticulum

The cryptography-based networking stack for building unstoppable networks with LoRa, Packet Radio, WiFi and everything in between.
https://reticulum.network
MIT License
1.97k stars 122 forks source link

Add packets over TTN/Helium #24

Closed jottr closed 2 years ago

jottr commented 2 years ago

TTN and Helium (to some degree) already provide coverage in many regions of the world.
It could be useful to be use these LoRa-based networks to transmit Reticulum packets.

If routing Reticulum packets over other LoRa based networks is already possible a manual page/example would be useful.

4c3e commented 2 years ago

If routing Reticulum packets over other LoRa based networks is already possible a manual page/example would be useful.

This is already possible using Reticulum. Here's a guide for setting up encrypted LoRa messaging over Reticulum: https://unsigned.io/private-messaging-over-lora/. All credit to @markqvist

Please feel free to open a discussion if you have any other questions about setup.

Edit: for code examples you can check out examples portion of the Reticulum Manual here: https://markqvist.github.io/Reticulum/manual/examples.html

markqvist commented 2 years ago

As @4c3e mentions, the preferred (and currently only) way to use Reticulum over LoRa is using the methods already supplied and documented in various places. There is also information about setting up LoRa interfaces here:

LoRaWAN networks (as opposed to raw LoRa, using an RNode for example) is generally not well suited for realtime bi-directional communication, since uplink and downlink packets can be spread out very far in time.

There are limited use cases where it might be useful to be able to "piggyback" on established LoRaWAN networks, for example for sending oppertunistic single-packet LXMF messages. This could make it possible to send very short (SMS-style) LXMF messages even when far away from any Reticulum LoRa nodes. This could be explored in the future.

markqvist commented 2 years ago

Since I think this is out of scope for implementation currently, but could be really relevant in the future, I'll migrate this to a discussion instead. That way more free-form talk and brainstorming around the subject can happen :)