====== Bluetooth Low Energy ====== Bluetooth is a standardized protocol for sending and receiving data via a 2.4GHz wireless link. It's a secure protocol, and it's perfect for short-range, low-power, low-cost, wireless transmissions between electronic devices. {{:configuration:ble1.png?600|}} Since Software version 4.4.0.100 all netmodule device support Bluetooth Low Energy via SDK. The following step by step description will guide you to configure a BLE Scanner on a NB800. ===== Step 1. Change Bluetooth Mode ===== For using bluetooth via SDK you need to enable the interface for the SDK environment via the WEB GUI: {{:configuration:ble.png|}} ===== Step 2. Run Script ===== Afterwards you can run the following BLE Script. The script is scanning the surrounded available BLE device/tags and will show you the bluetooth advertising data. It will stop automatically after 20 detected devices/tags. nb_bt_mode(BT1, BT_MODE_SCAN); for (i = 0; i < 20; i++) { devices = nb_bt_dev_list(BT1); printf("%d: %d\n", i, length(devices)); for (d = 0; d < length(devices); d++) { dev_info = nb_bt_dev_info(BT1, devices[d]); } sleep(1); } nb_bt_mode(BT1, BT_MODE_OFF); For more BLE SDK functionality, please check our [[https://share.netmodule.com/public/system-software/latest/NB_SDK_API_Manual.pdf|SDK API]] You can check the available data details of the surrounded beacons with adding "dump(dev_info);" into the FOR Loop.The Output will look this: struct(15): { .Name = string[12]: "ThermoBeacon" .Trusted = bool: false .Adapter = int: 0 .LegacyPairing = bool: false .Paired = bool: false .ServicesResolved = bool: false .Alias = string[12]: "ThermoBeacon" .Connected = bool: false .ManufacturerData = array(1): { [0] struct(2): { .Value = array(20): { [0] int: 0 [1] int: 0 [2] int: 140 [3] int: 7 [4] int: 0 [5] int: 0 [6] int: 71 [7] int: 233 [8] int: 126 [9] int: 1 [10] int: 238 [11] int: 13 [12] int: 0 [13] int: 0 [14] int: 252 [15] int: 0 [16] int: 167 [17] int: 140 [18] int: 0 [19] int: 0 } .Key = int: 17 } } .Address = string[17]: "E9:47:00:00:07:8C" .Blocked = bool: false .RSSI = int: -68 .Addresstype = string[6]: "public" .UUIDs = array(1): { [0] string[36]: "0000fff0-0000-1000-8000-00805f9b34fb" } .TxPower = int: 0 }