python找不到idleble_如何在python中使用pygatt从BLE设备获取通知?
我正在使用
python开发一个
Linux应用程序,它将连接到我的BLE设备并通过通知特性来获取数据.我正在使用
pygatt进行BLE通信.我可以成功连接并绑定到设备并读取/写入特性.即使我可以订阅通知特性,但问题是,我的BLE设备是一个自定义机器,里面有4个计数器,每当计数器的一个数据发生变化时,它就会设置相应的通知标志,因此,使用onDataChanged-像方法我可以从阅读特征中读取计数器的数据.在使用pygatt的Python中,我可以订阅通知特性:
class_name.device.subscribe(uuid.UUID(notify_characteristic),callback=notifyBle)
而notifyBle是:
def notifyBle(self,handle,data):
read_data = class_name.device.char_read(uuid.UUID(read_characteristic))
print(read_data)
当我运行程序时,首先我扫描设备并连接到我的设备并与之绑定,然后我发现特征并列出它们.一切都很成功.列出特性后,我写了写特性来清除通知标志,也是成功的.最后我订阅通知特征它是成功的.
完成所有这些过程后,我会在物理上增加设备的计数器(设备上有按钮用于增加计数器).当我按下按钮程序进入notifyBle方法,它给出错误,这是:
Exception in thread Thread-3:
Traceback (most recent call last):
File "/usr/lib/python3.5/threading.py", line 914, in _bootstrap_inner
self.run()
File "/usr/local/lib/python3.5/dist-packages/pygatt/backends/gatttool/gatttool.py", line 137, in run
event["callback"](event)
File "/usr/local/lib/python3.5/dist-packages/pygatt/backends/gatttool/gatttool.py", line 479, in _handle_notification_string
self._connected_device.receive_notification(handle, values)
File "/usr/local/lib/python3.5/dist-packages/pygatt/device.py", line 226, in receive_notification
callback(handle, value)
File "/home/acd/Masaüstü/python_workspace/ble.py", line 54, in notifyBle
read_data = bleFunctions.dev.char_read(uuid.UUID(bleFunctions.read_characteristic))
File "/usr/local/lib/python3.5/dist-packages/pygatt/backends/gatttool/device.py", line 17, in wrapper
return func(self, *args, **kwargs)
File "/usr/local/lib/python3.5/dist-packages/pygatt/backends/gatttool/device.py", line 40, in char_read
return self._backend.char_read(self, uuid, *args, **kwargs)
File "/usr/local/lib/python3.5/dist-packages/pygatt/backends/gatttool/gatttool.py", line 53, in wrapper
return func(self, *args, **kwargs)
File "/usr/local/lib/python3.5/dist-packages/pygatt/backends/gatttool/gatttool.py", line 519, in char_read
self.sendline('char-read-uuid %s' % uuid)
File "/usr/lib/python3.5/contextlib.py", line 66, in __exit__
next(self.gen)
File "/usr/local/lib/python3.5/dist-packages/pygatt/backends/gatttool/gatttool.py", line 180, in event
self.wait(event, timeout)
File "/usr/local/lib/python3.5/dist-packages/pygatt/backends/gatttool/gatttool.py", line 154, in wait
raise NotificationTimeout()
pygatt.exceptions.NotificationTimeout
任何帮助,将不胜感激.
PS:我在Android和Windows UWP中编写了完全相同的程序.使用python,我的目标是在raspberry pi 3上运行它.
PSS:我正在使用带有Ubuntu Mate的raspberry pi 3来在python中开发这个程序.
python找不到idleble_如何在python中使用pygatt从BLE设备获取通知?相关推荐
- Python数据分析小技巧:如何在Pandas中实现数据透视表?
Python数据分析小技巧:如何在Pandas中实现数据透视表? 数据透视表是数据分析中非常有用的工具,可以帮助我们快速了解数据的结构.关联和趋势.在Pandas中,我们可以使用pivot_table ...
- python队列怎么用_如何在Python中使用多处理队列? - python
我很难理解多处理队列如何在python上工作以及如何实现它.假设我有两个python模块,它们从共享文件中访问数据,我们将这两个模块称为writer和Reader.我的计划是让读取器和写入器都将请求放 ...
- python字符串筛选输出_如何在Python中过滤字符串列表
Python使用列表数据类型在顺序索引中存储多个数据.它的工作方式类似于其他编程语言的数字数组.filter()方法是Python的一种非常有用的方法.可以使用filter()方法从Python中的任 ...
- python静态变量计数器_如何在Python中使用静态变量在计数
今天,在用Python写一个统计一个文件下有多少文件的小标本时,遇到了一个很棘手的问题.如何在Python中使用静态变量来计数.然后,就在网上一通查找,找的方法都是利用类的方法来实现静态变量.说实话没 ...
- python右对齐 数字_如何在Python中右对齐数值数据?
我有一些数据,我显示在3列格式,形式"键:值键:键:值键:值".这里有一个例子: p: 1 sl: 10 afy: 4 q: 12 lg: 10 kla: 3 r: 0 kl: 1 ...
- 只学python找工作难吗-只学python语言找工作难吗?
只学python语言找工作难吗?小编可以肯定的告诉你不难, 初级中级高级职位都有啊,学习python可以找后台开发.数据挖掘.机器学习等方面的工作,python的强大之处在于拥有许多第三方包,可以说是 ...
- python 指定证书验证_如何在python中验证SSL证书?
我需要验证我的自定义CA签署了证书.使用OpenSSL命令行实用程序很容易做到: # Custom CA file: ca-cert.pem # Cert signed by above CA: bo ...
- python 找质数的个数_用Python打造一款文件搜索工具,所有功能自己定义!
一.前言 大家好,又到了Python办公自动化系列. 在日常的办公中,我们经常会从一堆不同格式的文件(夹)中搜索特定的文件,可能你是凭着记忆去找或是借助软件,但你有想过如何用Python实现吗?本文将 ...
- python隐藏启动台_如何在Python中启动后台进程?
如何在Python中启动后台进程? 我正在尝试将shell脚本移植到更易读的python版本. 原始shell脚本在后台使用"&"启动多个进程(实用程序,监视器等). 如何 ...
最新文章
- spring中的JdbcTemplate——JdbcTemplate的最基本用法
- java-判断相同和对象比较大小
- Selenium2Library关键字(1)
- MachineLearning(8)-PCA,LDA基础+sklearn 简单实践
- 数据结构算法模拟系统
- 开源贡献 计算_学生如何开始为开源软件做贡献
- 如何制作标识标志标签
- 深入理解CSS动画animation
- 布同:3D网游开发整体流程简述
- YTU_3313: Barnicle(模拟)
- Fault 异常或陷阱 分析
- 研究杜比视界和HDR近两个月后的各种经验和故事
- 电脑PHP动画制作画板,html5教程制作简单画板代码分享
- 刚买的新树莓派怎样用(树莓派新手入门)
- JDK8经典特性回顾
- 巧妙解决-数学家年龄问题
- 数据结构与算法:用链表实现无序列表。
- SQL Assistant 12.x Crack
- IDC机房有哪些设备?如何组建中小企业IDC机房?
- Oracle 查询技巧与优化(二) 多表查询
热门文章
- SAP C4C的一个错误消息 - Security token does not match
- 用JavaScript实现的设计模式之commandline(命令行)模式
- SAP CRM WebClient UI配置的加载逻辑
- SAP UI5 事件通知技术的实现之Eventbus.subscribe
- user parameter to determine cache in SAP Gateway
- IBASE Header change - access sequence
- 程序员谈敏捷开发团队里成员间的相互信任
- SQL ABAP ST05 hint
- Inbound process in CRM
- BusinessPartner Relationship in WebUI and Fiori