In today's interconnected world, the seamless integration of sensors is becoming increasingly crucial. A novel approach to facilitate this integration involves the implementation of a cyclic scanning and advertising strategy. This innovative technique allows devices to efficiently discover and communicate with one another within a Bluetooth network, while simultaneously collecting and transmitting valuable sensor data.
By strategically alternating between scanning and advertising phases, devices can optimize resource utilization and ensure reliable data exchange. The device operates on a 30-second cycle, dividing its time between scanning and advertising phases. During the 10-second scanning phase, the device actively monitors the radio frequency spectrum for Bluetooth signals emitted by other devices. This enables the device to detect and identify nearby Bluetooth devices and sensors, expanding its connectivity options. The device diligently collects and transmits sensor telemetry data. This data may include temperature, humidity, or other relevant environmental parameters. By transmitting this data during the scanning phase, the device ensures efficient utilization of its resources and minimizes latency in data delivery.
On Munic test OS, Bluetooth is activated by default.
Sensor values are reported using tracking fields BT_SENSOR_1 to BT_SENSOR_20. The tracking fields data format is the following:
ID;Sensor-Type;Value;Unit
Where:
The application prioritizes consistency by assigning sensor values to specific tracking fields. This ensures that data from a particular sensor is consistently tracked in the same field, making analysis and interpretation easier. To accommodate a larger number of sensors than the maximum limit of 20 tracking fields, the application employs a strategic reuse approach. Once all 20 fields are assigned, subsequent sensors will be mapped to previously used fields, ensuring efficient data tracking without sacrificing data integrity.
To ensure precise data tracking, the application assigns tracking fields based on a combination of the sensor's unique identifier and the specific type of telemetry data it provides. This granular approach allows for accurate monitoring of multiple data points from a single sensor. For instance, if a sensor measures both temperature and humidity, two distinct tracking fields will be allocated: one for temperature readings and another for humidity readings. This level of detail enables comprehensive analysis and facilitates the identification of trends and patterns in the sensor data.
To ensure compliance with stringent data privacy regulations like the GDPR, the device employs a privacy-preserving approach to device identification. Instead of transmitting the device's unique MAC address, which could potentially be linked to personal information, the device calculates a unique identifier from the SHA-1 hash of its MAC address. This identifier is assigned to the device for its entire lifespan and remains constant. By utilizing this method, the device safeguards user privacy while maintaining its ability to communicate and report sensor data to the cloud.
However, in regions where the GDPR does not apply, the device can be configured to transmit its MAC address for enhanced device tracking and identification purposes. This configuration option provides flexibility to adapt to different regulatory environments and specific use case requirements.
The device reports the read acceleration over the 3 axis in mg.
The value format is: [x,y,z]
Where x, y, and z are the acceleration for each axis expressed as an integer.
The read acceleration over the 3 axis is expressed in mg.
6902cbd7f03103bce6bad82c7d9cc90039c49c77;Acceleration;[-46,-37,-18];mg;
6902cbd7f03103bce6bad82c7d9cc90039c49c77It supports the following protocols:
It reports an alert event. An alert can may be:
The sensor reports two fields Alert-Event and Alert-Count.
The value format is: v. Where v is a boolean.
N/A
6902cbd7f03103bce6bad82c7d9cc90039c49c77;Alert-Event;true;;
6902cbd7f03103bce6bad82c7d9cc90039c49c77The value format is: v. Where v is an integer.
N/A.
6902cbd7f03103bce6bad82c7d9cc90039c49c77;Alert-Count;72;;
6902cbd7f03103bce6bad82c7d9cc90039c49c77It supports the following protocols:
Analog input voltage measured in mV.
The value format is: v. Where v is an integer.
The read voltage is expressed in mV.
6902cbd7f03103bce6bad82c7d9cc90039c49c77;Analogic-Input;4883;mV;
6902cbd7f03103bce6bad82c7d9cc90039c49c77It supports the following protocols:
It reports the sensor internal battery voltage level in %.
The value format is: v. Where v is an integer.
The read voltage level is expressed in %.
6902cbd7f03103bce6bad82c7d9cc90039c49c77;Battery-Level;9;%;
6902cbd7f03103bce6bad82c7d9cc90039c49c77It supports the following protocols:
It reports the sensor internal battery voltage in mV.
The value format is: v. Where v is an integer.
The read voltage is expressed in mV.
6902cbd7f03103bce6bad82c7d9cc90039c49c77;Battery-Voltage;2950;mV;
6902cbd7f03103bce6bad82c7d9cc90039c49c77It supports the following protocols:
It reports digital input status. The sensor reports two fields Digital-Input and Digital-Input-Count.
The value format is: v. Where v is a boolean.
N/A
6902cbd7f03103bce6bad82c7d9cc0039c49c77;Digital-Input;true;;
6902cbd7f03103bce6bad82c7d9cc90039c49c77The value format is: v. Where v is an integer.
N/A.
6902cbd7f03103bce6bad82c7d9cc90039c49c77;Digital-Input-Count;2441;;
6902cbd7f03103bce6bad82c7d9cc90039c49c77It supports the following protocols:
The device reports the read humidity in %.
The value format is: v. Where v is an integer.
The read value is expressed in %.
6902cbd7f03103bce6bad82c7d9cc90039c49c77;Humidity;32;%;
6902cbd7f03103bce6bad82c7d9cc90039c49c77It supports the following protocols:
The device reports the Bluetooth beacon ID.
The value format is: v. Where v is a string.
N/A.
6902cbd7f03103bce6bad82c7d9cc90039c49c77;Identifier;01020304-0506-0708-090A-010203040506;;
6902cbd7f03103bce6bad82c7d9cc90039c49c7701020304-0506-0708-090A-010203040506It supports the following protocols:
The device reports the read light level in lux.
The value format is: v. Where v is an integer.
The read value is expressed in lux.
6902cbd7f03103bce6bad82c7d9cc90039c49c77;Light-Level;31;lux;
6902cbd7f03103bce6bad82c7d9cc90039c49c77It supports the following protocols:
It reports the sensor internal battery low level status.
The value format is: v. Where v is a boolean.
N/A.
6902cbd7f03103bce6bad82c7d9cc90039c49c77;Low-Battery;true;;
6902cbd7f03103bce6bad82c7d9cc90039c49c77It supports the following protocols:
It reports the magnet presence. The sensor reports two fields Magnet and Magnet-Count.
The value format is: v. Where v is a boolean.
N/A
6902cbd7f03103bce6bad82c7d9cc90039c49c77;Magnet;false;;
6902cbd7f03103bce6bad82c7d9cc90039c49c77The value format is: v. Where v is an integer.
N/A.
6902cbd7f03103bce6bad82c7d9cc90039c49c77;Magnet-Count;5;;
6902cbd7f03103bce6bad82c7d9cc90039c49c77It supports the following protocols:
It reports a motion event status. The sensor reports two fields Motion-Event and Motion-Count.
The value format is: v. Where v is a boolean.
N/A
6902cbd7f03103bce6bad82c7d9cc90039c49c77;Motion-Event;true;;
6902cbd7f03103bce6bad82c7d9cc90039c49c77The value format is: v. Where v is an integer.
N/A.
6902cbd7f03103bce6bad82c7d9cc90039c49c77;Motion-Count;72;;
6902cbd7f03103bce6bad82c7d9cc90039c49c77It supports the following protocols:
It reports a movement detection status. The sensor reports two fields Movement-Event and Movement-Count.
The value format is: v. Where v is a boolean.
N/A
6902cbd7f03103bce6bad82c7d9cc90039c49c77;Movement-Event;false;;
6902cbd7f03103bce6bad82c7d9cc90039c49c77The value format is: v. Where v is an integer.
N/A.
6902cbd7f03103bce6bad82c7d9cc90039c49c77;Movement-Count;35;;
6902cbd7f03103bce6bad82c7d9cc90039c49c77It supports the following protocols:
It reports a proximity event status.
The value format is: v. Where v is a boolean.
N/A
6902cbd7f03103bce6bad82c7d9cc90039c49c77;Proximity-Event;true;;
6902cbd7f03103bce6bad82c7d9cc90039c49c77It supports the following protocols:
It reports a proximity event distance.
The value format is: v. Where v is an integer.
The distance is expressed in mm.
6902cbd7f03103bce6bad82c7d9cc90039c49c77;Proximity-Distance;72;mm;
6902cbd7f03103bce6bad82c7d9cc90039c49c77It supports the following protocols:
The device reports the read temperature in °C.
The value format is: v. Where v is a decimal value.
The temperature is expressed in °C.
6902cbd7f03103bce6bad82c7d9cc90039c49c77;Temperature;26.84;°C;
6902cbd7f03103bce6bad82c7d9cc90039c49c77It supports the following protocols:
It reports a touch event. The sensor reports two fields Touch-Event and Touch-Count.
The value format is: v. Where v is a boolean.
N/A
6902cbd7f03103bce6bad82c7d9cc90039c49c77;Touch-Event;true;;
6902cbd7f03103bce6bad82c7d9cc90039c49c77The value format is: v. Where v is an integer.
N/A.
6902cbd7f03103bce6bad82c7d9cc90039c49c77;Touch-Count;13;;
6902cbd7f03103bce6bad82c7d9cc90039c49c77It supports the following protocols: