Changes

Prior to capturing specific Beacon data it is mandatory to have Beacons communication protocol - advertising packet structure. Without knowing packet structure - it is impossible to configure device properly to capture important data.
==Beacon List Settings after FW ver. 3.27.07.Rev.00==
This page is dedicated for explanation of Bluetooth settings and also Beacon parameters in [[Teltonika_Configurator_versions#For_FMB_series|'''FMB device configurator''']]. A more extensive guide can be found [[How to start with FMB devices and Beacons?|'''How to start with FMB devices and Beacons?''']].<br>
===Beacon Settings===


'''Beacon Detection'''<br>
* '''''Disabled''''' – Functionality disabled.<br>
* '''''All''''' – All visible beacons are detected (Max. 100).<br>
* '''''Configured''''' – Only beacons from the list are sent to server<br>

'''Beacon Mode'''<br>
* '''''Simple''''' – When simple mode is selected beacon parsing is done automatically (Eddystone and iBeacon protocols are supported) ('''AVL ID 385''').<br>
* '''''Advanced''''' – When advanced beacon mode is selected, beacon data capturing can be configured manually ('''AVL ID 548''').<br>

'''Beacon Record'''<br>
* '''''On Change''''' – On change mode - device will not create Beacon record after every scan procedure is completed unless scanned Beacon list will change.<br>
* '''''Periodic''''' – All beacons are sent to the server. (Record will be saved according to configured period).<br>

'''Beacon Record Priority''' - Beacon record saving period:
*'''''None''''' - No records will be generated <br>
*'''''Low''''' - Beacon record will be generated and sent once link with the server is established<br>
*'''''High''''' - Beacon record will be generated and sent immediately<br>

[[File:NewBeaconSettings.png]]

While selecting the '''Beacons Detection''' as '''All''', the device will detect all beacons which are located around the device.
Select '''Beacons Detection''' as the '''Configured''', in this case, the beacons will only be detected and send if they were added to the Beacons List.

===Advanced Beacon Mode (Universal Beacons)===
[[File:BeaconMode.gif|right]]
In advanced mode device can detect any Beacon type, the device can be configured to capture data from Universal beacons as seen in the configured in table (The fields in the Beacons Capturing Configuration will be empty), for example this configuration is set to detect iBeacon and EddyStone Beacons, also with additional data(in this case whole packet).
<br>
<br>
[[Image:Universal Beacons.png]]

Beacon are sent to server in a new variable length Beacon IO (AVL ID 548) '''(Different from Simple mode!)'''.

Beacon ID source can be selected.
*When Beacon ID is used, source is used as configured in Beacon ID offset and Beacon ID size columns. When Beacon MAC address is selected.
*Beacon ID will be replaced with MAC address. IO structure remains the same, but Beacon ID size will always be reported as 0x06.

====Parsing Advanced Beacon data from record (AVL ID 548)====
<br>
{| class="nd-othertables_2" style="width:100%;"
|+
! colspan="3" style="border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Beacon data
|-
! rowspan="1" style="width:40%; vertical-align: middle; text-align: center;" |Unparsed Beacon data
|-
| style="vertical-align: middle; text-align: center;" |01<span style="background:#87CEEB">360001b10110f34b6f6aa38255aa9ef619154e2d0055021f0201060303aafe1716aafe0002f34b6f6aa38255a<br>a9ef619154e2d00550000</span><span style="background:#4ab92f">360001ab0110e987706aa38255aa94321b154e2d0055021f0201060303aafe1716aafe0<br>002e987706aa38255aa94321b154e2d00550000</span><span style="background:#e6e144">360001a801101e74706aa38255faabcd000000000000021f0201060303aafe1716<br>aafe00021e74706aa38255faabcd0000000000000000</span><span style="background:#fa623d">360001a201100c8c6f6ba38255aab7361a164e2d0055021f0201060303aafe171<br>6aafe00020c8c6f6ba38255aab7361a164e2d00550000</span>
|-
|}
<br>
'''Beacon Parameters'''

The below table represents possible Beacon Parameters.
{| class="nd-othertables_2" style="width:25%;"
|+
! colspan="2" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Parameters
|-
! rowspan="1" style="width:40%; vertical-align: middle; text-align: center;" |00
| style="vertical-align: middle; text-align: center;" |RSSI
|-
! rowspan="1" style="width:40%; vertical-align: middle; text-align: center;" |01
| style="vertical-align: middle; text-align: center;" |Beacon ID
|-
! rowspan="1" style="width:40%; vertical-align: middle; text-align: center;" |02
| style="vertical-align: middle; text-align: center;" |Additional beacon data
|}
{| class="nd-othertables_2" style="width:100%;"
|+
! colspan="3" style="border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Parsed Beacon data
|-
! colspan="2" rowspan="1" style="width:60%; vertical-align: middle; text-align: center;" |Parsed Beacon data part
! rowspan="1" style="width:40%; vertical-align: middle; text-align: center;" |HEX Code Part
|-
| rowspan="50" style="vertical-align: middle; text-align: center;" |
| style="vertical-align: middle; text-align: center;" |(Constant)
| style="vertical-align: middle; text-align: center;" |01
|-

| style="vertical-align: middle; text-align: center;" |1st Beacon data length
| style="vertical-align: middle; text-align: center;" |<span style="background:#87CEEB">36
|-
| style="vertical-align: middle; text-align: center;" |RSSI (Parameter 00)
| style="vertical-align: middle; text-align: center;" |<span style="background:#87CEEB">00
|-
| style="vertical-align: middle; text-align: center;" |RSSI length
| style="vertical-align: middle; text-align: center;" |<span style="background:#87CEEB">01
|-
| style="vertical-align: middle; text-align: center;" |RSSI value
| style="vertical-align: middle; text-align: center;" |<span style="background:#87CEEB">B1
|-
| style="vertical-align: middle; text-align: center;" |Beacon ID (Parameter 01)
| style="vertical-align: middle; text-align: center;" |<span style="background:#87CEEB">01
|-
| style="vertical-align: middle; text-align: center;" |Beacon ID length
| style="vertical-align: middle; text-align: center;" |<span style="background:#87CEEB">10
|-
| style="vertical-align: middle; text-align: center;" |Beacon ID
| style="vertical-align: middle; text-align: center;" |<span style="background:#87CEEB">F34B6F6AA38255AA9EF619154E2D0055
|-
| style="vertical-align: middle; text-align: center;" |Additional data (Parameter 02)
| style="vertical-align: middle; text-align: center;" |<span style="background:#87CEEB">02
|-
| style="vertical-align: middle; text-align: center;" |Additional data length
| style="vertical-align: middle; text-align: center;" |<span style="background:#87CEEB">1F
|-
| style="vertical-align: middle; text-align: center;" |Additional data
| style="vertical-align: middle; text-align: center;" |<span style="background:#87CEEB">0201060303AAFE1716AAFE0002F34B6F6AA38255AA9EF619154E2D00550000
|-

| style="vertical-align: middle; text-align: center;" |2nd Beacon data length
| style="vertical-align: middle; text-align: center;" |<span style="background:#4ab92f">36
|-
| style="vertical-align: middle; text-align: center;" |RSSI (Parameter 00)
| style="vertical-align: middle; text-align: center;" |<span style="background:#4ab92f">00
|-
| style="vertical-align: middle; text-align: center;" |RSSI length
| style="vertical-align: middle; text-align: center;" |<span style="background:#4ab92f">01
|-
| style="vertical-align: middle; text-align: center;" |RSSI value
| style="vertical-align: middle; text-align: center;" |<span style="background:#4ab92f">AB
|-
| style="vertical-align: middle; text-align: center;" |Beacon ID (Parameter 01)
| style="vertical-align: middle; text-align: center;" |<span style="background:#4ab92f">01
|-
| style="vertical-align: middle; text-align: center;" |Beacon ID length
| style="vertical-align: middle; text-align: center;" |<span style="background:#4ab92f">10
|-
| style="vertical-align: middle; text-align: center;" |Beacon ID
| style="vertical-align: middle; text-align: center;" |<span style="background:#4ab92f">E987706AA38255AA94321B154E2D0055
|-
| style="vertical-align: middle; text-align: center;" |Additional data (Parameter 02)
| style="vertical-align: middle; text-align: center;" |<span style="background:#4ab92f">02
|-
| style="vertical-align: middle; text-align: center;" |Additional data length
| style="vertical-align: middle; text-align: center;" |<span style="background:#4ab92f">1F
|-
| style="vertical-align: middle; text-align: center;" |Additional data
| style="vertical-align: middle; text-align: center;" |<span style="background:#4ab92f">0201060303AAFE1716AAFE0002E987706AA38255AA94321B154E2D00550000
|-

| style="vertical-align: middle; text-align: center;" |3rd Beacon data length
| style="vertical-align: middle; text-align: center;" |<span style="background:#e6e144">36
|-
| style="vertical-align: middle; text-align: center;" |RSSI (Parameter 00)
| style="vertical-align: middle; text-align: center;" |<span style="background:#e6e144">00
|-
| style="vertical-align: middle; text-align: center;" |RSSI length
| style="vertical-align: middle; text-align: center;" |<span style="background:#e6e144">01
|-
| style="vertical-align: middle; text-align: center;" |RSSI value
| style="vertical-align: middle; text-align: center;" |<span style="background:#e6e144">A8
|-
| style="vertical-align: middle; text-align: center;" |Beacon ID (Parameter 01)
| style="vertical-align: middle; text-align: center;" |<span style="background:#e6e144">01
|-
| style="vertical-align: middle; text-align: center;" |Beacon ID length
| style="vertical-align: middle; text-align: center;" |<span style="background:#e6e144">10
|-
| style="vertical-align: middle; text-align: center;" |Beacon ID
| style="vertical-align: middle; text-align: center;" |<span style="background:#e6e144">1E74706AA38255FAABCD000000000000
|-
| style="vertical-align: middle; text-align: center;" |Additional data (Parameter 02)
| style="vertical-align: middle; text-align: center;" |<span style="background:#e6e144">02
|-
| style="vertical-align: middle; text-align: center;" |Additional data length
| style="vertical-align: middle; text-align: center;" |<span style="background:#e6e144">1F
|-
| style="vertical-align: middle; text-align: center;" |Additional data
| style="vertical-align: middle; text-align: center;" |<span style="background:#e6e144">0201060303AAFE1716AAFE00021E74706AA38255FAABCD0000000000000000
|-

| style="vertical-align: middle; text-align: center;" |4th Beacon data length
| style="vertical-align: middle; text-align: center;" |<span style="background:#fa623d">36
|-
| style="vertical-align: middle; text-align: center;" |RSSI (Parameter 00)
| style="vertical-align: middle; text-align: center;" |<span style="background:#fa623d">00
|-
| style="vertical-align: middle; text-align: center;" |RSSI length
| style="vertical-align: middle; text-align: center;" |<span style="background:#fa623d">01
|-
| style="vertical-align: middle; text-align: center;" |RSSI value
| style="vertical-align: middle; text-align: center;" |<span style="background:#fa623d">A2
|-
| style="vertical-align: middle; text-align: center;" |Beacon ID (Parameter 01)
| style="vertical-align: middle; text-align: center;" |<span style="background:#fa623d">01
|-
| style="vertical-align: middle; text-align: center;" |Beacon ID length
| style="vertical-align: middle; text-align: center;" |<span style="background:#fa623d">10
|-
| style="vertical-align: middle; text-align: center;" |Beacon ID
| style="vertical-align: middle; text-align: center;" |<span style="background:#fa623d">0C8C6F6BA38255AAB7361A164E2D0055
|-
| style="vertical-align: middle; text-align: center;" |Additional data (Parameter 02)
| style="vertical-align: middle; text-align: center;" |<span style="background:#fa623d">02
|-
| style="vertical-align: middle; text-align: center;" |Additional data length
| style="vertical-align: middle; text-align: center;" |<span style="background:#fa623d">1F
|-
| style="vertical-align: middle; text-align: center;" |Additional data
| style="vertical-align: middle; text-align: center;" |<span style="background:#fa623d">0201060303AAFE1716AAFE00020C8C6F6BA38255AAB7361A164E2D00550000
|-
|}


===Beacon List===
List of authorized beacons, Eddystone and iBeacon protocols are ''supported*.'' Example of the configured beacons detection in the List:<br>
[[File:BeaconCongif.mp4|1750px]]

''*Beacon Ids can be entered the following way: Namspace:CompanyID, UUID:Major:Minor. Any of the ID parts
can be omitted ex., Namespace:. UUID::, UUID::Minor, etc''

The Beacons settings are configured as showed. The iBeacon or Eddystone is added to the list with the following structure:
* '''''iBeacon''''' – 20 Bytes ('''UUDI''' (16-bytes : '''Major'''(2-bytes) : '''Minor''' (2-bytes))
* '''''Eddystone''''' – 16 Bytes ('''Namespace''' (10-bytes) : '''Instance ID'''(6-bytes))

There is a possibility to detect the devices just by UUID or Namespace (see the 2 and 6 elements in the list).
Or by the Major/Minor for iBeacons and Namespace for Eddystone. (see the 3 and 7 elements in the list).<br/>
There is also possible to select Beacons Detection as the Configured, in this case, the beacons will only be detected and send if they were added to the Beacons List.

From '''3.27.07.Rev.00''' Beacon list is expanded to support 50 beacons IDs.


===Beacon On Change===
[[File:BeaconRecords.png|right]]New functionality Beacon On Change has been implemented from '''03.27.07.Rev.00''' firmware version. The purpose of it is to create Beacon records only when there are changes in Beacon List. The parameter Beacon Record '''(Parameter ID: 136)''' has two possible settings: On Change (0) and Periodic (1). When On Change is selected, Beacon records are generated only when there are changes in the Beacon list. When Periodic is selected records will be saved according to configured period:
[[File:Beanconperiod.png|frame|left]]<br><br><br><br>


'''Beacon On Change Scenarios:'''<br>

'''Example 1.'''

''Non-Stop Scan'' is Disabled. Scan starts. Beacon is detected and added to the list. Scan ends and Beacon records are created. <br>
*The second scan starts. The same Beacon is still present. Scan ends and the Beacon record is not created because the list has not changed.
*The third scan starts. The same Beacon is still present but disappeared during that scan. Scan ends and Beacon record is not created because it is still considered that this Beacon is valid thus Beacon List hasn’t updated.
*The fourth scan starts. The same Beacon is not present from the start of the scan. Scan ends and Beacon is removed from Beacon list. Record is created since Beacon List has changed.

'''Example 2.'''

''Non-Stop Scan'' is Disabled. Scan starts. Beacon is detected and added to the list. Scan ends and Beacon records are created.
*The second scan starts. The same Beacon is still present but is lost during that scan. Scan ends and the Beacon record is not created because the list has not changed.
*The third scan starts. At the start of the scan, Beacon was not present but during that scanning period, it has been detected again. At the end of the scan, the Beacon record is not created since Beacon List has not changed.

'''Example 3.'''

''Non-Stop Scan'' is Enabled. Beacon Timeout is set to 10s. Beacon is detected and added to the list. Beacon record is created immediately after it is detected.
The scan continues and during that time Beacon is lost. After 10s if Beacon has not been detected anymore Beacon record will be created.
If that Beacon reappears after the set Beacon Timeout (in this case 10s) period has passed for that particular Beacon, a new Beacon record will be created.
If That Beacon reappears before set Beacon Timeout (in this case 10s) period has passed. Beacon record will not be created.

Navigation menu