[TOC] <br/><br/><br/> # <b style="color:#4F4F4F;">简介说明</b> 原文链接: - [github](https://github.com/IanHarvey/bluepy) - [文档](http://ianharvey.github.io/bluepy-doc/index.html) ``` 版本:bluepy 作用:Linux上的蓝牙LE的Python接口 ``` <br/> # <b style="color:#4F4F4F;">安装模块</b> <br/> # <span style="color:#619BE4">Widows</span> ***** 无法安装 <br/> # <span style="color:#619BE4">Linux</span> ***** apt-get install libglib2.0-dev pip3 install bluepy <br/> # <b style="color:#4F4F4F;">bluepy.btle.DefaultDelegate</b> <br/> # <span style="color:#619BE4">handleDiscovery()</span> ***** 处理设备发现方法 <br/> # <b style="color:#4F4F4F;">bluepy.btle.Scanner</b> <br/> # <span style="color:#619BE4">[new]-Scanner()</span> ***** 实例化扫描模块 <br/> # <span style="color:#619BE4">withDelegate()</span> ***** 设置Delegate类模块 <br/> # <span style="color:#619BE4">scan()</span> ***** 开始扫描设备 <br/> ### 示例内容 <span style="color:red;">1. 举例说明</span> ``` from bluepy.btle import Scanner, DefaultDelegate class ScanDelegate(DefaultDelegate): def __init__(self): DefaultDelegate.__init__(self) def handleDiscovery(self, dev, isNewDev, isNewData): if isNewDev: print "Discovered device", dev.addr elif isNewData: print "Received new data from", dev.addr scanner = Scanner().withDelegate(ScanDelegate()) devices = scanner.scan(10.0) for dev in devices: print "Device %s (%s), RSSI=%d dB" % (dev.addr, dev.addrType, dev.rssi) for (adtype, desc, value) in dev.getScanData(): print " %s = %s" % (desc, value) ``` <br/> # <b style="color:#4F4F4F;">bluepy.btle.ScanEntry</b> <br/> # <span style="color:#619BE4">[new]-ScanEntry()</span> ***** 设备实体类,scan方法返回的为ScanEntry列表集合 <br/> # <span style="color:#619BE4">addr</span> ***** 设备地址 <br/> # <span style="color:#619BE4">addrType</span> ***** 地址类型 <br/> # <span style="color:#619BE4">rssi</span> ***** Received Signal Strength Indication 是接收的信号强度指示 <br/> # <span style="color:#619BE4">getScanData()</span> ***** 获取扫描信息 <br/> # <b style="color:#4F4F4F;">bluepy.btle.Peripheral</b> <br/> # <span style="color:#619BE4">Peripheral()</span> ***** 蓝牙外围设备实例 <br/>