bluepy
======
Python interface to Bluetooth LE on Linux
This is a project to provide an API to allow access to Bluetooth Low Energy devices
from Python. At present it runs on Linux only; I've mostly developed it using a
Raspberry Pi, but it will also run on x86 Debian Linux.
The code is tested on Python 2.7 and 3.4; it should also work on 3.3.
There is also code which uses this to talk to a TI SensorTag (www.ti.com/sensortag).
An example to interface the Nordic Semiconductor ASA IoT Sensor Kit, Thingy:52 is available
in thingy52.py (https://www.nordicsemi.com/eng/Products/Nordic-Thingy-52).
Installation
------------
The code needs an executable `bluepy-helper` to be compiled from C source. This is done
automatically if you use the recommended pip installation method (see below). Otherwise,
you can rebuild it using the Makefile in the `bluepy` directory.
To install the current released version, on most Debian-based systems:
$ sudo apt-get install python-pip libglib2.0-dev
$ sudo pip install bluepy
On Fedora do:
$ sudo dnf install python-pip glib2-devel
For Python 3, you may need to use `pip3`:
$ sudo apt-get install python3-pip libglib2.0-dev
$ sudo pip3 install bluepy
*If this fails* you should install from source.
$ sudo apt-get install git build-essential libglib2.0-dev
$ git clone https://github.com/IanHarvey/bluepy.git
$ cd bluepy
$ python setup.py build
$ sudo python setup.py install
I would recommend having command-line tools from BlueZ available for debugging. There
are instructions for building BlueZ on the Raspberry Pi at http://www.elinux.org/RPi_Bluetooth_LE.
Documentation
-------------
Documentation can be built from the sources in the docs/ directory using Sphinx.
An online version of this is currently available at: http://ianharvey.github.io/bluepy-doc/
License
-------
This project uses code from the bluez project, which is available under the Version 2
of the GNU Public License.
The Python files are released into the public domain by their author, Ian Harvey.
Release Notes
-------------
Release 1.3.0
- New getState() method for Peripheral class
- New exception structure / error reporting (#311, #317, #326)
BTLEException now has subclasses BLTEDisconnectError, BTLEManagementError, etc.
which report an error code and error message passed up from the lower layers, where
appropriate.
- Partial merge #311: aids to debugging; bluepy-helper reports version; fix crash
- Partial merge #311 and #302: pair() and unpair() now supported
- Fix #169: 0-byte characteristic writes are now supported
- Merge #302: OOB data now supported
- Merge #312: better comments on sample code in docs, better scanner example
- Fix #292: Unicode string decoding errors in scan data
- Merge #308: don't ignore sensitivity option during discovery
- Merge #301: fix Peripheral documentation
- Fix #286: return list of services from Scan entry
Release 1.2.0
- Merge #245: Update underlying Bluez version to 5.47
- Merge #284: Readme updated with Fedora install instructions
- Merge #283: Fixes for passive scan interruption
- Merge #275, fix #259: non-ASCII device names now don't break decoding
- Fix #263, #278: return UUID in scan results
- Merge #262: Return correct address type in passive scan
Release 1.1.4:
- Further attempts to fix #158. setup.py rewritten.
*There was no release 1.1.3 made*
Release 1.1.2: *now deleted*
- Re #158: Try to make PyPI installation more robust
- Merge #214: add passive scan support
- Merge #213: Add Thingy:52 support
Release 1.1.1
- Workaround #200: remove -Werror from Makefile
- Fix #191: generate BTLEException not ValueError, if helper is killed
- Fix #189: error calling getCharacteristics() when Service has no characteristics
- Workaround #192: Use make -j1 explicitly
Release 1.1.0
- Merge #180: Peripheral.connect() can now take ScanEntry object (like constructor)
- Merge #162: Add build_ext builder to setup.py
- Merge #166: Fix crash in getServiceByUUID()
- Fix #148: Add UUIDs for declarations (e.g. 0x2800 = Primary Service Declaration)
- Fix #28: Sensortag accelerometer values now scaled properly
- Merge #89: Add support for descriptors
- Fix #157: make 'services' a property
- Fix #111: make parameter names match documentation
- Fix #128: Characteristic.write() was missing a return value
- Read battery level on Sensortag
- Formatting/style fixes (#170 and others)
Release 1.0.5
- Fix issue #123: Scanner documentation updated
- Fix #125: setup.py error reporting on Python 3 if compilation fails
- Fix for issue #127: setup.py fails to rebuild bluepy-helper
Release 1.0.4
- Scanner now available as bluepy.blescan module and 'blescan' command
- Fix example scanner code in documentation
- Python 3 installation fixes
- Fix issues #69, #112, #115, #119
Release 1.0.3
- Now available on PyPI as `bluepy`. Installs via pip.
Release 0.9.12
- Support for CC2650 sensortag
- Documentation fixes
- Bug fix: DefaultDelegate has a handleDiscovery method
- Bug fix: keypress now works with both V1.4 and V1.5 firmware
Release 0.9.11
- Minor consistency improvements & bug fixes
- Scanner now has getDevices() call
- Docs updated
Release 0.9.10
- Now with Scan functionality
Release 0.9.9
- Now based on Bluez r5.29
- UUIDs held in separate JSON file, script added to update from Web
- Added setup.py and __init__.py for use with setuptools
- Allows indications as well as notifications
- Bug fixes (see pull requests #46, #48, #35)
Release 0.9.0
- Support for Notifications
- SensorTag code now supports keypress service
- Bug fix for SetSecurityLevel
- Support for Random address type
- More characteristic and service UUIDs added
Release 0.2.0
- Sphinx-based documentation
- SensorTag optimisations
- Improved command line interface to sensortag.py
- Added .gitignore file (github issue #17)
Release 0.1.0
- this has received limited testing and bug fixes on Python 3.4.1
- fix for exceptions thrown if peripheral sends notifications
Release dated 2-Jul-2014
- expand AssignedNumbers class definitions
- add getCommonName() to UUID type, returns human-friendly string
Release dated 14-Apr-2014:
- make btle.py useful from the command line
- add AssignedNumbers class
Release dated 12-Mar-2014
- add exceptions, and clean up better on failure
Initial release 19-Oct-2013:
TO DO list
----------
The following are still missing from the current release:
- Unit test
- Peripheral role support
没有合适的资源?快使用搜索试试~ 我知道了~
Python interface to Bluetooth LE on Linux.zip
共107个文件
h:52个
c:18个
py:12个
0 下载量 181 浏览量
2024-06-22
15:57:31
上传
评论
收藏 453KB ZIP 举报
温馨提示
Linux是一套免费使用和自由传播的类Unix操作系统,由林纳斯·托瓦兹于1991年首次发布。 Linux不仅是一个强大的操作系统,也是一个庞大的技术生态系统,涵盖了从服务器到个人电脑的各种应用场景。同时,它的开源特性和广泛的社区支持使其成为技术发展的重要推动力。在了解Linux的过程中,人们不仅能够看到其强大的技术基础和广泛的应用领域,还能体会到它作为开源先锋在全球科技发展中的重要地位。
资源推荐
资源详情
资源评论
收起资源包目录
Python interface to Bluetooth LE on Linux.zip (107个子文件)
AUTHORS 4KB
sdp.c 113KB
hci.c 64KB
bluepy-helper.c 57KB
bluetooth.c 48KB
btio.c 36KB
att.c 33KB
gatt.c 27KB
att.c 24KB
mgmt.c 17KB
crypto.c 15KB
gattrib.c 10KB
uuid.c 7KB
queue.c 6KB
log.c 6KB
io-glib.c 6KB
util.c 3KB
utils.c 3KB
timeout-glib.c 2KB
setup.cfg 40B
COPYING 18KB
.gitignore 234B
.gitignore 25B
.gitignore 8B
hci.h 62KB
hci.h 62KB
sdp_lib.h 21KB
mgmt.h 21KB
sdp.h 18KB
hci_lib.h 10KB
bluetooth.h 9KB
bluetooth.h 9KB
gatt-db.h 9KB
att.h 8KB
uuid.h 7KB
l2cap.h 6KB
att-types.h 6KB
gatt-client.h 5KB
hfp.h 5KB
util.h 5KB
gatt-helpers.h 4KB
config.h 4KB
gatt.h 4KB
amp.h 4KB
bnep.h 4KB
btsnoop.h 4KB
a2mp.h 3KB
att.h 3KB
ad.h 3KB
mgmt.h 3KB
crypto.h 3KB
log.h 2KB
btio.h 2KB
gattrib.h 2KB
tester.h 2KB
ecc.h 2KB
rfcomm.h 2KB
queue.h 2KB
hidp.h 2KB
mainloop.h 2KB
hci.h 2KB
gatt-server.h 2KB
ringbuf.h 2KB
gap.h 2KB
tty.h 2KB
hci-crypto.h 2KB
io.h 2KB
cmtp.h 2KB
gatt-service.h 2KB
uhid.h 2KB
pcap.h 2KB
sco.h 2KB
att-database.h 1KB
gatttool.h 1KB
timeout.h 947B
version.h 31B
uuids.json 34KB
COPYING.LIB 26KB
Makefile 7KB
Makefile 1KB
README.md 6KB
thingy52.py 35KB
btle.py 35KB
sensortag.py 16KB
conf.py 8KB
test_uuid.py 6KB
get_services.py 6KB
blescan.py 5KB
setup.py 2KB
scan_fuzz.py 722B
scanner.py 514B
__init__.py 150B
__init__.py 0B
README 349B
peripheral.rst 7KB
scanner.rst 5KB
scanentry.rst 2KB
notifications.rst 2KB
characteristic.rst 2KB
delegate.rst 2KB
共 107 条
- 1
- 2
资源评论
热爱嵌入式的小佳同学
- 粉丝: 1w+
- 资源: 2136
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功