ble 試してみる(python)
bleak
bleakというライブラリが誰でも簡単に使えるらしい
使ってみる
BLEデバイスをスキャンして、対象デバイスのMACアドレスを取得。
from bleak import BleakScanner
async def run():
devices = await BleakScanner.discover()
for d in devices:
print(d)
import asyncio
asyncio.run(run())
(venv) ┌───(hitto@hot)-[~/src/github.com/hitto-hub/BLE-test-py][main*]
└─$ python scan.py
*******4-***4-***2-***9-***********9: None
*******E-***4-***8-***3-***********9: None
*******E-***E-***9-***7-***********6: None
*******8-***0-***D-***4-***********0: None
*******B-***9-***2-***E-***********D: None
*******3-***3-***3-***7-***********9: None
*******E-***B-***F-***9-***********8: None
*******E-***8-***4-***8-***********5: None
*******2-***0-***6-***D-***********2: None
*******C-***5-***5-***B-***********8: None
*******4-***D-***E-***E-***********6: None
*******9-***3-***7-***3-***********1: None
*******E-***5-***2-***D-***********8: None
*******2-***B-***E-***6-***********2: None
*******D-***2-***0-***0-***********6: None
*******2-***C-***A-***A-***********2: None
*******2-***C-***B-***B-***********2: None
*******6-***7-***9-***7-***********8: None
*******5-***7-***A-***B-***********5: None
*******E-***E-***7-***9-***********8: None
*******F-***1-***0-***A-***********1: None
*******D-***D-***0-***E-***********2: None
*******C-***4-***6-***E-***********A: None
*******9-***F-***9-***3-***********2: None
*******7-***7-***4-***2-***********5: None
*******9-***A-***C-***2-***********9: None
*******9-***0-***8-***1-***********2: None
*******4-***8-***7-***B-***********7: None
*******8-***A-***A-***B-***********9: None
*******D-***B-***9-***1-***********C: None
*******2-***9-***4-***1-***********E: None
*******0-***8-***8-***1-***********E: None
*******C-***C-***0-***C-***********B: None
*******A-***6-***A-***7-***********F: None
*******E-***7-***7-***1-***********3: None
*******D-***6-***F-***0-***********5: None
*******6-***2-***D-***3-***********E: None
*******1-***7-***D-***A-***********4: None
*******F-***4-***1-***B-***********9: None
*******6-***B-***0-***8-***********E: None
*******D-***5-***8-***F-***********2: None
*******7-***B-***4-***4-***********2: None
*******E-***9-***8-***4-***********3: None
*******C-***9-***9-***9-***********E: None
*******4-***9-***D-***E-***********6: None
*******5-***C-***2-***E-***********7: None
*******D-***C-***B-***7-***********E: None
*******C-***D-***1-***E-***********1: None
*******B-***1-***5-***F-***********7: None
*******B-***F-***1-***4-***********F: None
*******3-***6-***B-***7-***********1: None
*******9-***3-***D-***4-***********6: None
*******F-***6-***5-***6-***********5: None
*******4-***A-***B-***F-***********9: None
*******D-***5-***3-***5-***********D: None
*******D-***2-***5-***B-***********9: None
*******6-***3-***8-***E-***********2: None
*******E-***3-***9-***2-***********5: None
*******D-***9-***5-***E-***********D: None
*******1-***0-***8-***D-***********5: None
*******8-***5-***9-***1-***********6: None
*******3-***B-***F-***3-***********C: None
*******1-***3-***3-***E-***********0: None
*******8-***4-***1-***4-***********D: None
*******4-***C-***2-***0-***********E: None
*******A-***E-***4-***1-***********3: None
*******9-***B-***1-***3-***********3: None
*******9-***F-***4-***E-***********2: None
*******7-***2-***9-***8-***********E: None
*******C-***4-***7-***6-***********1: iPhone-rin
*******8-***2-***F-***A-***********5: None
*******5-***0-***1-***8-***********0: None
*******B-***E-***0-***1-***********0: None
*******C-***E-***8-***3-***********0: None
*******7-***A-***3-***2-***********8: None
*******F-***8-***6-***3-***********E: None
*******6-***B-***5-***4-***********8: None
*******D-***E-***3-***9-***********2: None
*******A-***A-***4-***5-***********0: None
*******D-***7-***8-***0-***********1: None
*******4-***6-***D-***C-***********1: None
*******C-***D-***5-***7-***********0: None
*******4-***9-***4-***9-***********A: None
*******6-***9-***8-***3-***********0: None
*******F-***1-***B-***0-***********E: None
*******B-***7-***2-***D-***********7: None
*******6-***C-***5-***A-***********2: None
*******F-***0-***6-***6-***********C: None
*******F-***1-***8-***9-***********F: None
*******6-***E-***9-***8-***********E: None
*******4-***D-***F-***5-***********1: None
*******8-***C-***2-***7-***********3: None
*******B-***2-***4-***A-***********3: None
from bleak import BleakClient
address = "デバイスのMACアドレス" # 例: "XX:XX:XX:XX:XX:XX"
characteristic_uuid = "データのUUID" # 例: "00002a37-0000-1000-8000-00805f9b34fb"(心拍数など)
async def run():
async with BleakClient(address) as client:
value = await client.read_gatt_char(characteristic_uuid)
print(f"Received: {value}")
asyncio.run(run())
← Go home