|
LoRa payload format
A data packet build of one byte as packet header information and up to 64 bytes of packet data. The packet data itself is a number of multiple fields.
This is based on http://things4u.github.io/DeveloperGuide/Message%20Format/message_format.html
Packet Header
Packet Size is the number of all bytes including the header.
Field
Field Header | n bytes of field data |
Temperature -100 - 150 | 0x01 | 2 | (BYTE[0]-100)+BYTE[1])/100 | -100,00 | 150,99 |
Humidity | 0x02 | 1 | BYTE[0] | 0 | 100% |
Airpressure | 0x03 | 2 | BYTE[0]*256 + BYTE[1] | | |
Moisture 1 | 0x04 | 1 | BYTE[0] | | |
Moisture 2 | 0x05 | 2 | BYTE[0]*256 + BYTE[1]/10 | | |
Luminescense | 0x06 | | | | |
Airquality | 0x07 | | | | |
PIR | 0x08 | | | | |
| | | | | |
Distance mm | 0x20 | | BYTE[0]*256 + BYTE[1] | | | |
Distance cm | 0x21 | | BYTE[0]*256 + BYTE[1] | | | |
Distance m | 0x22 | | BYTE[0]*256 + BYTE[1] | | | |
Distance km (1/10) | 0x23 | 2 | BYTE[0]*256 + BYTE[1]/10 | | | |
big Distance mm | 0x24 | 4 | BYTE[0]*224 + BYTE[1]*216 + BYTE[2]*28 + BYTE[3] | | | |
Date | 0x25 | 3 | day=BYTE[0] month=BYTE[1] year=BYTE[2] | | |
Time | 0x26 | 3 | hour=BYTE[0] minute=BYTE[1] second=BYTE[2] | | |
Date+Time | 0x27 | 6 | day=BYTE[0] month=BYTE[1] year=BYTE[2] hour=BYTE[3] minute=BYTE[4] second=BYTE[5] | | |
| 0x28 | | | | |
GPS-Short | 0x2A | 9 | lat=(BYTE[0]*224 + BYTE[1]*216 + BYTE[2]*28 + BYTE[3]) / 105 lon=(BYTE[4]*224 + BYTE[5]*216 + BYTE[6]*28 + BYTE[7]) / 105 sat=BYTE[8] | | |
GPS-Long | 0x2B | | | | |
Heading | 0x2C | | | | |
Compass | 0x2D | | | | |
RTC | 0x2E | | | | |
| 0x2F | | | | |
| | | | | |
Battery voltage (0..30V) | 0x40 | 2 | (BYTE[0]*28 + BYTE[1]) / 10 | | |
R (Ohm) | 0x41 | 2 | (BYTE[0]*28 + BYTE[1]) / 10 | | |
R (kOhm) | 0x42 | 2 | (BYTE[0]*28 + BYTE[1]) / 10 | | |
R (MOhm) | 0x43 | 2 | (BYTE[0]*28 + BYTE[1]) / 10 | | |
| | | | | |
Boolean FALSE | 0x80 | 0 | - | FALSE |
Boolean TRUE | 0x81 | 0 | - | TRUE |
String | 0x82 | 2+byte[0] | size=BYTE[0] content=BYTE[1]...BYTE[size] | |
Int8 | 0x83 | 1 | BYTE[0] | -128 | 127 |
Int16 | 0x84 | 2 | BYTE[0]*28 + BYTE[1] | -32.768 | 32.767 |
Int32 | 0x85 | 4 | BYTE[0]*224 + BYTE[1]*216 + BYTE[2]*28 + BYTE[3] | -2.147.483.648 | -2.147.483.647 |
small Decimal /10 | 0x86 | 1 | BYTE[0]/10 | -12,8 | 12,7 |
midi Decimal /10 | 0x87 | 2 | (BYTE[0]*28 + BYTE[1]) / 10 | -3.276,8 | 3.276,7 |
midi Decimal /100 | 0x88 | 2 | (BYTE[0]*28 + BYTE[1]) / 100 | -327,68 | 327,67 |
midi Decimal /1000 | 0x89 | 2 | (BYTE[0]*28 + BYTE[1]) / 1000 | -32,768 | 32,767 |
| | | | | |
Decimal 1/10^n | 0x9n | 2 | (BYTE[0]*224 + BYTE[1]*216 + BYTE[2]*28 + BYTE[3]) / 10^n | | |
|