This document describes the configuration possibilities of the IoT Sound Sensor, and also contains the decryption-logic in Javascript. Tip: Press [F12] and watch console for detailed info.
The payload can be configured with the app, or with a downlink using the SensorTeam Dashboard+ system. Contact us for more info about downlink configuration possibilities.
This example shows the 'autonomic' parsing of the IoT SoundSensor payload. The exact sensor-configuration can be modified using the Android App.
LoRa transmit interval: the time between LoRa-messages
Number of measurements in payload: more than one measurement per LoRa-message is possible, of course dependent on the data enabled (see list below)
GPS mode: OFF / ONCE (only at startup) / INTERVAL (1-12 hours)
Possible data per measurement:
Message info (message type and description of the payload): Describes the configuration of the payload. Could be left blank (not recommended) when custom decryption-code is created. This example needs this value.
Battery voltage: The battery voltage
Location (latitude/longitude): The geolocation from onboard GPS
Timestamp of first sample: Only applies if multiple measurements per LoRa-message is configured (format HHHHHMMMMMMSSSSSS, if time is unknown the value is 0xFFFF)
Timestamp of last sample: Only applies if multiple measurements per LoRa-message is configured (format HHHHHMMMMMMSSSSSS, if time is unkown it shows the transmit interval)
LAfast: dB(A) measurement with fast response
LAslow: dB(A) measurement with slow response
LCfast: dB(C) measurement with fast response
LCslow: dB(C) measurement with slow response
LAeq: dB(A) average over set Leq time. Between the current measurement and current measurement time minus Leq time
LCeq: dB(C) average over set Leq time. Between the current measurement and current measurement time minus Leq time
LAmax: The highest dB(A) value in the period between previous measurement and current measurement
LAmin: The lowest dB(A) value in the period between previous measurement and current measurement
LCmax: The highest dB(C) value in the period between previous measurement and current measurement
LCmin: The lowest dB(C) value in the period between previous measurement and current measurement
Note: The timestamp can be extracted from the uplink message from your provider (if they send it), but this is not so accurate.
If you use the timestamp from the uplink message, you have to know the interval between the samples (for example hard-coded or from a database). Therefore we recommend to use the onboard GPS in combination with the 2 timestamp datatypes.
The payload of the example configuration is 320 bits (40 bytes) long (the payload description is also shown in the App):
The 'message info' contains the type of the message and the configuration, what makes 'autonomic' parsing possible:
bit index | description
00 | Message type (2 bits)
01 | Message type (2 bits)
02 | Battery voltage
03 | Location
04 | Timestamp of first sample
05 | Timestamp of last sample
06 | LAfast
07 | LAslow
08 | LCfast
09 | LCslow
10 | LAeq
11 | LCeq
12 | LAmax
13 | LAmin
14 | LCmax
15| LCmin