Skip to main content

Spec

The spec is a work in progress. Descriptors and datatypes other than INT32 are yet to be supported.

Identifier shortcuts​

OpenBLE lets you use identifier names in place of UUIDs. It looks up the corresponding UUID from Nordic's UUID database. Nordic DB sources are:

  • gss: GATT specification. Eg org.bluetooth.service.environmental_sensing
  • nordic: Eg. com.nordicsemi.service.led_and_button
  • adafruit
  • apple
  • and others

Sample schema​

openble: 0.1.0

info:
title: string
# Description in markdown
description: string
version: string

services:
# Service key can be
# - 16 bit UUID in capital for GATT services: 181A
# - Long UUID in capital for GATT or custom services: 0000181A-0000-1000-8000-00805F9B34FB
# - Long identifier: org.bluetooth.service.environmental_sensing
# - Short identifier: environmental_sensing
# Identifiers are read from Nordic's UUID database- https://github.com/NordicSemiconductor/bluetooth-numbers-database/tree/master/v1
environmental_sensing:
name: Environmental Sensing Service
summary: Service to read temperature and humidity
characteristics:
# Characteristic key is defined similar to service key
temperature_celsius:
name: Temperature
summary: Read or write temperature in Degree Celsius
# Currently INT32 is the only supported type. TODO support other types
dataType: INT32
# READ, WRITE, NOTIFY, INDICATE
permissions:
- READ
- WRITE
humidity:
name: Humidity
summary: Read humidity in percentage. A value of 50 denotes 50% humidity
dataType: INT32
permissions:
- READ