2 The Smart “Things” in IoT
55
providing technical interoperability. Device abstraction is used to make the
interaction among the application components possible. Central control and
context detection are used to support context-aware computation for the entities
that interact with the system. Application abstraction is to interface the high-level
applications and end users with the underlying devices of the system.
• Application Programming Interface (API): Defines the tools, protocols, and
routines that are required to create an application. APIs are designed to be generic
and independent from specific implementations so that an API can be utilized
across multiple applications with only slight changes to implementation only (no
change to behavior or general interface). While HALs and APIs are similar, they
serve two different purposes in software development. HAL is located between
low-level drivers and creates a common interface space for software stacks (i.e.,
RTOS) or middleware components (i.e., Ethernet, USB, file systems). A HAL
can also serve as a driver interface or as a wrapper or common interface for
higher-level code and current drivers. An API serves as a tool to assist advanced
developers in quickly creating application code by providing interface code
needed to manage real-time system behavior and allowing access to common
components like file access or serial communication.
• Application: The application layer is responsible for producing services and
defining a set of protocols for communication among different IoT applications,
such as logistics, retail, and healthcare. In addition to various applications,
numerous application protocols may be found in the literature, for example,
extensible message and presence protocol (XMPP), message queue telemetry
transport (MQTT), constrained application protocol (CoAP), and representational state transfer (REST). MQTT is a machine-to-machine architecture that
enables lightweight connectivity that supports publish and subscribe over TCP.
CoAP employs a request and response protocol to enable communication
in recourse-constrained environments. XMPP is mainly designed for instant
messaging, multiparty chats, and audio calls. Important parameters such as the
bandwidth requirement, data latency, reliability, and memory footprint need to
be considered to choose an application protocol for an IoT system.
2.2 Sensors
Sensors are used to detect incidents or alterations in the physical world (i.e., sound,
temperature, pressure, motion, flow, magnetic qualities, or chemical/biochemical
factors), obtain required data, and then send the data to a monitoring system [2, 3].
Outlined below are the different kinds of sensors useful in various IoT applications.
• Temperature Sensors – The most common sensor in the IoT domain because most
biological/chemical, physical, and electronic/mechanical systems can be altered
by temperature. The four main categories of temperature sensors include:
Précédent

- 64/647

Suivant