import sys # ruff: noqa: E402 sys.path.append("") from micropython import const import uasyncio as asyncio import aioble import bluetooth import random import struct # org.bluetooth.service.environmental_sensing _ENV_SENSE_UUID = bluetooth.UUID(0x181A) # org.bluetooth.characteristic.temperature _ENV_SENSE_TEMP_UUID = bluetooth.UUID(0x2A6E) # org.bluetooth.characteristic.gap.appearance.xml _ADV_APPEARANCE_GENERIC_THERMOMETER = const(768) # How frequently to send advertising beacons. _ADV_INTERVAL_MS = 250_000 # Register GATT server. temp_service = aioble.Service(_ENV_SENSE_UUID) temp_characteristic = aioble.Characteristic( temp_service, _ENV_SENSE_TEMP_UUID, read=True, notify=True ) aioble.register_services(temp_service) # Helper to encode the temperature characteristic encoding (sint16, hundredths of a degree). def _encode_temperature(temp_deg_c): return struct.pack("