shiny-ble-hosting

Host BLE GATT servers with managed characteristics in MAUI apps.

152|15|Updated Oct 6, 2022
One-click install
npx skills add https://github.com/shinyorg/templates --skill shiny-ble-hosting
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: shiny-ble-hosting
Source: https://github.com/shinyorg/templates/tree/main/ProjectTemplates/ShinyApp/skills/shiny-ble-hosting
Command: npx skills add https://github.com/shinyorg/templates --skill shiny-ble-hosting

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Mobile devices often cannot act as BLE peripherals out of the box, making it hard to implement custom GATT servers, advertising, and managed characteristic patterns. This Skill enables a device to host a BLE GATT server, advertise as a beacon, and manage BLE characteristics through a DI-friendly pattern.

Core Features & Use Cases

  • Imperative GATT Service setup: configure services and characteristics at runtime.
  • Managed pattern: register BleGattCharacteristic implementations via DI and attach/detach them.
  • Advertising and iBeacon: start standard BLE advertising and iBeacon broadcasting.
  • Attach/Detach lifecycle: safely wire up managed services and clean up on stop.
  • MAUI-ready hosting: supports iOS and Android in MAUI apps.

Quick Start

Request access, attach DI-registered characteristics, and start advertising with a local device name and service UUID.

Frequently Asked Questions about shiny-ble-hosting

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I turn a mobile device into a BLE peripheral in MAUI?

Managed characteristics allow you to register BleGattCharacteristic implementations via dependency injection. You can safely attach and detach these managed services during the lifecycle of your BLE hosting setup.

Can I advertise as an iBeacon from an iOS or Android device?

Yes, you can advertise as an iBeacon from an iOS or Android device. This Skill enables starting standard BLE advertising and iBeacon broadcasting while your mobile device acts as a GATT server.

What is the difference between imperative and managed GATT service setup?

Imperative GATT service setup configures services and characteristics at runtime via inline API calls. Managed setup registers BleGattCharacteristic implementations via dependency injection, handling attach and detach lifecycle events automatically.

How do I configure GATT services and characteristics at runtime?

You configure GATT services and characteristics at runtime using the imperative API usage for inline service configuration. This allows dynamic setup of your BLE peripheral's exposed services during execution.

Does BLE peripheral hosting require dependency injection setup?

Yes, BLE peripheral hosting requires dependency injection setup. The managed pattern relies on DI registration to attach BleGattCharacteristic implementations and requires the Shiny.BluetoothLE.Hosting package for proper initialization.