Binary UART protocol for multi-channel environmental sensor node with CRC16-Modbus
Physical UART Transport (115200 bps, 8N1.0)
Send command ping (ID: 0x01)
Echo / ping command to check device presence
Available only on servers:
Accepts the following message:
Echo / ping command to check device presence
{
"command_id": 1
}
Receive response for ping
Decoded async payload stream from device after command ping
Available only on servers:
Accepts the following message:
Decoded response frame payload for ping
{
"uptime_seconds": 0
}
Send command get_readings (ID: 0x02)
Query latest sensor measurements
Available only on servers:
Accepts the following message:
Query latest sensor measurements
{
"command_id": 2,
"channel": 0
}
Receive response for get_readings
Decoded async payload stream from device after command get_readings
Available only on servers:
Accepts the following message:
Decoded response frame payload for get_readings
{
"channel": 0,
"temperature": 0,
"humidity": 0,
"pressure_hpa": 0
}
Send command set_sampling_rate (ID: 0x03)
Configure sensor update frequency
Available only on servers:
Accepts the following message:
Configure sensor update frequency
{
"command_id": 3,
"rate_hz": 1
}
Receive response for set_sampling_rate
Decoded async payload stream from device after command set_sampling_rate
Available only on servers:
Accepts the following message:
Decoded response frame payload for set_sampling_rate
{
"status": 0
}
Unsolicited telemetry message periodic_status (ID: 0x30)
Spontaneous periodic heartbeat broadcast
Available only on servers:
Accepts the following message:
Spontaneous periodic heartbeat broadcast
{
"battery_millivolts": 0,
"error_flags": 0
}
Echo / ping command to check device presence
Decoded response frame payload for ping
Query latest sensor measurements
Decoded response frame payload for get_readings
Configure sensor update frequency
Decoded response frame payload for set_sampling_rate
Spontaneous periodic heartbeat broadcast