Line 1: |
Line 1: |
− | === '''Configuring Blue Puck/Coin/Slim Sensor''' === | + | __TOC__ |
− | Bluetooth LE Blue Puck, Blue Coin and Blue Slim Sensor are disabled by default. | + | ===Configuring Blue Puck/Coin/Slim Beacon=== |
− | Configurations to these beacons are written through NFC. | + | [[Image:Screen beacon.png|right|frame]] |
− | To do this download Device Manager Mobile by Ela from Google Play Store to your Android-powered device. | + | Bluetooth LE Blue Puck, Blue Coin and Blue Slim beacons are disabled by default. <br>Configurations to these beacons are written through NFC.<br> |
− | Note! Android-powered device that is used for configuring Blue Puck/Coin sensors must support NFC read/write functionality. | + | To do this download <b>[https://play.google.com/store/apps/details?id=com.ela.mobileapp.elamobileapp&hl=en_US| Device Manager Mobile]</b> by Ela from <i>Google Play Store</i> to your Android-powered device.<br> |
| + | <b>Note!</b> Android-powered device that is used for configuring Blue Puck/Coin sensors must support NFC read/write functionality.<br><br> |
| + | |
| + | Follow these instructions to easily configure Blue Puck/Coin/Slim Bluetooth LE Beacon: |
| + | |
| + | *Enable <code>Bluetooth</code> and <code>NFC</code> on your Android-powered device. |
| + | *Launch <b>Device Manager Mobile</b> on your Android-powered device. |
| + | *Select <i>Configuration.</i> |
| + | *Place your Android-powered device on top of Blue Puck/Coin/Slim Beacon to scan it. |
| + | *Click <i>Enable</i> to allow Blue Puck/Coin/Slim Beacon transmit advertising data. |
| + | *We recommend to set <i>Power</i> to 4 to get the best possible distance. |
| + | *Set ''TAG Format'' to iBeacon. |
| + | *Set ''BLE Emit Period'' to 1 second to get the best possible sensor detection. |
| + | *Click <i>Write</i> button. |
| + | *Place your Android-powered device on top of Blue Puck/Coin/Slim sensor to write configuration to it. |
| + | |
| + | Once the configuration is written successfully, the Blue Puck/Coin/Slim Beacon will be enabled and use the settings configured in the APP.<br> |
| + | <b>Note!</b> Make sure that <i>Manufacturer data mode</i> is Disabled, otherwise BLE Beacon will not be detected without additional changes in configuration. |
| + | |
| + | ==Beacon Configuration and data sending== |
| + | <br> |
| + | ===Beacon configuration=== |
| + | |
| + | Below are short instructions which show how we recommend configuring the device to Enable the Beacon functionality for testing. |
| + | |
| + | |
| + | [[Image:Beacon_project_V3.gif]] |
| + | |
| + | ====Steps to follow according to the visual represenation==== |
| + | |
| + | #In System Settings Enable [[Codec#Codec_8_Extended|Codec8 Extended]]; |
| + | #In [[FMB120_Bluetooth_settings|Bluetooth]] settings Enable Bluetooth, set this setting as either "Enable (hidden)" or "Enable (visible)", otherwise Bluetooth will be disabled; |
| + | #In [[FMB120_Bluetooth_4.0_settings|Bluetooth 4.0]] settings, set Non Stop Scan to "Disable", configure "Update Frequency" and "Scan duration" as 30 seconds. These settings will bring the best results for BLE scanning with our device; |
| + | #In [[FMB120_Beacon_List|Beacon list]] settings, configure Beacon Detection as "All" and Beacon Record as "Eventual". This will detect all surrounding Beacons and create Beacon records every 30 seconds. |
| + | |
| + | ===Beacon data parsing=== |
| + | |
| + | Shown how Beacon data is represented on [[Gurtam_Wialon_with_Fleet_Management_(FM)|Wialon platform]]. |
| + | |
| + | |
| + | [[Image:Wialon Project V3.gif]] |
| + | |
| + | __TOC__ |
| + | |
| + | ==Parsing of Beacon records== |
| + | |
| + | Beacon records are sent as separate Records with Event I/O ID 385 and also include I/O element 385 (Codec8 Extended has to be used because the I/O element 385 uses Variable size IO element). |
| + | |
| + | Received data in hexadecimal stream: <br> |
| + | <code>00000000000000D68E01000001701F9B3FA9000F0E5732209AB450006800290400000181000100000000000000000001018100A911214B5C049F515341</code> |
| + | |
| + | <code>FCA950D2C264414E1000050006BA21E2C56DB5DFFB48D2B060D0F5A71096E000000000A92131A74BB76A79423196C916CFB9FAED45002D00159F0700112</code> |
| + | |
| + | <code>233445566778899ABCDE0810047AE0BE80015210F86676BEC91420A94409110029AFAC415B31A0AA101DE9C18E92CA5AA689697365434663222BA21EBBB</code> |
| + | |
| + | <code>DE835D7F4965B5F06C2EDCB3A55300010080A501736B79686F73742E646B000010000128AD01000030CB</code> <br> <br> |
| + | |
| + | ===Example Beacon Record=== |
| + | {| class="nd-othertables_2" style="width:100%;" |
| + | |+ |
| + | |
| + | ! colspan="3" style="border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |AVL Data Packet |
| + | |- |
| + | ! colspan="2" rowspan="1" style="width:60%; vertical-align: middle; text-align: center;" |AVL Data Packet Part |
| + | ! rowspan="1" style="width:40%; vertical-align: middle; text-align: center;" |HEX Code Part |
| + | |- |
| + | | rowspan="4" style="vertical-align: middle; text-align: center;" | |
| + | | style="vertical-align: middle; text-align: center;" |Zero Bytes |
| + | | style="vertical-align: middle; text-align: center;" |00 00 00 00 |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Data Field Length |
| + | | style="vertical-align: middle; text-align: center;" |00 00 00 D6 |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Codec ID |
| + | | style="vertical-align: middle; text-align: center;" |8E (Codec8 Extended) |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Number of Data 1 (Number of Total Records) |
| + | | style="vertical-align: middle; text-align: center;" |01 |
| + | |- |
| + | | rowspan="24" style="vertical-align: middle; text-align: center;" |AVL Data |
| + | | style="vertical-align: middle; text-align: center;" |Timestamp |
| + | | style="vertical-align: middle; text-align: center;" |00 00 01 70 1F 9B 3F A9 (GMT: Friday, 07 February 2020 12:23:53.001) |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Priority |
| + | | style="vertical-align: middle; text-align: center;" |00 |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Longitude |
| + | | style="vertical-align: middle; text-align: center;" |0F 0E 57 32 |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Latitude |
| + | | style="vertical-align: middle; text-align: center;" |20 9A B4 50 |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Altitude |
| + | | style="vertical-align: middle; text-align: center;" |00 68 |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Angle |
| + | | style="vertical-align: middle; text-align: center;" |00 29 |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Satellites |
| + | | style="vertical-align: middle; text-align: center;" |04 |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Speed |
| + | | style="vertical-align: middle; text-align: center;" |00 00 |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Event IO ID |
| + | | style="vertical-align: middle; text-align: center;" |01 81 (385) |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |N of Total ID |
| + | | style="vertical-align: middle; text-align: center;" |00 01 |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |N1 of One Byte IO |
| + | | style="vertical-align: middle; text-align: center;" |00 00 |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |N2 of Two Bytes IO |
| + | | style="vertical-align: middle; text-align: center;" |00 00 |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |N4 of Four Bytes IO |
| + | | style="vertical-align: middle; text-align: center;" |00 00 |
| + | |- |
| + | |
| + | | style="vertical-align: middle; text-align: center;" |N8 of Eight Bytes IO |
| + | | style="vertical-align: middle; text-align: center;" |00 00 |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |NX of X Bytes IO |
| + | | style="vertical-align: middle; text-align: center;" |00 01 |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Length of Variable Length IO |
| + | | style="vertical-align: middle; text-align: center;" |00 A9 |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Value of Variable Length IO |
| + | | style="vertical-align: middle; text-align: center;" |11214B5C049F515341FCA950D2C264414E1000050006BA21E2C56DB5<br>DFFB48D2B060D0F5A71096E000000000A92131A74BB76A79423196C916CFB9FAED45002D00159F0700112233445566778899ABCDE081004<br>7AE0BE80015210F86676BEC91420A94409110029AFAC415B31A0AA101DE9C18E92CA5AA689697365434663222BA21EBBBDE835D7F4965B5<br>F06C2EDCB3A55300010080A501736B79686F73742E646B000010000128AD |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Number of Data 2 (Number of Total Records) |
| + | | style="vertical-align: middle; text-align: center;" |01 |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |CRC-16 |
| + | | style="vertical-align: middle; text-align: center;" |00 00 30 CB |
| + | |- |
| + | |} |
| + | |
| + | ==Parsing Beacon data from record== |
| + | <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;" |11<span style="background:#87CEEB">214B5C049F515341FCA950D2C264414E1000050006BA</span><span style="background:#05CC6F">21E2C56DB5<br>DFFB48D2B060D0F5A71096E000000000A9</span><span style="background:#E6F105">2131A74BB76A79423196C916CFB9FAED45002D00159F</span><span style="background:#E18DE7">0700112233445566778899ABCDE081004<br>7AE0BE80015</span><span style="background:#E84949">210F86676BEC91420A94409110029AFAC415B31A0AA1</span><span style="background:#FF9524">01DE9C18E92CA5AA689697365434663222BA</span><span style="background:#24FFD4">21EBBBDE835D7F4965B5<br>F06C2EDCB3A55300010080A5</span><span style="background:#F700CE">01736B79686F73742E646B000010000128AD</span> |
| + | |- |
| + | |} |
| + | <br> |
| + | ===Beacon Flags=== |
| + | |
| + | The below table represents possible Beacon flags. Supported Beacon protocols are iBeacon and Eddystone. |
| + | {| class="nd-othertables_2" style="width:25%;" |
| + | |+ |
| + | ! colspan="2" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Flags |
| + | |- |
| + | ! rowspan="1" style="width:40%; vertical-align: middle; text-align: center;" |21 |
| + | | style="vertical-align: middle; text-align: center;" |iBeacon with RSSI |
| + | |- |
| + | ! rowspan="1" style="width:40%; vertical-align: middle; text-align: center;" |23 |
| + | | style="vertical-align: middle; text-align: center;" |iBeacon with RSSI, Battery Voltage |
| + | |- |
| + | ! rowspan="1" style="width:40%; vertical-align: middle; text-align: center;" |27 |
| + | | style="vertical-align: middle; text-align: center;" |iBeacon with RSSi, Battery Voltage, Temperature |
| + | |- |
| + | ! rowspan="1" style="width:40%; vertical-align: middle; text-align: center;" |01 |
| + | | style="vertical-align: middle; text-align: center;" |Eddystone with RSSI |
| + | |- |
| + | ! rowspan="1" style="width:40%; vertical-align: middle; text-align: center;" |03 |
| + | | style="vertical-align: middle; text-align: center;" |Eddystone with RSSI, Battery Voltage |
| + | |- |
| + | ! rowspan="1" style="width:40%; vertical-align: middle; text-align: center;" |07 |
| + | | style="vertical-align: middle; text-align: center;" |Eddystone with RSSi, Battery Voltage, Temperature |
| + | |} |
| + | {| 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;" |Data part<br> (First half byte – current data part, Second half byte – total number of data parts) |
| + | | style="vertical-align: middle; text-align: center;" |11 |
| + | |- |
| + | |
| + | | style="vertical-align: middle; text-align: center;" |BLE beacon flags #1<br> 21 - iBeacon, RSSI is sent |
| + | | style="vertical-align: middle; text-align: center;" |<span style="background:#87CEEB">21 |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |BLE Beacon UUID #1 |
| + | | style="vertical-align: middle; text-align: center;" |<span style="background:#87CEEB">4B5C049F515341FCA950D2C264414E10 |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |BLE Beacon Major #1 |
| + | | style="vertical-align: middle; text-align: center;" |<span style="background:#87CEEB">0005 |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |BLE Beacon Minor #1 |
| + | | style="vertical-align: middle; text-align: center;" |<span style="background:#87CEEB">0006 |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |BLE Beacon RSSI #1 |
| + | | style="vertical-align: middle; text-align: center;" |<span style="background:#87CEEB">BA</span> - Signed 2's Complement -70 dBm |
| + | |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |BLE beacon flags #2<br> 21 - iBeacon, RSSI is sent |
| + | | style="vertical-align: middle; text-align: center;" |<span style="background:#05CC6F">21 |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |BLE Beacon UUID #2 |
| + | | style="vertical-align: middle; text-align: center;" |<span style="background:#05CC6F">E2C56DB5DFFB48D2B060D0F5A71096E0 |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |BLE Beacon Major #2 |
| + | | style="vertical-align: middle; text-align: center;" |<span style="background:#05CC6F">0000 |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |BLE Beacon Minor #2 |
| + | | style="vertical-align: middle; text-align: center;" |<span style="background:#05CC6F">0000 |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |BLE Beacon RSSI #2 |
| + | | style="vertical-align: middle; text-align: center;" |<span style="background:#05CC6F">A9</span> - Signed 2's Complement -87 dBm |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |BLE beacon flags #3<br> 21 - iBeacon, RSSI is sent |
| + | | style="vertical-align: middle; text-align: center;" |<span style="background:#E6F105">21 |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |BLE Beacon UUID #3 |
| + | | style="vertical-align: middle; text-align: center;" |<span style="background:#E6F105">31A74BB76A79423196C916CFB9FAED45 |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |BLE Beacon Major #3 |
| + | | style="vertical-align: middle; text-align: center;" |<span style="background:#E6F105">002D |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |BLE Beacon Minor #3 |
| + | | style="vertical-align: middle; text-align: center;" |<span style="background:#E6F105">0015 |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |BLE Beacon RSSI #3 |
| + | | style="vertical-align: middle; text-align: center;" |<span style="background:#E6F105">9F</span> - Signed 2's Complement -97 dBm |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |BLE beacon flags #4<br> 07 - Eddystone, Battery Voltage, Temperature, RSSI is sent |
| + | | style="vertical-align: middle; text-align: center;" |<span style="background:#E18DE7">07 |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |BLE Beacon Namespace #4 |
| + | | style="vertical-align: middle; text-align: center;" |<span style="background:#E18DE7">00112233445566778899 |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |BLE Beacon Instance ID #4 |
| + | | style="vertical-align: middle; text-align: center;" |<span style="background:#E18DE7">ABCDE0810047 |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |BLE Beacon RSSI #4 |
| + | | style="vertical-align: middle; text-align: center;" |<span style="background:#E18DE7">AE</span> - Signed 2's Complement -82 dBm |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |BLE Beacon Battery Voltage #4 |
| + | | style="vertical-align: middle; text-align: center;" |<span style="background:#E18DE7">0BE8</span> - 3048 mV |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |BLE Beacon Temperature #4 |
| + | | style="vertical-align: middle; text-align: center;" |<span style="background:#E18DE7">0015</span> - 21°C |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |BLE beacon flags #5<br> 21 - iBeacon, RSSI is sent |
| + | | style="vertical-align: middle; text-align: center;" |<span style="background:#E84949">21 |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |BLE Beacon UUID #5 |
| + | | style="vertical-align: middle; text-align: center;" |<span style="background:#E84949">0F86676BEC91420A94409110029AFAC4 |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |BLE Beacon Major #5 |
| + | | style="vertical-align: middle; text-align: center;" |<span style="background:#E84949">15B3 |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |BLE Beacon Minor #5 |
| + | | style="vertical-align: middle; text-align: center;" |<span style="background:#E84949">1A0A |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |BLE Beacon RSSI #5 |
| + | | style="vertical-align: middle; text-align: center;" |<span style="background:#E84949">A1</span> - Signed 2's Complement -95 dBm |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |BLE beacon flags #6<br> 01 - Eddystone, RSSI is sent |
| + | | style="vertical-align: middle; text-align: center;" |<span style="background:#FF9524">01 |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |BLE Beacon Namespace #6 |
| + | | style="vertical-align: middle; text-align: center;" |<span style="background:#FF9524">DE9C18E92CA5AA689697 |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |BLE Beacon Instance ID #6 |
| + | | style="vertical-align: middle; text-align: center;" |<span style="background:#FF9524">365434663222 |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |BLE Beacon RSSI #6 |
| + | | style="vertical-align: middle; text-align: center;" |<span style="background:#FF9524">BA</span> - Signed 2's Complement -70 dBm |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |BLE beacon flags #7<br> 21 - iBeacon, RSSI is sent |
| + | | style="vertical-align: middle; text-align: center;" |<span style="background:#24FFD4">21 |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |BLE Beacon UUID #7 |
| + | | style="vertical-align: middle; text-align: center;" |<span style="background:#24FFD4">EBBBDE835D7F4965B5F06C2EDCB3A553 |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |BLE Beacon Major #7 |
| + | | style="vertical-align: middle; text-align: center;" |<span style="background:#24FFD4">0001 |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |BLE Beacon Minor #7 |
| + | | style="vertical-align: middle; text-align: center;" |<span style="background:#24FFD4">0080 |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |BLE Beacon RSSI #7 |
| + | | style="vertical-align: middle; text-align: center;" |<span style="background:#24FFD4">A5</span> - Signed 2's Complement -91 dBm |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |BLE beacon flags #8<br> 01 - Eddystone, RSSI is sent |
| + | | style="vertical-align: middle; text-align: center;" |<span style="background:#F700CE">01 |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |BLE Beacon Namespace #8 |
| + | | style="vertical-align: middle; text-align: center;" |<span style="background:#F700CE">736B79686F73742E646B |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |BLE Beacon Instance ID #8 |
| + | | style="vertical-align: middle; text-align: center;" |<span style="background:#F700CE">000010000128 |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |BLE Beacon RSSI #8 |
| + | | style="vertical-align: middle; text-align: center;" |<span style="background:#F700CE">AD</span> - Signed 2's Complement -83 dBm |
| + | |- |
| + | |} |
| + | |
| + | [[Category: Frequently Asked Questions - FAQ]] |