/py-ble-hci

Bluetooth HCI parser and scripting tools, focused on Bluetooth Low Energy Direct Test Mode.

Primary LanguagePythonMIT LicenseMIT

py-ble-hci

A binary parser for Bluetooth 4.0 HCI packets along with a TCP controlled serial port server allowing a remote, interactive and scriptable HCI session.

Serial commands are built from Python objects and responses are parsed into objects for easy programmatic access. Controller responses are parsed and their success status is checked before each command returns.

Example image shows two servers controlled by one client.

Made in order to control DTM sessions, but easily expandable to other HCI commands/events. Parser built from construct package, serial from pyserial. Both required to run. I used construct 2.06 and pyserial 2.6 on python 2.7.3.

Built with a focus on the Texas Instruments CC2540 USB dongle, with the 'host_test_release' firmware which emulates a serial port when connected to a PC.

Demo

demonstration run