miro Insight Airica version (depreciated)
Product Datasheet
Device Profile for Tesenso IoT Cloud
Decoder/Payload Converter for Tesenso IoT Cloud
Sensor Data Calculations
Humidity
Formula from Sensirion | FullScale Value | Resolution |
---|---|---|
RH = 100*SRH/(2^16-1) | 100 | 1 |
%RH | %RH | %RH |
note: SRH is a 16 bit unsigned value |
Formula from Miromico | Mode 1 (4 samples) | Mode 2 (8 samples) | Mode 3 (120 samples) | FullScale Value | Resolution |
---|---|---|---|---|---|
RH = 100100sum(SRHi)/(0xFFFF*nb_samples) | RH = 2500*sum(SRHi)/0xFFFF | RH = 1250*sum(SRHi)/0xFFFF | RH = 250sum(SRHi)/(0xFFFF3) | 10000 | 1 |
0.01 %RH | 0.01 %RH | 0.01 %RH | |||
note: internally 32 bit unsigned | Result as 16 bit value |
Temperature
Formula from Sensirion | ST is a 16 bit value unsigned | Formula at Miromico |
---|---|---|
T = -45 + 175*ST/(2^16-1) | T = -45100 + 175100sum(STi)/(0xFFFFnb_samples) | |
°C | 0.01°C |
CO2
signed 16 bit value ppm
Currently IIR Filtered value is used
=> Check responsiveness without IIR Filter
Air Time Calculations
Spreading Factor (7..12) | BW (125, 250) | CR (4/(CR + 4) | Preamble Length (LoRa Default: 8) | Explicit header (default 1) | CRC (default 2) | data | Preamble | Symbol | Air Time (ms) | Duty Cycle from Calculator (minutes) |
---|---|---|---|---|---|---|---|---|---|---|
12 | 125 | 1 | 8 | ok | ok | 15 | 401.41 | 32.77 | 1155.07 | 01:56 |
12 | 125 | 1 | 8 | ok | ok | 11 | 401.41 | 32.77 | 1150.98 | 01:56 |
12 | 250 | 1 | 8 | ok | ok | 11 | 401.41 | 32.77 | 577.54 | 00:58 |
11 | ||||||||||
10 | ||||||||||
9 | ||||||||||
8 | ||||||||||
7 | 125 | |||||||||
7 | 250 | 1600 | 01:58 |
Cycle period | Duty Cycle 1% |
---|---|
120 | 1.2 |
Mode (preset) | Sampling Periode in sec | Up-Link Periode in sec | Air Time max in sec |
---|---|---|---|
0 | |||
1 | 30 | 120 | 1.2 |
2 | 60 | 240 | 2.4 |
3 | 60 | 3600 | 36 |
Note: EdenSenses agrees to average the samples during the Up-Link period
Uplink documentation
General Message Format
Name | Unit | Range | Bytes |
---|---|---|---|
MsgType | Enum | 0..127 | |
Data depending on MsgType |
Enom definitions
MsgType Enum:
0 | Reserved |
1 | SensorData1 |
2 | SensorData2 |
3 | Config Data |
4 | Vbat |
... | |
123 | HW_ID_UL |
124 | MCU_ID_UL |
125 | Firmware_hash |
Port for ID-s (123-125) is 200 |
Mode Enum
0 | Custom |
1 | Fast: Sampling Period 30sec, Uplink Period 120 sec |
2 | Medium: Sampling Period 60 sec, Uplink Period 240 sec |
3 | BatterySaving: Sampling Period 60 sec, Uplink Period 3600 sec |
Message Types
1: SensorData1
Name | Unit | Bytes | Range | Invalid value |
---|---|---|---|---|
MsgType | Enum | 1 | ||
Mode | Enum | 1 | 0.255 | |
CO2 | ppm | HighByte | Unsigned | 0xFF |
CO2 | ppm | LowByte | Unsigned | 0xFF |
Pressure | Pa | HighByte | Unsigned | 0xFF |
Pressure | Pa | MedByte | Unsigned | 0xFF |
Pressure | Pa | LowByte | Unsigned | 0xFF |
Temp | 0.01°C | HighByte | Signed | 0x7F |
Temp | 0.01°C | LowByte | Signed | 0xFF |
Humidity | 0.01% RH | HighByte | Unsigned | 0xFF |
Humidity | 0.01% RH | LowByte | Unsigned | 0xFF |
each column is one byte. byte 1 is the msgtype |
2: SensorData2
Name | Unit | Bytes | Range | Invalid value |
---|---|---|---|---|
MsgType | Enum | 2 | ||
Mode | Enum | 0.255 | ||
CO2 | ppm | HighByte | Unsigned | 0xFF |
CO2 | ppm | LowByte | Unsigned | 0xFF |
Pressure | Pa | HighByte | Unsigned | 0xFF |
Pressure | Pa | MedByte | Unsigned | 0xFF |
Pressure | Pa | LowByte | Unsigned | 0xFF |
Temp | 0.01°C | HighByte | Signed | 0x7F |
Temp | 0.01°C | LowByte | Signed | 0xFF |
Humidity | 0.01% RH | HighByte | Unsigned | 0xFF |
Humidity | 0.01% RH | LowByte | Unsigned | 0xFF |
VOC | HighByte | Unsigned | 0xFF | |
VOC | LowByte | Unsigned | 0xFF |
note: Accuracy of the IAQ value is in the 2 MSB bits
3: ConfigData
Name | Unit | Bytes | Range |
---|---|---|---|
MsgType | Enum | 3 | |
measure interval | sec | 2 | HighByte |
measure interval | sec | 2 | LowByte |
tx interval | multiple of measure interval | 1 | |
flags | 1 | ||
co2 period | sec | 2 | HighByte |
co2 period | sec | 2 | LowByte |
co2_num | 2 | HighByte | |
co2_num | 2 | LowByte | |
co2_abc | 2 | HighByte | |
co2_abc | 2 | LowByte |
123: HW_ID_UL
Name | Unit | Bytes | Range |
---|---|---|---|
MsgType | Enum | 123 | |
HWID | version | 0..7 |
124: MCU_ID_UL
Name | Unit | Bytes | Range |
---|---|---|---|
MsgType | Enum | 124 | |
MCU_ID | HighByte | ||
MCU_ID | |||
MCU_ID | |||
MCU_ID | LowByte |
125: Firmware_hash_UL
Name | Unit | Bytes | Range |
---|---|---|---|
MsgType | Enum | 125 | |
Firmware version and hash | String | Size varies |
sample Uplink message
Uplink port = 15
Downlink documentation
Message Format
Name | Unit | Bytes | Range | Downlink message port |
---|---|---|---|---|
MsgType | Enum | 128..255 | 6 |
Data depending on MsgType
Enums
MsgType Enum
128 | Change Mode |
129 | Change Measurement Period |
130 | Change Accumulated measurements |
131 | CO2: Forced ABC calibration |
132 | CO2: Set auto-calibration frequency |
133 | CO2: IIR filter enable/disable |
134 | CO2: Set calibration CO2 level (Target calibration) |
... | |
251 | HW_ID_Request |
252 | MCU_ID_Request |
253 | Firmware_request |
254 | Reserved |
255 | Reset_request |
Port for requests (251-255) is 200 | |
For request, there are no message, just the MsgType |
Mode Enum
0 | Custom |
1 | Fast: Sampling Period 30 sec, Uplink Period 120 sec |
2 | Medium: Sampling Period 30 sec, Uplink Period 240 sec |
3 | BatterySaving: Sampling Period 30 sec, Uplink Period 3600 sec |
SamplePeriod
0 | |
1 | 5 sec |
2 | 2 * 5 sec |
3 | 3 * 5 sec |
NumberofMeasurement
0
1
2
...
120
Message Types
ChangeMode
Name | Unit | Bytes | Range |
---|---|---|---|
MsgType | Enum | 1 | 128 |
Mode | Enum | 1 | 0..3 |
MeasurementPeriod
Name | Unit | Bytes | Range |
---|---|---|---|
MsgType | Enum | 1 | 129 |
Period | 0..255 |
NumberOfMeasures
Name | Unit | Bytes | Range |
---|---|---|---|
MsgType | Enum | 1 | 130 |
NumOfMeas | 1 | 0..120 |
ForceAbcCalibration
Name | Unit | Bytes | Range |
---|---|---|---|
MsgType | Enum | 0x83 | 131 |
AutoCalibrationFrequency
Name | Unit | Bytes | Range | default |
---|---|---|---|---|
MsgType | Enum | 0x84 | 132 | |
auto-calibration freq. | hour | High | 1..65534 | 336 (2 weeks) |
auto-calibration freq. | hour | Low | 1..65534 |
IIRFilterEnable
Name | Unit | Bytes | Range |
---|---|---|---|
MsgType | Enum | 0x85 | 133 |
IIR Enable/Disable | 1:enable/0:disable | 1 | 0..1 |
CalibrationLevel
Name | Unit | Bytes | Range |
---|---|---|---|
MsgType | Enum | 0x86 | 134 |
calibration CO2 level | ppm | High | 400..5000 |
calibration CO2 level | ppm | Low | 400.5000 |
Last updated