Expand description
The LoRaWAN application layer packages: what a server and a device say to each other on top of the link layer, TS003, TS004, TS005 and TS006.
A package is a small command language spoken on a port of its own. Every package shares
the same shape: a message carries one or more commands, each an identifier byte followed
by a payload whose length the identifier fixes, and a device runs them in order and
answers each one. The identifier means one command going down and another coming up, so
reading a message takes the Direction it traveled, exactly as a MAC
command does.
Each package announces itself: PackageVersion is the answer every package gives to the
version request every package defines, carrying the identifier of the package and the
version of it the device implements.
clock: application layer clock synchronization, TS003-2.0.0, on portclock::PORT. A device tells the server what time it thinks it is and the server answers with the correction.firmware: firmware management, TS006-1.0.0, on portfirmware::PORT. A server asks what a device is running, what upgrade image it holds, and schedules the reboot that installs it.fragment: fragmented data block transport, TS004-2.0.0, on portfragment::PORT. A block too large for one frame goes across in pieces, with coded fragments that let a device solve for the ones it missed.multicast: remote multicast setup, TS005-2.0.0, on portmulticast::PORT. A group of devices is given one address and one key, and a window in which they all listen at once.
These messages are unicast: a device drops them silently when they arrive on a multicast address.
Modules§
- clock
- Application layer clock synchronization, TS003-2.0.0.
- firmware
- Firmware management, TS006-1.0.0.
- fragment
- Fragmented data block transport, TS004-2.0.0.
- multicast
- Remote multicast setup, TS005-2.0.0.
Structs§
- Package
Version - The answer every package gives to its own version request.