MetaWear Python SDK
###################
Python SDK for creating MetaWear apps on the Linux platform. This is a thin wrapper around the MetaWear C++ API <https://github.com/mbientlab/MetaWear-SDK-Cpp>
_ so you will find the C++
documentation <https://mbientlab.com/cppdocs/latest/>
_ and API reference <https://mbientlab.com/docs/metawear/cpp/latest/globals.html>
_ useful. Also, check out the scripts in the
examples <https://github.com/mbientlab/MetaWear-SDK-Python/tree/master/examples>
_ folder for full sample code.
This is not the pymetawear package. That is a community developed Python SDK which you can find over
here <https://github.com/mbientlab-projects/pymetawear>
_ .
Install
#######
Use pip to install the metawear package. It depends on PyWarble <https://github.com/mbientlab/PyWarble>
_ so ensure your target environment has the necessary dependencies <https://github.com/mbientlab/Warble#build>
_ installed.
.. code-block:: bash
pip install metawear
Usage
Import the MetaWear class and libmetawear variable from the metawear module and everything from the cbindings module.
.. code-block:: python
from mbientlab.metawear import MetaWear, libmetawear
from mbientlab.metawear.cbindings import *
If you do not know the MAC address of your device, use PyWarble
to scan for nearby devices.
.. code-block:: python
from mbientlab.warble import *
from mbientlab.metawear import *
from threading import Event
e = Event()
address = None
def device_discover_task(result):
global address
if (result.has_service_uuid(MetaWear.GATT_SERVICE)):
# grab the first discovered metawear device
address = result.mac
e.set()
BleScanner.set_handler(device_discover_task)
BleScanner.start()
e.wait()
BleScanner.stop()
Once you have the device's MAC address, create a MetaWear object with the MAC address and connect to the device.
.. code-block:: python
device = MetaWear(address)
device.connect()
Upon a successful connection, you can begin calling any of the functions from the C++ SDK, for example, blinking the LED green.
.. code-block:: python
pattern= LedPattern(repeat_count= Const.LED_REPEAT_INDEFINITELY)
libmetawear.mbl_mw_led_load_preset_pattern(byref(pattern), LedPreset.BLINK)
libmetawear.mbl_mw_led_write_pattern(device.board, byref(pattern), LedColor.GREEN)
libmetawear.mbl_mw_led_play(device.board)