A1QX Sigfox packet format
Documentation of Sigfox packet format used by A1QX devices from Quorum Precision
Sigfox packet for 4x temperature
Every Sigfox packet includes three pieces of information:
- temperature reading
- battery charge / status indicator
Example
Sigfox payload (hex): 07 D0 05 50 00 08 FF 5E
HEX substring from Sigfox packet | Example interpreted | Description | |
---|---|---|---|
07 D0 | 125 deg. C | Temperature of sensor on port 1 | |
05 50 | 85 deg. C | Temperature of sensor on port 2 | |
00 08 | 0.5 deg. C | Temperature of sensor on port 3 | |
FF 5E | -10.125 deg C. | Temperature of sensor on port 4 |
Reference parser implementation
Python3
#!/usr/bin/env python3
from pprint import pprint
def convert_to_celsius(temperature):
# Check if the temperature is negative
if temperature & 0x8000: # If the most significant bit is set
# Perform two's complement operation for negative temperatures
temperature = -((temperature ^ 0xFFFF) + 1)
# Convert the raw temperature reading to Celsius
celsius = temperature / 16.0
return celsius
out = {}
pl = "07D005500008FF5E"
for i in range(0, len(pl), 4):
s = int(i / 4)
out[f"{s}_hex"] = pl[i : i + 4]
print(f"Converting this HEX string to temperature: {out[f'{s}_hex']}")
out[f"{s}_celsius"] = convert_to_celsius(int(out[f"{s}_hex"], 16))
pprint(out)
Support
For support please contact your distributor or manufacturer directly via www.quorumprecision.com