Changes

m
Text replacement - "Bluetooth(?!®)" to "Bluetooth®"
Line 1: Line 1:  +
==Disclaimer==
 +
 +
[[File:Alert.png|left|link=]] <br> If you are not using Bluetooth®, '''please consider turning it off''' or '''change Bluetooth® PIN''' to remove potential risks.
 +
 +
If you are using Bluetooth® we strongly recommend '''using AES encryption''' for enhanced security.
 +
 
== Introduction ==
 
== Introduction ==
First thing you have to know before configuring a sensor is data protocol.  
+
The first thing you have to know before configuring a sensor is data protocol.  
   −
Without data protocol you can only attempt to extract raw data from the sensor, by configuring to save all the data sent by sensor into IO elements.
+
Without data protocol, you can only attempt to extract raw data from the sensor, by configuring it to save all the data sent by the sensor into IO elements.
    
== Extracting RAW data ==
 
== Extracting RAW data ==
In below examples we are trying to extract data from two '''TOPFLYtech BLE 5.0''' sensors:  
+
In the below examples, we are trying to extract data from two '''TOPFLYtech BLE 5.0''' sensors:  
 
+
# Temperature, humidity, and light sensor.  
1) temperature, humidity and light sensor.  
+
# Door, temperature sensor.
 
  −
2) door, temperature sensor.
      
Prerequisites:
 
Prerequisites:
 
+
# BT radio is enabled in the Bluetooth® section of the configurator.
1.BT radio enabled in Bluetooth section of configurator.
+
# Codec8extedended set in the System section of the configurator.
 
  −
2.Codec8extedended set in System section of configurator.
      
To save sensor incoming data to IO you should configure:
 
To save sensor incoming data to IO you should configure:
 +
* MAC = MAC of the sensor -> needed to establish a connection with the sensor.
 +
* Type = FE -> any.
 +
* Data Size = 128B -> maximum available in IO.
 +
* Action = Save -> save to IO element.
 +
* IO = custom -> We do not know the protocol yet, so we use custom that can be used for HEX data.
 +
IO tab of configurator: enable BLE custom X where X is the sensor number in Bluetooth® 4.0 section.
   −
MAC = MAC of the sensor -> needed to establish connection with the sensor.
  −
  −
Type = FE -> any.
  −
  −
Data Size = 128B -> maximum available in IO.
  −
  −
Action = Save -> save to IO element.
     −
IO = custom -> We do not know the protocol yet, so we use custom that can be used for HEX data.
+
'''Note:''' you might have to configure more rows if the sensor is sending more than 128B of data.
 
  −
IO tab of configurator: enable BLE custom X where X is the sensor number in Bluetooth 4.0 section.
  −
 
  −
'''*Note:''' you might have to configure more rows if sensor is sending more than 128B of data.
      
[[File:Configuration for raw data.png|alt=]]
 
[[File:Configuration for raw data.png|alt=]]
Line 41: Line 38:  
== Parsing Data according to protocol Example 1 ==
 
== Parsing Data according to protocol Example 1 ==
   −
We can parse this according to the protocols provided by the vendor/manufacturer of the sensor, if not provided during the purchase please contact the vendor for the protocol. Full protocol document for our example can be found here:[[file:protocol.xlsx]]
+
We can parse this according to the protocols provided by the vendor/manufacturer of the sensor, if not provided during the purchase please contact the vendor for the protocol. The full protocol document for our example can be found here:[[file:protocol.xlsx]]
    
Raw data assigned to corresponding protocol parts:
 
Raw data assigned to corresponding protocol parts:
Line 111: Line 108:  
Bit 15=1, -
 
Bit 15=1, -
   −
Bit 15 is 0, so it's positive temperature
+
Bit 15 is 0, so it's a positive temperature
    
Bit 0-Bit14, temperature valueBit 0-14 convert to DEC is 2318
 
Bit 0-Bit14, temperature valueBit 0-14 convert to DEC is 2318
Line 134: Line 131:  
|Alarm
 
|Alarm
 
| colspan="2" |00
 
| colspan="2" |00
|00 = this is not a alarm message.   
+
|00 = this is not an alarm message.   
      Line 141: Line 138:  
01: alarm
 
01: alarm
   −
02: high temperature alarm
+
02: high-temperature alarm
   −
