Untitled
unknown
python
a year ago
1.5 kB
18
Indexable
import asyncio
from bleak import BleakClient, BleakScanner
global sensor_list
global board_sn
async def scan_devices():
print("Scanning for Bluetooth devices...")
devices = await BleakScanner.discover()
for device in devices:
print(f"Found device: {device.name} - {device.address}")
async def uuid_info(board_sn):
async with BleakClient(board_sn) as client:
services = client.services
uuids = []
for service in services:
#print(f"Service: {service.uuid}")
for characteristic in service.characteristics:
UUID = characteristic.uuid
uuids.append(UUID)
#print(f" Characteristic: {characteristic.uuid} (Properties: {characteristic.properties})")
global read_uuid, write_uuid
read_uuid = uuids[0]
write_uuid = uuids[1]
async def query_vlf_bt(device_address, write_uuid, read_uuid):
async with BleakClient(device_address) as client:
data = []
#Queries all ports
for x in sensor_list:
command = f'P{x+1:02d}'
await client.write_gatt_char(write_uuid, command.encode())
# Reads the data from the Controller
response = await client.read_gatt_char(read_uuid)
value = response.decode("utf-8").strip()
data.append(value)
print(f"Response from {command}: {data}")
scan_devices()
uuid_info(board_sn)
query_vlf_bt(board_sn, write_uuid, read_uuid)Editor is loading...
Leave a Comment