TLDR: come connettersi a un dispositivo Bluetooth con un MacBook e Python

Apr 10 2023
Una versione rapida del nostro popolare articolo su Python per Bluetooth LE. Questo articolo presuppone che tu conosca le basi di Bluetooth LE e scriva codice Python su un Mac.

Una versione rapida del nostro famoso articolo su Python per Bluetooth LE.

Foto di vadim kaipov su Unsplash

Questo articolo presuppone che tu conosca le basi di Bluetooth LE e scriva codice Python su un Mac. In caso contrario, consulta il nostro articolo approfondito qui .

Requisiti

  • Un computer Mac OS (12.x+)
  • Pitone 3
  • Bleak (una libreria Python Bluetooth LE)
  • Uno smartwatch, una lampadina smart o un dispositivo Bluetooth LE simile

Bleak è una libreria Bluetooth LE per Python.

Installa con pip install bleak.

Passaggio 1: cerca dispositivi Bluetooth nelle vicinanze

Questo passaggio è facoltativo se conosci già l'indirizzo MAC o l'UUID del tuo dispositivo.

Metti il ​​codice qui sotto in un file chiamato scanner.pyed eseguilo.

# scanner.py

import asyncio
from bleak import BleakScanner

async def main():
    devices = await BleakScanner.discover()
    for device in devices:
        print(device)

asyncio.run(main())

Un elenco di dispositivi Bluetooth trovati da scanner.py

Copia l'UUID del tuo dispositivo. Se vogliamo connetterci al primo Xsens DOT elencato, dovremo usare address 338312FA-C3D1–183F-325A-0726AFDBEB78.

AsyncIO è una libreria Python che aiuta il nostro codice ad aspettare di sentire dai dispositivi Bluetooth. In questo modo, per quanto tempo impieghino i dispositivi Bluetooth per inviare un messaggio al nostro computer, questo non metterà in pausa il nostro codice o causerà errori per troppo tempo.

Passaggio 2: connettersi al dispositivo

Ora che conosciamo l'indirizzo del nostro dispositivo, possiamo connetterci ad esso con BleakClient().

In un nuovo file, connect.pyinserire quanto segue:

# connect.py

import asyncio
from bleak import BleakClient

async def main():
    address = "ABCDEFG1-XXXX-XXXX-XXXX-XXXXXXXXXX"

    async with BleakClient(address) as client:
        print(client.is_connected) # prints True or False

asyncio.run(main())

Ad esempio, per Xsens DOT, quella linea sarà:

address = "338312FA-C3D1–183F-325A-0726AFDBEB78"

Questo è lo script completo per la connessione a un dispositivo Bluetooth.

# connect.py

import asyncio
from bleak import BleakClient

async def main():
    address = "ABCDEFG1-XXXX-XXXX-XXXX-XXXXXXXXXX"

    async with BleakClient(address) as client:
        print(client.is_connected) # prints True or False

asyncio.run(main())

Questo è tutto ciò di cui hai bisogno per connetterti a un dispositivo Bluetooth LE con Python e Bleak.

Domande e feedback

Se hai domande o commenti, scrivici a [email protected] o inviaci un messaggio su Instagram (@protobioengineering) .

Se ti è piaciuto questo articolo, considera di sostenerci donando un caffè .

articoli Correlati