用于Pavlok的非官方蓝牙控制器
pypavlok的Python项目详细描述
非官方python蓝牙pavlok api
官方Pavlok API向云服务发出请求,向您的平板电脑发送消息,平板电脑将向您的设备发送蓝牙命令。也许它适用于平板电脑应用程序,但这是一个相当笨拙的方式来打击人们。
此软件包使用蓝牙命令直接控制Pavlok。
要求
- 蓝牙4兼容适配器(Pavlok使用蓝牙低能耗)
- 蓝色
- gattlib到gatttool接口
- python 2.7版
- Linux(我还没有用其他任何东西测试过代码)
安装
- 使用pip:
- pip安装pypavlok
确保安装gattlib依赖项:boost python、boost thread和glib2
用法
>>> from pypavlok import PyPavlok >>> pavlok = PyPavlok() #If MAC address is not specified, it will be found using service discovery (requires root privileges) >>> pavlok = PyPavlok('00:07:80:B5:9A:31', 'hci0') #Or pass MAC address (doesn't require special permissions) >>> pavlok.battery_level 95 >>> pavlok.shock() >>> pavlok.shock(level=50) #50% discharge >>> pavlok.beep() >>> pavlok.beep(count=3, duration_on=200, duration_off=100) #3 beeps by 0.2 sec with interval 0.1 sec >>> pavlok.led() >>> pavlok.led(led1=False, led2=True, count=5, duration_off=300) #Blink with red LEDs 5 times by 1 sec with interval 0.3 sec >>> pavlok.vibrate() >>> pavlok.firmware_revision '2.4.28'
所有操作方法(震动、振动、发光二极管、哔哔声)共用一组参数:
- 级别:放电百分比表示震动(),音调表示嘟嘟声(),振动速度表示震动(),LED中不使用。默认值:50
- count:重复次数。默认值:1
- 持续时间:以毫秒为单位的操作持续时间(<;=5秒)。默认值:1秒
- duration_off:如果count>;0,则以毫秒为单位设置重复间隔(<;=5秒)。默认值:1秒
检查设置
检查蓝牙适配器是否已启动:
$ sudo hciconfig <device name> hci0: Type: BR/EDR Bus: USB <device status> DOWN
如果状态为down,则运行:
$ sudo hciconfig <device name> up
搜索BLE设备:
$ sudo hcitool lescan LE Scan ... <MAC address like xx:xx:xx:xx:xx:xx> Pavlok-xxxx Ctrl-C
尝试使用gattool连接到pavlok:
$ gatttool -b <MAC address> -I [<MAC address>][LE]> connect Attempting to connect to <MAC address> Connection successful [<MAC address>][LE]> primary attr handle: 0x0001, end grp handle: 0x0007 uuid: 00001800-0000-1000-8000-00805f9b34fb attr handle: 0x0008, end grp handle: 0x001a uuid: 0000180a-0000-1000-8000-00805f9b34fb
如果你说到这一点,一切都应该正常工作
如果您遇到pavlok的问题,请尝试按下zap按钮约15秒,它将闪烁、振动并重置