【Bleak】六、特征及描述的发现
目录:
- 1. 前言
- 2. 准备一个心率带设备
- 3. 源码解析
- 4. 运行结果
- 5. 写在最后
1. 前言
上一章节介绍了服务的发现,现在来看看服务里面的特征及描述是怎么获取的。
本文是基于源码例子的 service_explorer.py 来展开的。
2. 准备一个心率带设备
为了更好得介绍,我们用NORDIC模拟了一个心率带设备,现在通过nRF Connect来看看它的服务及其下面的特征和描述。
3. 源码解析
import sys
import platform
import asyncio
import loggingfrom bleak import BleakClient
logger = logging.getLogger(__name__)
ADDRESS = ("E6:F8:E8:8D:D7:68"if platform.system() != "Darwin"else "B9EA5233-37EF-4DD6-87A8-2A875E821C46"
)async def main(address):async with BleakClient(address) as client:logger.info(f"Connected: {client.is_connected}")for service in client.services:logger.info(f"[Service] {service}")for char in service.characteristics:if "read" in char.properties:try:value = bytes(await client.read_gatt_char(char.uuid))logger.info(f"\t[Characteristic] {char} ({','.join(char.properties)}), Value: {value}")except Exception as e:logger.error(f"\t[Characteristic] {char} ({','.join(char.properties)}), Value: {e}")else:value = Nonelogger.info(f"\t[Characteristic] {char} ({','.join(char.properties)}), Value: {value}")for descriptor in char.descriptors:try:value = bytes(await client.read_gatt_descriptor(descriptor.handle))logger.info(f"\t\t[Descriptor] {descriptor}) | Value: {value}")except Exception as e:logger.error(f"\t\t[Descriptor] {descriptor}) | Value: {e}")if __name__ == "__main__":logging.basicConfig(level=logging.INFO)asyncio.run(main(sys.argv[1] if len(sys.argv) == 2 else ADDRESS))
从以上代码可以得知:
【Bleak】六、特征及描述的发现相关推荐
- OpenCV仿射变换 SURF特征点描述合辑
原文:http://blog.csdn.net/poem_qianmo/article/details/33320997?utm_source=tuicool&utm_medium=refer ...
- 深度学习图像处理目标检测图像分割计算机视觉 02--图像特征与描述
深度学习图像处理目标检测图像分割计算机视觉 02--图像特征与描述 摘要 一.图像特征与描述 1.1.颜色特征 1.2.几何特征提取 1.3.基于特征点的特征描述子 1.3.1.几何特征:关键点 1. ...
- 理解 UDDI(统一描述、发现和集成)
本文来自IBM [导读]统一描述.发现和集成(Universal Description, Discovery, and Integration,UDDI)项目继续丰富企业用于在 UDDI 业务注册中 ...
- 服务器编写_编写下载服务器。 第六部分:描述您发送的内容(内容类型等)...
服务器编写 就HTTP而言,客户端下载的只是一堆字节. 但是,客户真的很想知道如何解释这些字节. 它是图像吗? 还是ZIP文件? 本系列的最后一部分描述了如何向客户端提示她下载的内容. 设置 内容类型 ...
- 编写下载服务器。 第六部分:描述您发送的内容(内容类型等)
就HTTP而言,客户端下载的只是一堆字节. 但是,客户真的很想知道如何解释这些字节. 它是图像吗? 或者也许是ZIP文件? 本系列的最后一部分描述了如何向客户端提示她下载的内容. 设置 内容类型描述了 ...
- 《深入理解 Spring Cloud 与微服务构建》第六章 服务注册和发现 Eureka
<深入理解 Spring Cloud 与微服务构建>第六章 服务注册和发现 Eureka 文章目录 <深入理解 Spring Cloud 与微服务构建>第六章 服务注册和发现 ...
- 哪些数学特征可以用来描述一组数据
在机器学习的过程中,一个很重要的问题就是特征的提取.提取训练数据的特征,决定着最终学习的效果.那么一组数据,比如一组表示身高的一维数组如何用数学特征加以描述呢.使用到如下的python模块可以快速的计 ...
- 提取特征点和特征点描述
网上找的某段代码: //提取特征点 SurfFeatureDetector Detector(2000); vector<KeyPoint> keyPoint1, keyPoint2;De ...
- SuperPoint:深度学习特征点+描述子
[原文链接]:https://www.vincentqin.tech/posts/superpoint/ 本文出自近几年备受瞩目的创业公司MagicLeap,发表在CVPR 2018,一作Daniel ...
最新文章
- 3行代码,Python数据预处理提速6倍!(附链接)
- 转iOS性能优化:Instruments使用实战
- Python 技术篇-操作oracle数据库执行SQL语句报错,提示ORA-00911: 无效字符解决方法
- php如何转换类型,PHP数据类型转换
- 如何用九条命令在一分钟内检查 Linux 服务器性能?
- STVD下配置Cosmic编译器
- 如何跟踪log4j漏洞原理及发现绕WAF的tips
- 无法恢复,欧洲云服务巨头数据中心起火
- Silverlight+WCF 新手实例 象棋 棋子移动-线交叉点(六)
- day02_20190106 基础数据类型 编码 运算符
- [unity]网游中实现资源动态加载
- python数据挖掘实验报告_数据挖掘实习报告
- 2023计算机毕业设计SSM最新选题之java一起学习吧s77u8
- U盘启动制作 + xp镜像
- 11.2 逃课是个需要严肃对待的问题——《逆袭大学》连载
- OpenCV案例(五): 更换背景色
- 京东零售大数据云原生平台化实践
- 用于excel(或wps)中进行ip处理转换的vbs模块
- Unity使用MaskableGraphic画一条带箭头的线
- 小白学习MySQL - 聊聊数据备份的重要性
热门文章
- 新目标视听说教程1-4
- UpdatePanel的用法及 UpdatePanel与JS冲突的解决方法
- svn服务器设置忽略文件夹,SVNignore忽略文件及目录 - 米扑博客
- 如何完成自己笔记本电脑与Aubo机械臂的网络连接
- 准备创建独立站?2022年最新制作企业官网必看的网页设计全攻略
- 程序员过情人节,实用表白网页附源码
- 霍纳规则(Horner'ruler)算法
- 研究基于springboot的租房推荐系统的目的和意义
- 那些年,拒绝过马云马化腾的大佬们,都混成什么样?
- 他被称为中国第一代程序员,一人之力单挑Java,如今财务自由后,做起了老师!...