04: low temperature alarm
+
04: low-temperature alarm
    
06: low battery alarm
 
06: low battery alarm
Line 150: Line 147:  
| colspan="2" |05
 
| colspan="2" |05
 
|05=there are 5 bytes  from byte 23
 
|05=there are 5 bytes  from byte 23
the length will be changed depending on sensor name.  
+
the length will be changed depending on the sensor name.  
    
The sensor name is max  8 bytes. So the max length value is 09
 
The sensor name is max  8 bytes. So the max length value is 09
Line 168: Line 165:       −
According to the data from the sensor, available IO elements, you can create a preset for the sensor.  
+
According to the data from the sensor, and available IO elements, you can create a preset for the sensor.  
   −
In our case we are interested in battery level, humidity and temperature.
+
In our case, we are interested in battery level, humidity, and temperature.
   −
We select all type fields to be FE, data offset and size is calculated according to the protocol, visual example below:
+
We select all type fields to be FE, and data offset and size are calculated according to the protocol, visual example below:
   −
[[file:configuring according to protocol.png]]'''*Note:''' ''Match field is not necessary for every sensor, it's used when sensor sends few different structure packets to match the packet needed.''  
+
[[file:configuring according to protocol.png]]'''*Note:''' ''Match field is not necessary for every sensor, it's used when the sensor sends a few different structure packets to match the packet needed.''  
   −
''If you specify the match field, make sure that sensor does not have dynamic (variable) information in protocols for matched data otherwise it might be filtered until it matches exact value specified in the match field.''
+
''If you specify the match field, make sure that sensor does not have dynamic (variable) information in protocols for matched data otherwise it might be filtered until it matches the exact value specified in the match field.''
    
{| class="wikitable"
 
{| class="wikitable"
Line 373: Line 370:  
Bit 15=1, -
 
Bit 15=1, -
   −
Bit 15 is 0, so it's positive temperature
+
Bit 15 is 0, so it's a positive temperature
    
Bit 0 - Bit 14, temperature valueBit 0 - Bit 14 convert to DEC is 2675
 
Bit 0 - Bit 14, temperature valueBit 0 - Bit 14 convert to DEC is 2675
Line 394: Line 391:  
|Alarm
 
|Alarm
 
| colspan="2" |00
 
| colspan="2" |00
|00 = this is not a alarm message.   
+
|00 = this is not an alarm message.   
      Line 403: Line 400:  
01: alarm
 
01: alarm
   −
02: high temperature alarm
+
02: high-temperature alarm
   −
04: low temperature alarm
+
04: low-temperature alarm
    
06: low battery alarm
 
06: low battery alarm
Line 412: Line 409:  
| colspan="2" |08
 
| colspan="2" |08
 
|05=there are 5 bytes  from byte 23
 
|05=there are 5 bytes  from byte 23
the length will be changed depending on sensor name.  
+
the length will be changed depending on the sensor name.  
    
The sensor name is max  8 bytes. So the max length value is 09
 
The sensor name is max  8 bytes. So the max length value is 09
Line 446: Line 443:  
== Creating Presets ==
 
== Creating Presets ==
   −
After configuration is finished you can save preset, using save button:[[File:Saving preset.png|frameless|1160x1160px]]
+
After the configuration is finished you can save the preset, using the save button:[[File:Saving preset.png|frameless|1160x1160px]]
    
Saved presets are found at:
 
Saved presets are found at:
Line 454: Line 451:  
They can be shared with other engineers, they just have to save the received preset to same location C:\Users\<your username>\Documents\Presets to be able to load it in the configurator.
 
They can be shared with other engineers, they just have to save the received preset to same location C:\Users\<your username>\Documents\Presets to be able to load it in the configurator.
   −
== Including Presets in next base configurator release ==
+
== Including Presets in the next base configurator release ==
On client's request or based on TPS insights about client's use case, it might be needed to add the sensors to our available presets with next configurator release.  Check with your sales manager about the conditions and information needed to include the preset on next release.
+
On the client's request or based on TPS insights about the client's use case, it might be needed to add the sensors to our available presets with the next configurator release.  Check with your sales manager about the conditions and information needed to include the preset on the next release.
 +
 
 +
 
 +
[[Category: Frequently Asked Questions - FAQ]]