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

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


  • 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