【开发环境】
1、Debian 12。
2、tkinter
3、miniconda
4、python3.9
【实现步步骤】
1、新建conda 环境 conda creat -n python5_pro=python3.9
2、激活环境 conda activate python5_por
3、安装bleak库:pip install bleak
4、安装tkinter库:pip install tkinter
5、测试是否安装成功:
- >>> import tkinter
- >>> import bleak
【程序编写】
1、首先使用bleak进行搜索,如果搜索到了服务,打印到列表中:
2、发现服务成功后,点击列表中的服务,他将连接到蓝牙设备上,如果成功测显示成功状态:
3、订阅心电设备的服务:
- # 订阅特定的 GATT 特征
- target_uuid = "0000fe42-8e22-4541-9d4c-21edae82ed19"
- if target_uuid in [str(char.uuid) for service in services for char in service.characteristics]:
- await self.client.start_notify(target_uuid, self.notification_handler)
- self.update_status(f"Subscribed to characteristic {target_uuid}")
- else:
- self.update_status(f"Characteristic {target_uuid} not found")
4、生成回调函数,如果接收到了数据,则进行解析,并显示到GUI界面。
- def notification_handler(self, sender, data):
- print(f"Received data from {sender}: {data}")
- # 这里可以根据数据格式解析心率和血氧值
- # 示例:假设数据是简单的字节流,前一个字节是心率,后一个字节是血氧
- if len(data) == 2:
- heart_rate = data[0] # 前一个字节是心率
- oxygen_level = data[1] # 后一个字节是血氧
- self.update_heart_rate(heart_rate)
- self.update_oxygen_level(oxygen_level)
- else:
- print(f"Unexpected data length: {len(data)}")
【总结】
米尔-瑞芯微RK3576核心板及开发板,板载了wifi、蓝牙模块,通过python的bleak库,可以快速的建立基于低功耗蓝牙的应用。在医疗领域大有可为。