Python(Bluetooth通信-Bleak)
■PythonのライブラリBleakでBluetooth通信の試し。
以前、AndroidでBluetooth通信を行ったけど、今回はPythonでの試し。
生成AIを使ってどんなライブラリがいいかたずねると、一番にBleakが出てきた。BleakのBleは、Bluetooth Low Energyの頭文字とのこと。BLEは、必要な時だけに接続し電力消費が少ないのが特徴。
生成AIで簡単なサンプルコードを作成してもらい、実行まで実施。
import asyncio
from bleak import BleakScanner
async def main():
print("Scanning...\n")
devices = await BleakScanner.discover(return_adv=True)
print(f"検出台数: {len(devices)}\n")
for address, (device, adv) in devices.items():
print(f"Address : {address}")
print(f"Name : {device.name}")
print(f"RSSI : {adv.rssi}")
print(f"UUIDs : {adv.service_uuids}")
print()
if __name__ == "__main__":
asyncio.run(main())
出力が下(固有の番号などは念のためグレーアウト)。
プリンタに対してはすぐに検出されたけど、スマホはBluetoothをONにしても初めは検出されなかった。通信関連のアプリを入れて設定したら検出された。

公式のページもあるので、そのあたりで何か面白そうなサンプルを試したり、何に使えるか考えたりして進めていきたい。

