跳转到主要内容

为Magic Light BLE RGB灯泡提供的BLE服务

项目描述

简介

Documentation Status Discord Build Status Code Style: Black

为Magic Light BLE RGB灯泡提供的BLE服务。在亚马逊 这里 可用。

依赖项

此驱动程序依赖于

请确保所有依赖项都可在CircuitPython文件系统中使用。这可以通过下载 Adafruit库和驱动程序包 来轻松实现。

从PyPI安装

在支持GNU/Linux系统(如树莓派)上,您可以从PyPI 安装此驱动程序。为当前用户安装

pip3 install adafruit-circuitpython-ble-magic-light

为全局安装(在某些情况下可能需要)

sudo pip3 install adafruit-circuitpython-ble-magic-light

在当前项目中的虚拟环境中安装

mkdir project-name && cd project-name
python3 -m venv .venv
source .venv/bin/activate
pip3 install adafruit-circuitpython-ble-magic-light

使用示例

"""This demo connects to a magic light and has it do a colorwheel."""
import adafruit_ble
import _bleio

from adafruit_ble.advertising.standard import ProvideServicesAdvertisement
from adafruit_ble_magic_light import MagicLightService

# CircuitPython <6 uses its own ConnectionError type. So, is it if available. Otherwise,
# the built in ConnectionError is used.
connection_error = ConnectionError
if hasattr(_bleio, "ConnectionError"):
    connection_error = _bleio.ConnectionError

def find_connection():
    for connection in radio.connections:
        if MagicLightService not in connection:
            continue
        return connection, connection[MagicLightService]
    return None, None

# Start advertising before messing with the display so that we can connect immediately.
radio = adafruit_ble.BLERadio()

active_connection, pixels = find_connection()
current_notification = None
app_icon_file = None
while True:
    if not active_connection:
        print("Scanning for Magic Light")
        for scan in radio.start_scan(ProvideServicesAdvertisement):
            if MagicLightService in scan.services:
                active_connection = radio.connect(scan)
                try:
                    pixels = active_connection[MagicLightService]
                except connection_error:
                    print("disconnected")
                    continue
                break
        radio.stop_scan()

    i = 0
    while active_connection.connected:
        pixels[0] = colorwheel(i % 256)
        i += 1

    active_connection = None

文档

此库的API文档可在 Read the Docs 上找到。

有关构建库文档的信息,请参阅 本指南

贡献

欢迎贡献!在为此项目做出贡献之前,请阅读我们的 行为准则,以帮助保持该项目友好。

项目详情


下载文件

下载您平台上的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分布

构建分布

支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面