An example of a packet from the node to the gateway
INFO: Received pkt from mote: 5020026A (fcnt=5)
JSON up: {"rxpk":[{"jver":1,"tmst":3780070746,"time":"2025-02-08T00:23:02.177296Z","tmms":1423009400177,"chan":1,"rfch":0,"freq":918.000000,"mid": 0,"stat":1,"modu":"LORA","datr":"SF12BW125","codr":"4/5","rssis":-37,"lsnr":9.5,"foff":-844,"rssi":-36,"size":45,"data":"gGoCIFCABQAI1Tz/iN7xaY6FA0eltm0/Sh0P2BrCb8TtXnK/besROKYjt3/3"}]}
You can see the “info” message saying it received a packet.
then the json is the meta data about the packet and the payload itself.
If we break that down a little (see the packet forward documents for a full description)
INFO: Received pkt from mote: 5020026A (fcnt=5)
JSON up: { <-- Data from node to gateway
"rxpk":[{ <-- Receive Packet
"jver":1,
"tmst":3780070746, <-- Time stamps can be very important if you need to send a packet back
"time":"2025-02-08T00:23:02.177296Z",
"tmms":1423009400177,
"chan":1,
"rfch":0,
"freq":918.000000, <-- The frequence the gateway received the packet on.
"mid": 0,
"stat":1,
"modu":"LORA", <- LORA Modulation
"datr":"SF12BW125", <- Spread Factor and Bandwidth
"codr":"4/5", <- Coding/Error Rate.
"rssis":-37,
"lsnr":9.5,
"foff":-844,
"rssi":-36,
"size":45,
"data":"gGoCIFCABQAI1Tz/iN7xaY6FA0eltm0/Sh0P2BrCb8TtXnK/besROKYjt3/3" <-- Payload itself base 64 Encoded
}]}
The payload/data may or may not be encrypted, but should be as per your system.
example of packet from gateway to node
JSON down: {"txpk":{"tmms":1423009401177,"freq":926.900000,"rfch":0,"powe":14,"modu":"LORA","datr":"SF12BW500","codr":"4/6","ipol":true,"prea":12,"size":45,"data":"YGoCIFAgHwAIDho40e9uTaSpAkRsrZ6TUhsd+RYmXAGoxN/7QoFrxox1WD26"}}
INFO: [down] a packet will be sent on timestamp value 3781070448 (calculated from GPS time)
Note all settings between node and gateway need to match the gateway then forwards the JSON payload to the network; so end to end becomes important.
LoraWAN has 3 Classes, A, B and C
A is most common and uses the least amount of power. But it has receive windows where the node radio will wake up and listen for a response. there are actually 2 receive windows. If the time is not exact enough or too short then the gateway may not be sending the message when the node expects it.
Key Point : The receive windows only come into play for a packet from the upstream servers responding to the packet. They may or may not do this (check your service provider guides).
LoraWAN is meant to be short and as little time on air as possible, as such downstream packets are costly (cant RX and TX at the same time) so very often are not used.
As per previous posts, the first step will be to ensure you get the packet from the node to the gateway.