Article Identifying sensors enabled and sensors data, from a data packet of End Point in a network

Original Question: Identifying sensors enabled and sensors data, from a data packet of End Point in a network by sushma.r

Hi,

I have downloaded the ADRadioNet EDK, I have an issues in identifying specific sensor values in the payload displayed on the tool. Is there a way to determine form the data packets, which specific sensor values are being sent for a give End point? I am hoping that there is some way to identify specific FLOAT values as coming from a specific sensor based on the packet data alone.

 

Thanks,

sushma r

 


Verified Answer: RE: Identifying sensors enabled and sensors data, from a data packet of End Point in a network by harishkumarkatam

Hi Sushma,

The specific sensor values that are being sent from a given node can be determined by the "sensor mask" value. This value is present in the packet sent from the node. The format of the two byte sensor mask is given below. The feature of sensor mask is added in the ADRadioNet EDKv2.0 version of code.

 

Users can download the latest code from the download link from ADRadioNet EngineerZone  page as shown. (or from www.analog.com/wsn)

Bits

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

Sensor

BMP280

ADIS16480

VOS

PModJSTK

ADT7310

EVAL_POT

PIR

ALS

AD7151

SHT21

ADXL345

ADXL362

ADT75

LED

 

In the ADRadioNet EDKv2.0, the above sensor mask is assumed. If some sensors are to enabled in a specific node, those will be enabled in the sensor mask register. The sensor data corresponding to the enabled sensors will be available in the order (from LSB side). The length of the each sensor payload is defined a priori (for example, the accelerometer sensor will have 3 float values corresponding to x, y & z).

Please find the example sensor information below captured at ANodeCenterPoint tool by enabling the following sensors

    • ADT75 --> Temperature
    • ADXL362 --> Accelerometer
    • SHT21--> Temperature and Relative Humidity
    • ALS --> Ambient Light Sensor APDS9005

The sensor data is followed by statistics. The sensor data is highlighted in different colors above.

Yellow --> INT_MARK

Light Green --> SINGLE_MARK

Red --> Sensor Enable Mask

Dark Green --> Temperature Data

Dark Yellow --> Accelerometer (X, Y and Z axis)

Grey --> Temperature and Relative Humidity

Pink --> Ambient Light Sensor APDS9005

 

The above example sensor enable mask (0x0056) indicates the ADT75, ADXL362, SHT21 and ALS (APDS9005) sensors are enabled. The below table indicates how the value of mask is calculated.

Sensor

BMP280

ADIS16480

VOS

PModJSTK

ADT7310

EVAL_POT

PIR

ALS

AD7151

SHT21

ADXL345

ADXL362

ADT75

LED

0x0056

0

0

0

0

0

0

0

0

0

1

0

1

0

1

1

0

0000000001010110 = 86 = 0x56

The sensor data representation at “Network overview” window

Sensor Data

INT[0]

Sensor Enable Mask

FLOAT[0]

ADT75 Temperature

FLOAT[1]

ADXL362 X-axis

FLOAT[2]

ADXL362 Y-axis

FLOAT[3]

ADXL362 Z-axis

FLOAT[4]

SHT21 Temperature

FLOAT[5]

SHT21 Relative Humidity

FLOAT[6]

ALS (APDS9005)

You may choose to change the order of sensors and create your own sensor mask as desired.This requires a little bit of code modifications.

 

Hope this helps. Please get back if you need any further clarification

 

Thanks,

Harish

Before You Switch


Switching languages will make ADI Explorer unavailable. Resume your session by switching back to English and reopening ADI Explorer.