This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

In the nRF8001, how is Pipe different from Handle of attributes?

The nRF8001 provides pipes to the Characteristics on the local GATT Server and the remote GATT server. How is this different from the handles of Attributes.

  • A pipe is very similar to a handle, but there are some differences that should be noted, for example that a pipe belongs to an operation on an attribute, not the attribute itself. This means that if one characteristic have for example both the read and the write properties, it will be exposed over two different pipes.

    There is a chapter 20 in the nRF8001 PS that tries to explain the concept, so it might be worth having a look at it.

  • A Pipe is associated with a Characteristic and an operation. The Characteristic is present on either the local or remote GATT Server. For example: pipe 2 = Characteristic (Heart Rate Measurement), Operation(Notify), Local GATT Server. pipe 3 = Characteristic (Heart Rate Measurement), Operation(Indicate), Local GATT Server.

    When data is sent on a Pipe it is the Operation associated with it is executed. For Example when the data "0xA010" is sent on Pipe 2, the ATT Notification is sent with data="0xA010" and the Attribute Handle of the Heart Rate Measurement Characteristic.

Related