Page cover image

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

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

Uplink port = 15

{
    "cmd": "gw",
    "seqno": 1131600,
    "EUI": "10CE45FFFE00580B",
    "ts": 1660293390867,
    "fcnt": 249791,
    "port": 15,
    "freq": 867700000,
    "toa": 61,
    "dr": "SF7 BW125 4/5",
    "ack": false,
    "gws": [{
        "rssi": -49,
        "snr": 10.8,
        "ts": 1660293390867,
        "time": "2022-08-12T08:36:30.858359Z",
        "gweui": "FCC23DFFFF0B95EC",
        "ant": 0,
        "lat": 46.8076885,
        "lon": 7.100528
    }],
    "bat": 254,
    "data": "010101f60179aa0a050f51",
    "_id": "62f6110fd675b83ec5b794b7"
}

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