Discovering addresses to MetaWear boards¶
If you do not know the address of your MetaWear board, it can be found by performing a scan.
>>> from pymetawear.client import discover_devices
>>> discover_devices()
[(u'DD:3A:7D:4D:56:F0', u'MetaWear'), (u'FF:50:35:82:3B:5A', u'MetaWear')]
On Linux, the discover_devices() function uses the
hcitool application, provided by the BlueZ
bluetooth application. See docstring below for more details about privileges
using hcitool from Python.
One can run the discover_devices_warble() to use the PyWarble methods, but it
requires sudo privileges on Linux.
There is a convenience method named select_device() as well, which
displays a list of devices to choose from.
API¶
Performing BLE scans
| copyright: | 2016-11-29 by hbldh <henrik.blidh@nedomkull.com> |
|---|
-
pymetawear.discover.discover_devices(timeout=5)[source]¶ Run a BLE scan to discover nearby devices.
Parameters: timeout (int) – Duration of scanning. Returns: List of tuples with (address, name). Return type: list
-
pymetawear.discover.discover_devices_hcitool(timeout=5)[source]¶ Discover Bluetooth Low Energy Devices nearby on Linux
Using
hcitoolfrom Bluez in subprocess, which requires root privileges. However,hcitoolcan be allowed to do scan without elevated permission.Install linux capabilities manipulation tools:
$ sudo apt-get install libcap2-bin
Sets the missing capabilities on the executable quite like the setuid bit:
$ sudo setcap 'cap_net_raw,cap_net_admin+eip' `which hcitool`
References:
Parameters: timeout (int) – Duration of scanning. Returns: List of tuples with (address, name). Return type: list