TLDR: Cómo conectarse a un dispositivo Bluetooth con una MacBook y Python

Apr 10 2023
Una versión de inicio rápido de nuestro popular artículo sobre Python para Bluetooth LE. Este artículo asume que conoce los conceptos básicos de Bluetooth LE y cómo escribir código Python en una Mac.

Una versión de inicio rápido de nuestro popular artículo sobre Python para Bluetooth LE.

Foto de vadim kaipov en Unsplash

Este artículo asume que conoce los conceptos básicos de Bluetooth LE y cómo escribir código Python en una Mac. Si no es así, consulte nuestro artículo detallado aquí .

Requisitos

  • Una computadora Mac OS (12.x+)
  • Pitón 3
  • Bleak (una biblioteca Python Bluetooth LE)
  • Un reloj inteligente, una bombilla inteligente o un dispositivo Bluetooth LE similar

Bleak es una biblioteca Bluetooth LE para Python.

Instalar con pip install bleak.

Paso 1: busque dispositivos Bluetooth cercanos

Este paso es opcional si ya conoce la dirección MAC o UUID de su dispositivo.

Coloque el código a continuación en un archivo llamado scanner.pyy ejecútelo.

# scanner.py

import asyncio
from bleak import BleakScanner

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

asyncio.run(main())

Una lista de dispositivos Bluetooth encontrados por scanner.py

Copie el UUID de su dispositivo. Si queremos conectarnos al primer Xsens DOT de la lista, tendremos que usar la dirección 338312FA-C3D1–183F-325A-0726AFDBEB78.

AsyncIO es una biblioteca de Python que ayuda a nuestro código a esperar para recibir noticias de los dispositivos Bluetooth. De esa manera, sin importar el tiempo que tarden los dispositivos Bluetooth en enviar un mensaje a nuestra computadora, esto no pausará nuestro código ni causará errores por demorar demasiado.

Paso 2: Conéctese al dispositivo

Ahora que sabemos la dirección de nuestro dispositivo, podemos conectarnos a él con BleakClient().

En un archivo nuevo, connect.pyponga lo siguiente:

# 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())

Por ejemplo, para el Xsens DOT, esa línea será:

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

Este es el script completo para conectarse 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())

Eso es todo lo que necesita para conectarse a un dispositivo Bluetooth LE con Python y Bleak.

Preguntas y Comentarios

Si tiene preguntas o comentarios, envíenos un correo electrónico a [email protected] o envíenos un mensaje a Instagram (@protobioengineering) .

Si te gustó este artículo, considera apoyarnos donando un café .

Artículos relacionados