Main Content

subscribe

Subscribe to characteristic notification or indication

Description

subscribe(c) subscribes to a characteristic notification or indication of a Bluetooth® Low Energy peripheral device. Notification or indication depends on the Attributes property of the characteristic c. The property must contain "Notify", "Indicate", or both. If the property contains both "Notify" and "Indicate", the function subscribes to notification.

example

subscribe(c,type) subscribes to a characteristic of a Bluetooth Low Energy peripheral device and specifies whether the subscription is for notification or indication. The Attributes property of the characteristic c must contain the specified type.

example

Examples

collapse all

Subscribe to a characteristic that supports notification or indication. Unsubscribe after you finish working with the characteristic.

Create a connection to a nearby Bluetooth Low Energy peripheral device.

b = ble("DemoDev")
b = 
  ble with properties:

               Name: "DemoDev"
            Address: "FF548EA5658F"
          Connected: 1
           Services: [5×2 table]
    Characteristics: [10×5 table]

Show services and characteristics

Create a characteristic object that represents the "Heart Rate Measurement" characteristic.

c = characteristic(b,"Heart Rate","Heart Rate Measurement")
c = 
  Characteristic with properties:

             Name: "Heart Rate Measurement"
             UUID: "2A37"
       Attributes: "Notify"
      Descriptors: [1x3 table]
 DataAvailableFcn: []

Show descriptors

This characteristic supports "Notify".

Start receiving notifications using subscribe.

subscribe(c)

Read from the characteristic to check that you are receiving data.

read(c)
ans = 1×19

    23    14     1   187     1   186     1   185     1   184     1   183     1   182     1   181     1   180     1

After you finish working with the characteristic, disable notifications using unsubscribe.

unsubscribe(c)

Input Arguments

collapse all

Characteristic of Bluetooth Low Energy peripheral device, specified as a characteristic object.

Example: subscribe(c) subscribes to notification or indication on the characteristic object c, depending on the Attributes property of c.

Subscription type, specified as "notification" or "indication". If a characteristic supports both and you do not specify type, then the default value is "notification".

Possible behaviors of subscribe follow.

c.Attributes includesNotification supported?Indication supported?
"Notify"

Yes, using

  • subscribe(c) or

  • subscribe(c,"notification")

No

"Indicate"

No

Yes, using

  • subscribe(c) or

  • subscribe(c,"indication")

"Notify" and "Indicate"

Yes, using

  • subscribe(c) or

  • subscribe(c,"notification")

Yes, using

  • subscribe(c,"indication")

Example: subscribe(c,"indication") subscribes to indication.

Version History

Introduced in R2019b