Lib for c-like socket via LoRa protocol (not LoRaWAN)?

(Nrmncr) #1

Is there a lib for C/C++ that supports creating sockets via LoRa protocol, like unistd.h? I know this is a new protocol that is tottally different from TCP/IP or UDP, but I would be glad when I could mimic the funcionality of a socket. The point would be to transfer my packets via an ssh tunnel then via LoRa to a gateway then upload data to a server. Communication between gateways and between lan device and server are working properly.

Another question is how LoRa handles data that is greater than the maximal size that can be transferred. Is it getting sliced into pieces or have I implement this part for proper communication?

(I'm going to use the old LoRa, not the LoRaWAN protocol.)
So my main goal is to mimic a TCP socket.

Sending UDP packets via LoRaWAN
(Arjan) #2

I don't think there is such thing as a LoRa protocol. LoRa is the proprietary radio modulation (where the LoRa chips, such as the SX1276, take care of encoding/decoding that modulation). LoRaWAN is one of the protocols that use LoRa, and the one used by The Things Network.

(Jonasskog) #3

We are looking into the same problem. We are investigating the possibility to implement end-to-end encryption by using TLS/DTLS on top of LoRaWAN. We have not found any lib for C/C++ that supports creating sockets. To set up the TLS/DTLS connection from the node, we need to establish some type of connection/socket. Have you found anything new or is this pure madness?


pure madness .. that's why you didn't find any code :wink:


That is because sockets and TLS require bidirectional communication where LoRaWAN favours uni directional (uplink) with very limited downlink. (Max 10 packets a day/device in TTN)
LoRaWAN already implements encrypted end-to-end communication anyway, so why duplicate the effort?

(Jonasskog) #6

We are looking into the possibility to have end-to-end encryption when using a federated network like TTN or when you only have full trust in the end-devices. To our understanding the handler at TTN need to know the AppSKey, hence we lose end-to-end encryption.

As you might understand we are new to the area and appreciate all input!

(Arjan) #7

The Handler needs to know the key, but you're not required to use the TTN-hosted Handler: Setting up a Private Handler connected to the Public Community Network.


The message you are referring to is three quarters of a year old. TTN development has not stalled at that point in time and as @arjanvanb mentions you can host your own handler these days, keeping your keys secret.

(Arjan) #9

2 posts were split to a new topic: How to verify message integrity when using one's own Handler?

How to verify message integrity when using one's own Handler?