3 Engineering IoT Networks
119
being a slave of more than one master is possible. A scatternet is a number
of interconnected piconets. Scatternets can be formed when a member of one
piconet (either the master or one of the slaves) elects to participate as a slave in a
second, separate piconet. The device participating in both piconets can relay data
between members of both ad hoc networks. Using this approach, it is possible to
join together numerous piconets into a large scatternet and to expand the physical
size of the network beyond Bluetooth’s limits in both communication range and
number of devices.
• Host Controller Interface (HCI). It provides standardized communication
between the host stack (e.g., a PC or mobile phone OS) and the controller
(the Bluetooth chip). This interface allows the host stack or controller chip
to be swapped with minimal adaptation. There are several HCI Transport
Layer standards, each using a different hardware interface to transfer the same
command, event, and data packets. The most commonly used are USB (in PCs)
and UART (in mobile phones and PDAs).
• Logical link control and adaptation protocol (L2CAP). It is the lowest layer
of the Host part and its functions include:
– Multiplexing data between different higher layer protocols.
– Segmentation and reassembly of packets.
– Providing one-way transmission management of multicast data to a group of
other Bluetooth devices.
– Quality of service (QoS) management for higher layer protocols.
In basic mode, L2CAP provides packets with a payload configurable up to
64 KB, with 672 bytes as the default size and 48 bytes as the minimum
mandatory supported size. In retransmission and flow control modes, L2CAP
can be configured for reliable or asynchronous data per channel by performing
retransmissions and CRC checks.
• Radio-frequency communication (RFCOMM). It is a simple set of transport
protocols, made on top of the L2CAP protocol, providing emulated RS-232
serial ports (up to 60 simultaneous connections to a Bluetooth device at a time).
The protocol is based on the ETSI standard TS 07.10. RFCOMM is sometimes
called serial port emulation. The Bluetooth serial port profile is based on this
protocol. RFCOMM provides a simple reliable data stream to the user, similar
to TCP. It is used directly by many telephony-related profiles as a carrier for
AT commands, as well as being a Transport Layer for OBEX over Bluetooth.
Many Bluetooth applications use RFCOMM because of its widespread support
and publicly available API on most operating systems. Additionally, applications
that used a serial port to communicate can be quickly ported to use RFCOMM.
• Service discovery protocol (SDP). It is used to allow devices to discover what
services each other support and what parameters to use to connect to them. For
example, when connecting a mobile phone to a Bluetooth headset, SDP will
be used to determine which Bluetooth profiles are supported by the headset
(headset profile, hands free profile, advanced audio distribution profile, etc.) and
the protocol multiplexer settings needed to connect to each of them. Each service
Précédent

- 127/647

Suivant