用于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秒,它将闪烁、振动并重置

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java无法启动应用程序:JNLP错误   java根据用户输入在PreparedStatement中使用setTime()或setNull()   java EJB与同步   java以object为键通过hashmap进行搜索   java中的模10^9+7   针对包含其他对象的对象的java OOP最佳实践   如何将字符串作为HTML代码从Java文件读取到JSP页面?   java我的POM怎么了?“解析表达式..检测到递归表达式循环”   用于Hbase的Mapreduce的java NoSuchMethodError   JAVAlang.SecurityException:权限拒绝:启动意图{act=安卓.Intent.action.MAIN cat=[安卓.Intent.category.LAUNCHER]   数组初始化谜语Java   通过arraylist搜索时的java句柄关联