TLDR: Como se conectar a um dispositivo Bluetooth com um MacBook e Python

Apr 10 2023
Uma versão de início rápido do nosso artigo popular sobre Python para Bluetooth LE. Este artigo pressupõe que você conheça os fundamentos do Bluetooth LE e a escrita de código Python em um Mac.

Uma versão de início rápido do nosso artigo popular sobre Python para Bluetooth LE.

Foto de vadim kaipov no Unsplash

Este artigo pressupõe que você conheça os fundamentos do Bluetooth LE e a escrita de código Python em um Mac. Caso contrário, confira nosso artigo detalhado aqui .

Requisitos

  • Um computador Mac OS (12.x+)
  • Python 3
  • Bleak (uma biblioteca Python LE Bluetooth)
  • Um relógio inteligente, lâmpada inteligente ou dispositivo Bluetooth LE semelhante

Bleak é uma biblioteca Bluetooth LE para Python.

Instale com pip install bleak.

Etapa 1: procurar dispositivos Bluetooth próximos

Esta etapa é opcional se você já conhece o endereço MAC ou UUID do seu dispositivo.

Coloque o código abaixo em um arquivo chamado scanner.pye execute-o.

# scanner.py

import asyncio
from bleak import BleakScanner

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

asyncio.run(main())

Uma lista de dispositivos Bluetooth encontrados por scanner.py

Copie o UUID do seu dispositivo. Se quisermos nos conectar ao primeiro Xsens DOT listado, teremos que usar o endereço 338312FA-C3D1–183F-325A-0726AFDBEB78.

AsyncIO é uma biblioteca Python que ajuda nosso código a esperar para ouvir de dispositivos Bluetooth. Dessa forma, por mais que os dispositivos Bluetooth demorem para enviar uma mensagem ao nosso computador, isso não irá pausar nosso código ou causar erros por demorar muito.

Etapa 2: conectar-se ao dispositivo

Agora que sabemos o endereço do nosso dispositivo, podemos nos conectar a ele com BleakClient().

Em um novo arquivo, connect.py, coloque o seguinte:

# 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 exemplo, para o Xsens DOT, essa linha será:

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

Este é o script completo para conectar a um 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())

Isso é tudo que você precisa para se conectar a um dispositivo Bluetooth LE com Python e Bleak.

Perguntas e comentários

Se você tiver dúvidas ou comentários, envie-nos um e-mail para [email protected] ou uma mensagem no Instagram (@protobioengineering) .

Se você gostou deste artigo, considere nos apoiar doando um café .

Artigos relacionados