LoRa/LoRaWAN tutorial 29: Semtech UDP Packet Forwarder and Semtech UDP protocol
HTML-код
- Опубликовано: 10 сен 2024
- If you like this video and want to support me, go this page for my donation Paypal or crypto addresses:
/ mobilefish
This is part 29 of the LoRa/LoRaWAN tutorial.
In this video series different topics will be explained which will help you to understand LoRa/LoRaWAN.
It is recommended to watch each video sequentially as I may refer to certain LoRa/LoRaWAN topics explained earlier.
In this tutorial I will briefly explain what the Semtech UDP Packet Forwarder is.
But the main focus is explaining what the Semtech UDP protocol is.
A packet forwarder is a program running on the host of a LoRa gateway and interfaces with the LoRa concentrator to pull and push packets, while interacting at the same time with the network server.
The Semtech Corporation created the first packet forwarder, which is a reference design and is called the "Semtech UDP Packet Forwarder".
When a LoRa gateway uses the Semtech UDP Packet Forwarder, it connects to a LoRaWAN network server through the Semtech UDP protocol.
See: github.com/Lor...
However the Semtech UDP Packet Forwarder has several flaws, for example UDP is not secure, UDP is not reliable and the forwarder is hard to configure.
More information:
www.thethingsn...
More information about the Semtech UDP protocol:
- The Gateway to Server Interface Definition [6]
- github.com/Lor...
- github.com/Lor...
In this tutorial the focus will be on the Semtech UDP protocol version 2.
This is the protocol version used since Semtech UDP packet forwarder version 3.0.0.
Several developers forked the Semtech UDP packet forwarder and implemented new functionalities.
All these forked packet forwarders are using the Semtech LoRa Gateway library.
A packet forwarder which uses the Semtech UDP protocol is called "legacy packet forwarder".
The Things Network has developed another protocol called "Gateway Connector Protocol" to avoid the UDP disadvantages.
Packet forwarders using this protocol are NOT legacy packet forwarders.
More information:www.thethingsn...
UPSTREAM COMMUNICATION
When a gateway receives a RF packet from an end node, the gateway creates a PUSH_DATA packet which is sent to a LoRaWAN network server.
After the server received the PUSH_DATA packet, the server sends a PUSH_ACK back to the gateway and then processes the PUSH_DATA packet.
DOWNSTREAM COMMUNICATION
At regular time intervals the gateway sends a PULL_DATA packet (aka keepalive message) to the network server.
If the gateway is behind a firewall it impossible for the network server to send packets to the gateway.
The PULL_DATA packets keeps any intervening firewall open by informing the server of the gateway UDP port number which it can use.
After the server received the PULL_DATA packet, the server sends a PULL_ACK back to the gateway to confirm that the network route is open and that the server can send PULL_RESP packets at any time to the gateway.
When the gateway receives a PULL_RESP packet, the gateway sends a TX_ACK feedback to the server to inform if the downlink request has been accepted or rejected by the gateway.
Tcpdump is a command line packet analyser that monitors and logs TCP/IP traffic and other packets passing between a network and the computer on which it is executed.
The generated raw tcpdump output:
www.mobilefish...
Some notes added for more detailed explanation:
www.mobilefish...
Node-RED is a browser-based development tool for wiring together hardware devices, APIs and online services.
Import a very simple Node-Red flow to capture the rxpk (received packet), stat (status), txpk (transaction packet) and txpk_ack (transaction packet acknowledge) JSON objects which are sent to/from the gateway:
www.mobilefish...
More information about the RAK831 Pilot Gateway:
www.aliexpress...
Interested in the RAK831 components:
www.aliexpress...
Check out all my other LoRa/LoRaWAN tutorial videos:
• LoRa/LoRaWAN tutorials
Subscribe to my RUclips channel:
/ @mobilefish
The presentation used in this video tutorial can be found at:
www.mobilefish...
#mobilefish #lora #lorawan
The 30 lecture was indeed a pure gold mine, Thanks for sharing your knowledge sir
Hey, sir. Thanks for all the information. Much appreciated. I was wondering if there was a way to manually send udp downlinks to the gateway in order to configure the SF, transmission power etc ...
As a newbie, I am wondering that are those Packet Forwarder 'device specific'? Since some people use arduino and wire to the LoRa while others use raspberry pie and LoRa concentrator with different schematic, and this packet program seems relevant to SPI and hardware structure.
Hello sir
Thanks for the video
I want to ask if the Rak 831 concentrator can be used without connection to internet to recieve data from the nodes. that is to use it at the LoRa level and not LoRawan.
Now, there is no check box " I am using the legacy forwarder". I cannot connect my gw to ttn
The encrypted data is visible in the RPI terminal after tcp dump command. , for example: "data":"QGojASaABAABpItDC2C3H8k=" in one of your examples. Is there any to decrypt the data and see the actual values in the RPI terminal sent from the gateway?
Please clarify this one thing. Struggling with this one for about a couple of months. Thank you in advance. Your video helped a lot. Good work!
Hi Mahnoor, it should be possible to decrypt it but at this moment i do not know how to do it yet. It is on my todo list to figure this out.
@@Mobilefish Sure. Kindly share when you are done with it. Though I am working on it and will share it with you if I reach some conclusion. Thank you.
Will this have caption? I need to translate it into Brazilian Portuguese.
Can I hire you for a project. I need help I’m stuck
Please add subtitle automatically, thanks.