ble_blinky.py

# هذا العمل مرخص بموجب ترخيص MIT.
# حقوق النشر (c) 2013-2023 OpenMV LLC. جميع الحقوق محفوظة.
# https://github.com/openmv/openmv/blob/master/LICENSE
#
# استخدم تطبيق nRF Connect من متجر التطبيقات، واتصل بلوحة Nano، واكتب 1/0 للتحكم في مصباح LED.

import time
from board import LED
from ubluepy import Service, Characteristic, UUID, Peripheral, constants


def event_handler(id, handle, data):
    global periph
    global service
    if id == constants.EVT_GAP_CONNECTED:
        pass
    elif id == constants.EVT_GAP_DISCONNECTED:
        # إعادة تشغيل البث الإعلاني (advertisement)
        periph.advertise(device_name="Nano Blinky", services=[service])
    elif id == constants.EVT_GATTS_WRITE:
        LED(1).on() if int(data[0]) else LED(1).off()


# البدء مع إطفاء LED(1)
LED(1).off()

notif_enabled = False
uuid_service = UUID("0x1523")
uuid_led = UUID("0x1525")

service = Service(uuid_service)
char_led = Characteristic(uuid_led, props=Characteristic.PROP_WRITE)
service.addCharacteristic(char_led)

periph = Peripheral()
periph.addService(service)
periph.setConnectionHandler(event_handler)
periph.advertise(device_name="Nano Blinky", services=[service])

while True:
    time.sleep_ms(500)

results matching ""

    No results matching ""