You are on page 1of 20

1 UNIT 10 IoT APPLICATION DEVELOPMENT Structure 10.0 Introduction 10.1 Objectives 10.

2 IoT
Application Essential Requirements 10.3 Challenges in IoT Application Development 10.4 IoT Application
Development Framework 10.5 Open Source IoT Platforms 10.5.1 Popular Open Source IoT Platforms
10.5.2 Some Tools for Building IoT Prototypes 10.6 IoT Application Testing Strategies 10.6.1 Performance
Testing 10.6.2 Security Testing 10.6.3 Compatibility Testing 10.6.4 End-User Application Testing 10.6.5
Device Interoperability Testing 10.7 Security Issues in IoT 10.7.1 Counter Measures 10.8 Summary 10.9
Solutions/Answers 10.10 Further Readings 10.0 INTRODUCTION In the earlier unit, we had studied
various IoT networking and connectivity technologies. After going through the basics of IoT in previous
units, we will concentrate on IoT Application Development in this unit. When you are developing some
application, Platform is one which allows you to deploy and run your application. A platform could be a
hardware plus software suite upon which other applications can operate. Platform could comprise
hardware above which Operating system can reside. This Operating system will allow application to
work above it by providing necessary execution environment to it. IoT application platforms provide a
comprehensive set of generic, i.e. application independent functionalities which can be used to build IoT
applications. When there is only one communication link between devices of one type with another
device of same type then, a system of specific service can be set up. But in case of communication
among devices of multiple types, there is a need of some common standard application platform which
hides heterogeneity of various devices by providing a common working environment to them. 2
Application Development, Fog Computing and Case Studies An IoT application platform is a virtual
solution, means it resides over cloud. Data is the entity that drives business intelligence and every device
has something to talk with other device that is data. By means of cloud connectivity, IoT application
platform translates such devices data into useful information. So it provides user means to implement
business use cases and enables predictive maintenance, pay-per-use, analytics and real time data
management. Thus, IoT application platforms provide a complete suite for application development to
its deployment and maintenance. In this unit we will focus on IoT Application requirements, challenges
of IoT Application development, IoT Application Development Frameworks, Open Source platforms for
developing IoT applications, Tools for designing and developing IoT application prototypes, IoT
application testing strategies and towards the end we will study the security issues in IoT systems. 10.1
OBJECTIVES After going through this unit, you shall be able to:  understand various requirements for
IoT application development;  list and describe various challenges of IoT application development; 
describe the application development frameworks;  discuss various types of tools and open source IoT
development platforms  elucidate the testing strategies to be followed for IoT system testing; and 
explain security issues in IoT systems. 10.2 IoT APPLICATION ESSENTIAL REQUIREMENTS The nature of
the technology architecture contributes to the essential requirements of IoT applications. Based on the
characteristics of the IoT technology ecosystem such as heterogeneity, enormous scale, high volume of
data and dynamism, a set of essential requirements for IoT applications is described. These
requirements combined with quality attributes can be used to develop a set of high-level requirements
for IoT applications. The list is not exhaustive but includes the vitally essential requirements. 10.2.1
Adaptability IoT systems will consist of several nodes, which will be resource constrained mobile and
wirelessly connected to the Internet. Due to the factors such as poor connectivity and power shortage,
nodes can be connected and disconnected from the system arbitrarily. Furthermore, the state, location
and computing speed of these nodes can change dynamically. All these factors can 3 IoT Application
make IoT systems to be extremely dynamic. In a physical environment that is Development highly
dynamic, IoT application needs to be self-adaptive to manage the communication between the nodes
and the services using them. IoT applications need to designed and developed in a way that it can
efficiently and effectively react in a timely manner to the continuously changing context in accordance
with, for instance, business policies or performance objectives that are defined by humans. IoT
applications should be self-optimizing, selfprotecting, and self-configuring, resilient and energy-efficient.
10.2.2 Intelligence Intelligent things and system of systems are the building blocks of IoT. IoT
applications will power IoT enabling technologies in transforming everyday objects into smart objects
that can understand and obtain intelligence by making or enabling context-related decisions, resulting in
the execution of tasks independently without human intervention. Achieving this requires IoT
application to be designed and developed with intelligent decision-making techniques such as context-
aware computing service, predictive analytics, complex event processing and behavioural analytics.
10.2.3 Real time A number of IoT domains requires the timely delivery of data and services. For instance,
consider IoT in scenarios such as telemedicine, patient care and vehicle-to-vehicle communications
where a delay in seconds can have dangerous consequences. Environments, where operations are time-
critical, will require IoT applications that provide on-time delivery of data and services. 10.2.4 Security
Privacy, trust, confidentiality and integrity are considered important security principles for IoT due to
the large number of devices, services and people connected to the Internet. These principles are the top
priority and essential requirements for IoT applications. Since the IoT application uses data in various
forms, speed and from a variety of sources, it is important it incorporates trust mechanisms that enforce
privacy and confidentiality. In addition, IoT application must integrate mechanisms to check for the
integrity of data to avoid the erroneous operation of IoT applications. 10.2.4 Regulation compliant IoT
applications may collect sensitive personal information about people's daily activities such as detailed
household energy usage profile and travel history. Many people consider this information as
confidential. When such information is exposed to the Internet, there is a possibility of privacy leakage,
and this could affect the privacy of the individual. In order not to violate the privacy of people, IoT
applications must be compliant with the privacy requirements established by law such as data
protection rules, otherwise, they could be prohibited. 4 Application Development, Fog Computing and
Case Studies 10.3 CHALLENGES IN IoT APPLICATION DEVELOPMENT IoT’s application requirements as
previously described combined with the inherent qualities of the IoT technology infrastructure makes
the development of IoT application, not an easy task. These characteristics create a set of challenges for
the IoT application stakeholders as discussed below. 10.3.1 Inherently distributed IoT applications are
typically distributed across several component systems. Basically, some IoT application components will
be implemented in the cloud/fog. While functionalities such as real-time analysis and data acquisition
are implemented in the IoT device, the application components that allow the end users to interact with
the IoT system will be implemented, usually as a separate web, mobile or standalone application. IoT
applications may also be distributed over a wide and varying geographical are. As they are distributed,
the classical approach of a centralised development methodology dealing with all these software
components may no longer be applicable. In addition, designing and implementing distributed
applications capable of taking consistent decisions from non-centralised resources is not always an easy
task. 10.3.2 Deep Heterogeneity One of the major challenges in the realisation of IoT applications is the
interoperability among IoT devices using a variety of technologies. IoT applications involve interactions
among heterogeneous devices, providing and consuming services deployed in a heterogeneous network
(such as fixed, wireless and mobile). This heterogeneity emanates not only from the difference in
features and capabilities but also for other reasons such as the manufacturer's and vendors' products
and quality of service requirements since they do not always follow the same standards and protocols.
Device and communication heterogeneity can make the portability of IoT applications difficult to
achieve. 10.3.3 Data Management The data generated from these heterogeneous devices are generally
in huge volume, in various forms, and are generated at different speeds. IoT applications will often make
critical decisions based on the data collected and processed. Sometimes, these data can be corrupted
for various reasons such as the failure of a sensor, introduction of an invalid data by a malicious user,
delay in data delivery and wrong data format. Consequently, IoT application developers are faced with
the challenge of developing methods that establish the presence of invalid data and new techniques
that capture the relationship between the data collected and the decision to be made. 5 IoT Application
10.3.4 Application Maintenance Development IoT applications will be executed on distributed systems
consisting of millions of devices interacting in rich and complex ways. Since IoT applications will be
distributed over a wide geographical area, there are concerns relating to the feasibility of application
deployment that supports corrective and adaptive maintenance. The codes running on these devices will
have to be debugged and updated regularly. However, maintenance operations present a number of
challenges. Allowing devices to support remote debugging and application updates poses significant
privacy and security challenges. In addition, interactive debugging may be difficult due to the limited
bandwidth of these devices. 10.3.5 Humans in the Loop Many IoT applications are human-centric
applications, i.e. humans and objects will work in synergy. However, the dependencies and interactions
between humans and objects are yet to be fully harmonized. Humans in the loop have their advantages.
For example, in healthcare, incorporating models of various human activities and assisted technologies
in the homes of the elderly can improve their medical conditions. However, IoT applications that model
human behavior is a significant challenge, as it requires modeling of complex behavioral, psychological
and physiological aspects of human nature. New research is necessary to incorporate human behaviors
in IoT application design and to understand the underlying requirements and complex dependencies
between IoT applications and humans. 10.3.6 Application Inter-dependency An inter-dependency
problem may arise when several IoT applications share services from real-world objects. Consider two
IoT applications running concurrently in a home: an energy management application for regulating the
energy consumption of the electrical and electronic appliances and a healthcare application for
monitoring the vital signs of the occupants of the house. To reduce the cost of deployment and channel
contention, these applications share the information from the sensors in the home. However,
integrating both applications is challenging since each application has its own assumptions about the
real world and may have no knowledge of how the other application works. For example, the home
health care application may detect depression and decide to turn ON all the lights. On the other hand,
the energy management application may decide to turn OFF lights when no motion is detected.
Detecting and resolving such dependency problems is important for the correctness of operation of
interacting IoT systems. 10.3.7 Multiple Stakeholders concern The development of IoT applications
involves various stakeholders with different and sometimes conflicting concerns and expectations. The 6
Application Development, Fog Computing and Case Studies stakeholders of IoT application development
include domain expert, software designer, application developer, device developer and network
manager. These stakeholders have to address issues that are attributed to the life-cycle phases of an IoT
application such as design, implementation, deployment and evolution. The lack of mechanisms to
address the concerns of the various stakeholders and the special skill and expertise required by the
stakeholders to identify components and to understand the system contributes to the challenges facing
IoT application development. 10.3.8 Quality evaluation Since IoT applications are currently being
integrated into the daily activities of our lives and sometimes used in critical situations with little or no
tolerance for errors and failures, it therefore means that the overall system quality is important and
must be thoroughly evaluated to guarantee that it is of high quality before being deployed. However,
evaluating quality attributes such as performance is a key challenge since it depends on the performance
of many components as well as the performance of the underlying technologies. 10.4 IoT APPLICATION
DEVELOPMENT FRAMEWORK Having studied the IoT application development requirements and
challenges let us focus on the layered approach of IoT application development framework in this
section. IoT devices are becoming an integral part of organizations, homes, offices, factories, hospitals,
and almost everywhere. Today there are billions of IoT devices that are using embedded systems, such
as sensors, processors, communication hardware, and other equipment, to send, collect, and act on
data without much human intervention. However, IoT is not a simple technology. It is an amalgam of
different technologies that work together in harmony. IoT frameworks have a crucial role in the smooth
operation of IoT devices. The fundamental components as shown in Figure 1 of IoT framework
comprises of Device Hardware (includes sensors, controllers, microcontrollers, and other hardware
devices), Device Software (involves written applications to configure controllers and operate them from
the remote and do more), Communications/ Connectivity (communication and connectivity mechanisms
and protocols), Cloud Platform and Cloud Applications whose details are given below: 7 IoT Application
Development Figure 1: Framework for IoT Application Development 10.4.1 Device Hardware Device
Hardware is the first layer of IoT technology stack that defines the digital and physical parts of any smart
connected product. In this stacked layer, it is imperative to know the implications of size, deployment,
cost, useful lifetime, reliability and more such. If we talk about small devices like for example,
smartwatches then you may have only one room for such a System on a Chip (SoC). Here, you will need
embedded computer like Raspberry-Pi, Artik module, and BeagleBone board. 10.4.2 Device Software
The device software is the component that turns the device hardware into a “smart device.” Device
software is the second layer of the IoT technology stack. Device software enables the concept of
“software-defined hardware,” meaning that a particular hardware device can serve multiple applications
depending on the embedded software it is running. It allows you to implement communication with the
Cloud or other local devices. You can perform realtime analytics, data acquisition from your device’s
sensors, and even control. This layer of the IoT technology stack is critical because it serves as the glue
between the real world (hardware) and your Cloud Applications. You can also use device software to
reduce the risks of hardware development. Building hardware is expensive, and it takes a lot longer than
software. Instead of building your device for a narrow and specific purpose, it is better to use the generic
hardware that can be customized by your device software to give you more flexibility down the road.
This technique is often known as “softwaredefined hardware.” This way, you can update your
embedded software remotely via the Cloud, which will update your “hardware” functionality in the field.
.The device software layer can be distributed into two categories i.e. Device Operating System and
Applications. 10.4.2.1 Device Operating system The whole complexity of your IoT solution will portray
the type of operating system you are in the need of. There are some top things that you must include
like when your app requires a real-time operating system, I/O support, and 8 Application Development,
Fog Computing and Case Studies support for the full TCP/IP stack. Some examples of an embedded OS
are Brill, Linux, Windows Embedded and VxWorks. 10.4.2.2 Device Applications Device applications run
on top of the Edge OS and provide the specific functionality for your IoT solution. Here the possibilities
are endless. You can focus on data acquisition and streaming to the Cloud, analytics, local control, etc.
10.4.3 Communications /Connectivity Communications refer to all the different ways your device will
exchange information with the rest of the world. Communications are the third layer of the IoT
technology stack. Depending on your industry, some people refer to this layer of the IoT technology
stack as connectivity. Communications include both physical networks and the protocols you will use. It
is true that the implementation of the communications layer is found in the device hardware and device
software. But from a conceptual model, selecting the right communication mechanisms is a critical part
of your IoT product strategy. It will determine not only how you get data in and out from the Cloud (for
example, using Wi-Fi, WAN, LAN, 4G, 5G, LoRA, etc.), but also, how you communicate with third-party
devices too. In the connectivity part of the IoT technology stack, it is important to define the network
communication platforms that will be getting connected to the sensors on the product hardware to the
cloud and then to the application. The communication part at this stage refers to all the diverse ways
where your device will be exchanging information with the whole world. This will include physical
networks and the type of protocols that you will be using. It is truly said that the communication
mechanisms are connected to the hardware of the device software. Some of the Communication
Protocols are -  Infrastructure (ex: 6LowPAN, IPv4/IPv6, RPL)  Identification (ex: EPC, uCode, IPv6,
URIs)  Comms / Transport (ex: Wifi, Bluetooth, LPWAN)  Discovery (ex: Physical Web, mDNS, DNS-SD)
 Data Protocols (ex: MQTT, CoAP, AMQP, Websocket, Node)  Device Management (ex: TR-069, OMA-
DM)  Semantic (ex: JSON-LD, Web Thing Model)  Multi-layer Frameworks (ex: Alljoyn, IoTivity, Weave,
Homekit) 10.4.4 Cloud Platform The cloud platform is the backbone of your IoT solution. If you are
familiar with managing SaaS offerings, then you are well aware of the role of this layer of the IoT
technology stack. A cloud platform provides the infrastructure that supports the critical areas like data
collection and management, analytics and cloud APIs. 9 IoT Application 10.4.4.1 Data Collection
Development This is an important aspect. Your smart devices will stream information to the Cloud. As
you define the requirements of your solution, you need to have a good idea of the type and amount of
data you will be collecting on a daily, monthly and yearly basis. One of the challenges of IoT applications
is that they can generate an enormous amount of data. You need to make sure you define your
scalability parameters so that your architects can determine the right data management solution from
the very beginning. 10.4.4.2 Analytics It is one of the critical component of IoT solution. Analytics refers
to the ability to find patterns, crunch data, perform forecasts, integrate machine learning and more. It
has the capability to find out the insights from your data that will make your solution valuable. Analytics
can be as simple as data aggregation and display or can be as elaborate as using machine learning or
artificial intelligence. 10.4.4.3 Cloud APIs The Internet of Things is all about connecting devices and
sharing data, which you can achieve by exposing APIs at either the Cloud level or the device level. Cloud
APIs allow your customers and partners to either interact with your devices or to exchange data.
Remember that opening an API is not a technical decision; it’s a business decision. 10.4.5 Cloud
Applications The fifth layer of the IoT technology stack is the Cloud Applications layer. Your end-user
applications are the part of the system that your customers will see and interact with. These applications
will most likely be web-based, and depending on your user needs, you might need separate apps for
desktop, mobile, and even wearables. Even though a smart device has its own display, the user may
likely use a cloud application as their main point of interaction with your solution. This allows them to
have access to your smart devices anytime and anywhere, which is part of the goal of having connected
devices. While designing end-user applications, it is very important to understand who your user is and
what is his/her primary goal of using the product. The other consideration is that for Industrial IoT (IIoT)
applications, you’ll probably have more than one user. Applications can also be divided into customer-
facing versus internal apps. Customer-facing applications usually get the most attention, but in the case
of IoT, internal applications are equally important. These include applications to remotely provision and
troubleshoot devices, monitor the health of your device fleet, report on performance and predictive
maintenance, etc. 10 Application Development, Fog Computing and Case Studies These internal apps
will require a deep understanding of your external and internal customers and will require the right
prioritization and resourcing. In the next section let us study open source platforms and some prototype
tools available for IoT Application Development. 10.5 OPEN SOURCE IoT PLATFORMS For understanding
an open-source IoT platform, we will ponder on the below three points: (i) Each consumer desires to
utilize any IoT device of their preference without being restricted or bound to a specific product vendor.
For example, some smart devices need to be clubbed with only smartphones from the same retailer. (ii)
All business companies of IoT devices desire to integrate their particular devices with ease and diverse
ecosystems. (iii)All application developers desire their apps back multiple IoT devices, which need not
demand to blend the specially developed vendorspecific codes. The open-source framework is a one-
stop solution to the above constraints, and it enables scalability and superior levels of flexibility. Many
open-source IoT frameworks can be downloaded for free and installed quite straightforwardly across
your applications. 10.5.1 Popular Open Source IoT Platforms Following are some of the popular Open
Source IoT platforms: Kaa Kaa IoT Platform is one the most efficient and rich open-source Internet of
Things cloud platforms where anyone has a free way to materialize their smart product concepts. On
this platform, you can manage an unlimited number of connected devices with cross-device
interoperability. You can achieve real-time device monitoring with the possibility of remote device
provisioning and configuration. It is one of the most flexible IoT platforms for your business which is fast,
scalable, and modern. Macchina.io Macchina.io platform provide a web-enabled, modular, and
extensible JavaScript and C++ runtime environment for developing IoT gateway applications. It also
supports a wide variety of sensors and connection technologies including Tinkerforge, bricklets, Xbee,
and many others including accelerometers. This platform is able to develop and deploy device software
11 IoT Application Development for automotive telematics and V2X, building and home automation,
industrial edge computing and IoT gateways, smart sensors, or energy management systems. Zetta Zetta
is a server-oriented platform that has been built around NodeJS, REST, and a flow-based reactive
programming development philosophy linked with the Siren hypermedia APIs. They are connected with
cloud services after being abstracted as REST APIs. People believe that the Node.js platform is best to
develop IoT frameworks. These cloud services include visualization tools and support for machine
analytics tools like Splunk. It creates a zero-distributed network by connecting endpoints such as Linux
and Arduino hacker boards with platforms such as Heroku. Key features are:  Runs everywhere,
including cloud, PCs, or single-board computers.  Can turn any device into an API.  Create geo-
distributed networks by linking PCs, BeagleBones, and Raspberry Pis with cloud platforms, such as
Heroku.  Optimized to stream real-time, data-intensive applications.  Supports almost all device
protocols. DeviceHive It is yet another feature-rich open-source IoT platform that is currently distributed
under the Apache 2.0 license and is free to use and change. It provides Docker and Kubernetes
deployment options and can be downloaded and use with both public and private cloud. It allows you to
run batch analytics and machine learning on top of your device data and more. Various libraries,
including Android and iOS libraries, are supported in DeviceHive. Key features are:  Compatible with
Java, Python, Node.js, iOS, Android, and other libraries.  Usable with public, private, or hybrid cloud
networking.  Connects devices via HTTP, WebSockets, or MQTT.  Offers few deployment options, i.e.,
Docker, Docker Compose, and Kubernetes.  Provides rich support for big data analytics. Distributed
Services Architecture (DSA) DSA is an open-source IoT that unifies the separate devices, services, and
applications in the structured and real-time data model and facilitates decentralized device inter-
communication, logic, and applications. Distributed service links are a community library that allows
protocol translation and data integration to and from 3rd part data sources. All these modules are
lightweight 12 Application Development, Fog Computing and Case Studies making them more flexible in
use. It implements DSA query DSL and has inbuilt hardware integration support. Google Cloud Platform
Developers can code, test and deploy their applications with highly scalable and reliable infrastructure
that is provided by Google and Google itself uses it. Developers have to just pay attention to the code
and Google handles issues regarding infrastructure, computing power and data storage facility. Google is
one of the popular IoT platform because of: Fast global network, Google's BigData tool, Pay as you use
strategy, Support of various available services of cloud like RiptideIO, BigQuery, Firebase, PubSub, Telit
Wireless Solutions, Connecting Arduino and Firebase and Cassandra on Google Cloud Platform and many
more. 10.5.2 Some Tools for Building IoT Prototypes IoT opened many new horizons for companies and
developers working for the development of IoT systems. Many exceptional products have been
developed due to IoT app development. Companies providing Internet of Things solution are creating
hardware and software designs to help the IoT developers to create new and remarkable IoT devices
and applications. Some of the tools to build IoT prototypes and applications are discussed below:
Arduino Arduino is an Italy based IT company that builds interactive objects and microcontroller boards.
It is an open-source prototyping platform that offers both IoT hardware and software. Hardware
specifications can be applied to interactive electronics and software includes Integrated Development
Environment (IDE). It is the most preferable IDEs in all IoT development tools. This platform is easy and
simple to use. Raspbian This IDE is created for Raspberry Pi board. It has more than 35000 packages and
with the help of precompiled software, it allows rapid installation. It was not created by the parent
organization but by the IoT tech enthusiasts. For working with Raspberry Pi, this is the most suitable IDE
available. Eclipse IoT This tool or instrument allows the user to develop, adopt and promote open source
IoT technologies. It is best suited to build IoT devices, Cloud platforms, and gateways. Eclipse supports
various projects related to IoT. These projects include open-source implementations of IoT Protocols,
application frameworks and services, and tools for using Lua programming language which is promoted
as the best-suited programming language for IoT. 13 IoT Application Development Tessel 2 It is used to
build basic IoT prototypes and applications. It helps through its numerous modules and sensors. Using
Tessel 2 board, a developer can avail Ethernet connectivity, Wi-Fi connectivity, two USB ports, a micro
USB port, 32MB of Flash, 64MB of RAM. Additional modules can also be integrated like cameras,
accelerometers, RFID, GPS, etc. Tessel 2 can support Node.JS and can use the libraries of Node.JS. It
contains two processors, its hardware uses 48MHz Atmel SAMD21 and 580. MHz MediaTek MT7620n
coprocessor. One processor can help to run firmware applications at high speed and the other one helps
in the efficient management of power and in exercising good input/output control. Platform IoT- IDE It is
a cross-platform IoT IDE. It comes with the integrated debugger. It is the best for mobile app
development and developers can use a friendly IoT environment for development. A developer can port
the IDE on Atom editor or it can install it as a plugin. It is compatible with more than 400 embedded
boards and has more than 20 development frameworks and platforms. It offers a remarkable interface
and is easy to use. Kinoma It is a Marvell semiconductor hardware prototyping platform. It enables three
different projects. To support these projects two products are available Kinoma Create and Element
Board. Kinoma Create is a hardware kit for prototyping electronic and IoT enabled devices. Kit contains
supporting essentials like Bluetooth Low Energy (BLE), integrated Wi-Fi, speaker, microphone and touch
screen. Element Board is the smallest JavaScript-powered IoT product platform. 10.6 IoT APPLICATION
TESTING STRATEGIES Testing is very important phase after the application development is completed.
The following are the essential types of tests (as shown in Figure 2) recommended for an IoT application.
14 Application Development, Fog Computing and Case Studies Figure 2: IoT Application Testing
Strategies 10.6.1 Performance Testing Performing testing is usually conducted so as to determine how
rapid the functioning of a communication network model is. This testing also looks into the computation
capabilities of the internal part of the software system. This IoT Performance testing framework is
usually done at 3 levels:  The Network and Gateway level, which involves protocols such as HTTP and
MQTT  The System level  The Application level A good example of Performance IoT testing is the
verification of response time against a specific bench-marked time, with specifically defined connectivity
settings. 10.6.2 Security Testing The security testing aspect of the IoT framework deals with security
elements, such as the protection of data, as well as encryption and decryption. It is aimed at providing
added security to connected devices, and also to the networks and cloud services on which the devices
are connected. Some variables that mostly cause security threats in IoT are sensor networks,
applications that work to collect data, and interfaces. Therefore, it is highly recommended that security
testing be done at the device and protocol level, since problems can easily be detected and solved at
this level. An example of security testing is the verification of no unauthorized access to a particular
device. 15 IoT Application 10.6.3 Compatibility Testing Development The main purpose of compatibility
testing is to validate all the possible functional combinations of devices, their hardware, protocol and
software versions, as well as operating systems, such as the mobile OS versions. This compatibility
testing is usually done in two levels:  The Application layer  The Network layer A good example of
compatibility testing is verifying that a particular IoT software supports a given set of devices. 10.6.4
End-User Application Testing The End-user application testing takes into consideration the user
experience, as well as the usability and functionality of the IoT application. An example of this IoT testing
framework is the verification of an IoT application, so as to ensure that it includes all required features,
and in a good working condition as well. 10.6.5 Device Interoperability Testing This type of testing aims
to assess the interoperability of protocols and devices, compared with varying standards and
specifications. In other words, in an IoT framework, the device interoperability testing is conducted so as
to verify the connectivity of all devices and protocols. This testing is usually done in the Service layer.
This is because the service layer provides the most conducive environment for this testing, that is; a
platform that is communicable, programmable and operable. 10.7 SECURITY ISSUES IN IoT The IoT is
diverse from traditional computers and computing devices, makes it more vulnerable to security
challenges in different ways:  Many devices in the Internet of Things are designed for deployment on a
massive scale. An excellent example of this is sensors.  Usually, the deployment of IoT comprises of a
set of alike or nearly identical appliances that bear similar characteristics. This similarity amplifies the
magnitude of any vulnerability in the security that may significantly affect many of them.  Similarly,
many institutions have come up with guides for risk assessment conduction. This step means that the
probable number of links interconnected between the IoT devices is unprecedented. It is 16 Application
Development, Fog Computing and Case Studies also clear that many of these devices can establish
connections and communicate with other devices automatically in an irregular way. These call for
consideration of the accessible tools, techniques, and tactics which are related to the security of IoT.
Even with the issue of security in the sector of information and technology not being new, IoT
implementation has presented unique challenges that need to be addressed. The consumers are
required to trust the Internet of Things devices and the services are very secure from weaknesses,
particularly as this technology continues becoming more passive and incorporated in our everyday lives.
With weakly protected IoT gadgets and services, this is one of the very significant avenues used for
cyber attacks as well as the exposure of the data of users by leaving data streams not protected
adequately. The nature of the interconnection of the IoT devices means if a device is poorly secured and
connected it has the potential of affecting the security and the resilience on the Internet internationally.
This behavior is simply brought about by the challenge of the vast employment of homogenous devices
of IoT. Besides the capability of some devices to be able to mechanically bond with other devices, it
means that the users and the developers of IoT all have an obligation of ensuring that they are not
exposing the other users as well as the Internet itself to potential harm. A shared approach required in
developing an effective and appropriate solution to the challenges is currently witnessed in the IoT.
When it comes to authentication, for instance, IoT faces various vulnerabilities, which remain one of the
most significant issues in the provision of security in many applications. The authentication used is
limited in how it protects only one threat, such as Denial of Service (DoS) or replay attacks. Information
security is one of the significant vulnerable areas in the authentication of IoT due to the prevalence of
applications which are risky due to their natural multiplicity of data collection in the IoT environment. If
we can, for instance, take an example of contactless credit cards. These cards are capable of permitting
card numbers and names to be read without the authentication of IoT; this makes it possible for hackers
to be able to purchase goods by using a bank account number of the cardholder and their identity. One
of the most prevalent attacks in the IoT is the man in the middle, where the third-party hijack
communication channel is aimed at spoofing identities of the palpable nodes which are involved in
network exchange. Man in the middle attack effectively makes the bank server recognize the transaction
being done as a valid event since the adversary does not have to know the identity of the supposed
victim. In this section let us discuss the security issues layer-wise in an IoT Architecture. IoT systems can
be broadly described using a basic three layer architecture namely Perception layer, Gateway layer and
Cloud layer. 17 IoT Application Perception layer: Development The Perception layer is the typical
external physical layer, which includes sensors for sensing and gathering information about the
surrounding environment such as temperature, humidity, pressure etc..Table 1 shown below depicts the
major threats in the Perception layer: Table 1:Threats in the Perception Layer Name of the Threat
Description Denial of Service Attack IoT sensing nodes have limited capacity and capabilities thus
attackers can use Denial of Service attack to stop the service. Eventually servers and the devices will be
unable to provide its service for users. Hardware Jamming Attacker can damage the node by replacing
the parts of the node hardware. Insertion of Forged nodes Attacker can insert a falsified or malicious
node between the actual nodes of the network to get access and get control over the IoT network.
BruteForce Attack As the sensing nodes contains weaker computational power brute force attack can
easily compromise the access control of the devices. Gateway layer: The Gateway layer is responsible for
connecting to network devices, interconnected smart devices and servers. Its features are also used for
transmitting and processing sensor data. Table 2 shown below depicts the major threats in the Gateway
layer: Table 2: Threats in the Gateway Layer Name of the Threat Description Denial of Service Attack As
this layer provide network connectivity by following a DOS attack, servers or devices are unable to
provide the services to the user. Session Hijacking attacks Attackers can hijack the session and obtain the
access to the network through this kind of attack. Man in the middle (MIM) attacks Attacker can
intersect the communication channel between two sensing nodes and easily obtain classified
information if there is no proper encryption mechanism in place. Cloud layer: The IoT Cloud Layer
represents the back- end services required to set up, manage, operate, and extract business value from
an IoT system. It will deliver the application specific services to the user so they can operate and monitor
the devices. Following are the threats in the Cloud Layer. Table 3 shown below depicts the major threats
in the Cloud layer: 18 Application Development, Fog Computing and Case Studies Table 3: Threats in the
Cloud Layer 10.7.1 Counter Measures Basic IoT system requires following to be fulfilled in order to
become a secure system.  Authentication  Authorization  Confidentiality  Integrity  Non
Repudiation Authentication verifies the identity of the users or a device in an IoT system. Authorization
checks for what are the privileges possess by the authorized entity to execute on the system. In terms of
confidentiality and the data integrity it will make sure that the data is encrypted so no one can tamper
even in the storage or during the transmission. Non repudiation assures that authenticity of the origin
source of data and integrity of data. Exploiting an IoT system deals with compromising any of the
aforementioned security attributes which we need to take actions before compromising. The Open Web
Application Security Project(OWASP), has released latest vulnerabilities that will target the IoT devices
and following are the current ranked list of the top issues and things to avoid:  Weak, guessable, or
hardcoded passwords  Insecure network services  Insecure ecosystem interfaces  Lack of secure
update mechanism  Use of insecure or outdated components  Insufficient privacy protection 
Insecure data transfer and storage  Lack of device management  Insecure default settings  Lack of
physical hardening Name of the Threat Description Data security in cloud computing All the Data that is
collected will be processed and stored on the cloud, Cloud service provider will be hold the
responsibility of protecting this data. Application layer attacks Most applications are hosted on the cloud
as a Software as a Service and delivered through web services, so the attacker can easily manipulate the
application layer protocols and get access to the IoT network. An attack on Virtual Machines Security of
cloud virtual machines is very important and any security breach can cause the failure of entire IoT
environment. 19 IoT Application Following table 4 will depict what we can do to improve the security in
Development terms of authentication, authorization, confidentiality, data integrity and non-repudiation
security attributes. Table 4: Countermeasures to Improve the Security Security attribute Action
Description Authentication Use security credentials Use identity and access management methods
Identification of users and devices need to be done and need to configure strong security credentials for
the devices by removing the default credentials. Authorization Confidentiality Use appropriate
encryption mechanism as Devices may contain less computational power Data must be encrypted so
only authorized users can access the data. Data integrity Use Hashing techniques Non tampering of data
can be assured by various hashing techniques Non repudiation Using Digital signatures Origin source of
the data can be assured by using digital signatures.  Check Your Progress 1 1) Compare and contrast
various IoT platforms discussed in this unit with reference to the parameters like services availability and
device management platform. …………………………………………………………………………………
…………………………………………………………………………………
………………………………………………………………………………… 2) What are the various factors and concerns those
might have an impact on compromising the efforts to secure the IoT devices?
…………………………………………………………………………………
………………………………………………………………………………… 3) Explore and write various current innovative
techniques to mitigate the security attacks. …………………………………………………………………………………
………………………………………………………………………………… 20 Application Development, Fog Computing and
Case Studies 10.8 SUMMARY In this unit we have studied essential requirements for IoT Application
development, challenges of IoT Application development, IoT Application Development Frameworks,
Open Source platforms for developing IoT applications, Tools for designing and developing IoT
application prototypes, IoT application testing strategies and the security issues in IoT systems. 10.9
SOLUTIONS / ANSWERS Check Your Progress 1 1. Comparison of various IoT platforms (Open-source) are
summarized below in table 5: Table 5: Comparison between various open source IoT Platforms IoT
Platform Services Device Management Platformform KAA IoT Supports Various Hardware Types, Device
Management, Reliably Collect Data, Configuration Management, Support Various Integrations,
Command Execution, Connect Devices directly or via Gateways Yes MACCHINA.io Secure Web Access To
IoT Devices From Anywhere, Remote Control Of IoT Devices With Apps and Voice Assistants, Secure
Remote Management via Shell and Desktop (VNC & RDP). Yes ZETTA Run Everywhere, API Every Thing,
Support almost all Device Protocols. No DeviceHive Provide End-to-End Solutions, Consulting and
Commercial Support, Device Enablement, etc. No DSA (Distributed Services Architecture) Provides an
open-source Apache 2.0 licensed implementation of a DSBroker written in Dart. No 2. Given below are
various factors and concerns those might impact on compromising the efforts to secure the IoT devices:
Occasional update: usually, IoT manufacturers update security patches quarterly. The OS versions and
security patches are also upgraded similarly. Therefore, hackers get sufficient time to crack the security
protocols and steal sensitive data. Embedded passwords: IoT devices store embedded passwords, which
helps the support technicians to troubleshoot OS problems or install 21 IoT Application necessary
updates remotely. However, hackers could utilize the feature Development for penetrating device
security. Automation: often, enterprises and end-users utilize the automation property of IoT systems
for gathering data or simplifying business activities. However, if the malicious sites are not specified,
integrated AI can access such sources, which will allow threats to enter into the system. Remote access:
IoT devices utilize various network protocols for remote access like Wi-Fi, ZigBee, and Z-Wave. Usually,
specific restrictions are not mentioned, which can be used to prevent cybercriminals. Therefore, hackers
could quickly establish a malicious connection through these remote access protocols. Wide variety of
third-party applications: several software applications are available on the Internet, which can be used
by organizations to perform specific operations. However, the authenticity of these applications could
not be identified easily. If end-users and employees install or access such applications, the threat agents
will automatically enter into the system and corrupt the embedded database. Improper device
authentication: most of the IoT applications do not use authentication services to restrict or limit
network threats. Thereby, attackers enter through the door and threaten privacy. Weak Device
monitoring: usually, all the IoT manufacturers configure unique device identifiers to monitor and track
devices. However, some manufacturers do not maintain security policy. Therefore, tracking suspicious
online activities become quite tricky. 3. Some of the current innovative techniques to mitigate the
security attacks are: Deploying encryption techniques: Enforcing strong and updated encryption
techniques can increase cybersecurity. The encryption protocol implemented in both the cloud and
device environments. Thus, hackers could not understand the unreadable protected data formats and
misuse it. Constant research regarding emerging threats: The security risks are assessed regularly.
Organizations and device manufacturers developed various teams for security research. Such teams
analyze the impact of IoT threats and develop accurate control measures through continuous testing
and evaluation. Increase the updates frequency: The device manufacturers should develop small
patches rather than substantial updates. Such a strategy can reduce the complexity of patch installation.
Besides, frequent 22 Application Development, Fog Computing and Case Studies updates will help the
users to avert cyber threats resources from diverse sources. Deploy robust device monitoring tools:
Most of the recent research proposed to implement robust device monitoring techniques so those
suspicious activities can be tracked and controlled easily. Many IT organizations introduced professional
device monitoring tools to detect threats. Such tools are quite useful for risk assessment, which assists
the organizations in developing sophisticated control mechanisms. Develop documented user guidelines
to increase security awareness: Most of the data breaches and IoT attacks happen due to a lack of user
awareness. Usually, IoT security mIOT SYSTEM DESIGN IOT TECHNOLOGY & IOT SMART OBJECTS
HARWARE AND SOFTWARE 07-02-2021 T.DEEPA / ECE 1 Dr. T. DEEPA , Associate Professor, Department
of Electronics and Communication Engineering, SRM Institute of Science and Technology (SRM IST),
Kattankulathur- 603203 . Chengalpattu District, Tamil Nadu.
https://www.srmist.edu.in/engineering/ece/faculty/dr-tdeepa Topics : • Sensors , Actuators And Smart
Objects • Smart Objects-hardware and software 07-02-2021 T.DEEPA / ECE 2 Outline • What is IoT ? •
Introduction to IoT • IoT – Definitions, Why IoT ? • Spectrum usage of IoT , IoT Applications • IoT
Enablers • IoT Layers • Connectivity Layers • IoT Vs M2M • IoT Reference Model • Sensors , Actuators •
IoT System Design Challenges • Introduction to Smart Objects and functionalities • Smart Objects –
Hardware and Software • IoT Devices and Technologies 07 -02 -2021 T.DEEPA / ECE 3 IoT- Definitions 4
 A network connecting (either wired or wireless) devices, or ‘things’, that is characterized by
autonomous provisioning, management, and monitoring. The IoT is innately analytical and integrated .
 IoT is the next evolution of the Internet, connecting the unconnected people, processes, data, and
things in your business today.  IoT devices as those capable of two-way data transmission (excluding
passive sensors and RFID tags). It includes connections using multiple communication methods such as
cellular, short range and others.  Sensors & actuators connected by networks to computing systems.
These systems can monitor or manage the health and actions of connected objects and machines.
Connected sensors can also monitor the natural world, people, and animal” 07-02-2021 T.DEEPA / ECE 7
Introduction to IoT “An IoT system is a network of networks where, typically, a massive number of
objects, things, sensors or devices are connected through communications and information
infrastructure to provide value-added services via intelligent data processing and management for
different applications (e.g. smart cities, smart health, smart grid, smart home, smart transportation, and
smart shopping).” 07-02-2021 T.DEEPA / ECE 5 Internet of Things - ITU Definition • Physical things • Exist
in the physical world and are capable of being sensed, actuated and connected. • Examples: industrial
robots, goods and electrical equipment. • Virtual things • Exist in the information world and are capable
of being stored, processed and accessed. • Examples: Multimedia content, application software. Source:
Recommendation ITU-T Y.2060 07-02-2021 T.DEEPA / ECE 6  IoT communications are or should be: 
Low cost, Low power,  Long battery duration,  High number of connections,  Different bitrate
requirement,  Long range,  Low processing capacity,  Low storage capacity,  Small size devices, 
Simple network architecture and protocols Characteristics -IoT 07-02-2021 T.DEEPA / ECE 7 Why IoT? 8
 Open platforms  Designed to make building and deploying applications easier, faster, secure and
more accessible for everyone.  Allows  To create the low-power, wide-area sensor and/or actuator
network (WASN) systems for Machine Type Communications (MTC), Smart cities and Ubiquitous Sensor
Networks (USN) applications.  Contributes  To socio economic development such as in Agriculture,
health sector and many more.  Efficient Management  Manage utilities efficiently such as smart
power, water grids, and transport management 07-02-2021 T.DEEPA / ECE IoT Technology 9 • Wireless
Technologies • Diversity of IoT application requirements: • Varying bandwidth requirements (how much
information is sent) • Long-range vs short-range • Long battery life • Various QoS requirements 07-02-
2021 T.DEEPA / ECE IoT Connectivity Options 10 Source: https://www.embedded.com/sustaining-iot-
growth/ 07-02-2021 T.DEEPA / ECE IoT: General Architecture 07-02-2021 T.DEEPA / ECE 11 Source:
https://medium.com/datadriveninvestor/4-stages-of-iot-architecture-explainedin-simple-words-
b2ea8b4f777f IoT Technical Solutions Study in ITU under WRC-19 agenda item 9.1, issue 9.1.8 (Machine
Type Communication - MTC) Studies on the technical and operational aspects of radio networks and
systems, as well as spectrum needed, including possible harmonized use of spectrum to support the
implementation of narrowband and broadband machine-type communication infrastructures Cellular
M2M 802.11ah Weightless-N WAVIoT Non- cellular M2M NB-IoT LoRA Weightless-P Weightless-W
802.11p Ingenu NFC BLE eMTC Bluetooth LTE V2X RFID Z-WAVE ZigBee WIFI Sig-fox 07-02-2021 T.DEEPA
/ ECE 12 Spectrum Needs of IoT 13  What are the spectrum needs of IoT?  Determined by each
application’s throughput requirements, but also latency • For a given spectral efficiency (b/s/Hz), the
lower the latency requirements the larger the bandwidth needed to send a given amount of data 
While many IoT applications might not need high speed connections and/or have very stringent latency
requirements, some do (e.g. remote surgery)  In what frequency bands?  Determined by each IoT
application’s range and coverage requirements, but also bandwidth needs of the applications  Range
and coverage requirements also depend on deployment scenarios • Point-to-point, mesh, broadcast,
multi-cast, etc. 07-02-2021 T.DEEPA / ECE Spectrum Licensing for IoT Spectrum for MTC/IoT applications
Unlicensed spectrum Licensed spectrum • Low cost /no license fees Regulatory limits (EIRP restrictions)
• Non-guaranteedQoS • Better Inference management • Network Security • Reliability • All devices can
have access to spectrum, subject to compliance with technical conditions as specified in regulations
Mobile operator Network Reuse cellular infrastructure and device eco-system for M2M/ IoT apps
Dedicated Network Private network customized for specific M2M/IoT apps. • Short range and delay-
tolerant applications are typical use cases Example: In China New bands for M2M: • 5 905 -5 925 MHz
for LTE-V2X trials • 2 x 2.3 MHz in 800MHz can be used for NB-IoT • IMT spectrum can be used for
supporting NB-IoT, eMTC and LTE-V2N (eNB-to–vehicle) • MBB spectrum can also be used for M2M/IoT
07-02-2021 T.DEEPA / ECE 14 Spectrum Needs of IoT 16 M2M Radiocommunication Technologies
Frequency range • Sub-1 GHz band are most suitable for efficient provision of wide area coverage;
Authorization • Sharing spectrum with unlicensed authorization to achieve low cost and low power
requirements • Licensed (exclusive) spectrum is more suitable for wide area coverage and/or higher
reliability requirements for delay sensitive applications Technology Spectrum band NB-IoT MBB bands
eMTC MBB bands Sigfox 868MHz LTE-V2X MBB bands (Uu) 5.8,5.9GHz (PC5) Bluetooth 2.4GHz ZigBee
868/2450MHz RFID 13.56/27.12/433/ 860MHz ... NFC 13.56MHz Z-WAVE 868 MHz Ingenu 2.4GHz 07-
02-2021 T.DEEPA / ECE IoT Applications 17 Source: GSMA Intelligence - IoT: the next wave of
connectivity and services 07-02-2021 T.DEEPA / ECE Other Applications : • Forest fire detection • Air
pollution monitoring • Snow level monitoring • Landslide monitoring and avalanche prevention 07-02-
2021 T.DEEPA / ECE 18 19 19 “Thing” connected to the internet- To build IoT Source: CISCO 07-02-2021
T.DEEPA / ECE IoT Enablers  Fixed & Short Range  RFID  Bluetooth  Zigbee  WiFi  Cellular
Connectiviity  ..  Long Range technologies  Non 3GPP Standards (LPWAN)  3GPP Standards 
LoRa  .. 07 -02 -2021 T.DEEPA / ECE 20 Other Enabling Technologies • Deep Learning • Artificial
Intelligence • Sensor Networks • Wired/Wireless Networks 07-02-2021 T.DEEPA / ECE 21 IoT Layers : 07-
02-2021 22 Source: https://blog.microtronics.com/en/5-value-creation-layers-for-iot-applications/
T.DEEPA / ECE IoT Layers (Cont’d) • Layer 1: Physical Thing On this layer the first tangible benefit is
revealed to the user. In the current example, this is limited to connecting another device such as a fan
heater to the connector plug. • Layer 2: Sensors & Actuators On layer 2, the physical thing is enhanced
with a microprocessor, sensors and actuators, allowing local data to be captured and local actions to be
performed. The benefit for the user can thus be significantly increased in relation to layer 1, but is still
limited to the immediate environment. • Layer 3 – Connectivity This level gives the lower levels access
to the Internet. This enables global access to the sensors and actors. The GSM modem built into the
“smart” connector plug from the current example allows authorized users worldwide access to the data
at negligible marginal costs. 07-02-2021 T.DEEPA / ECE 23 • Typically there are three layers of
connectivity: • service layer -For service level using different communication technologies , different
services can be offered to different application areas such as health care agriculture , businesses
factories plants banks and so on. • local connectivity - For local connectivity we have components such
as the gateway • and global connectivity – For global connectivity we have the internet • In the example
of the “smart” connector plug this means following for layer 4. If several “smart” connectors are used in
a holiday home, the switch-on and switchoff times of the various fan heaters are stored. 07-02-2021 24
IoT Layers (Cont’d) T.DEEPA / ECE IoT Layers (Cont’d) • Layer 4 – Analytics From layer 4 upwards the
sensor data are collected, stored, checked for plausibility, classified and linked with data from other
online services and the values for the actuators can be calculated. This is typically done in the cloud.
Layer 5 – Digital Service • On this layer, digital services are created that can be provided globally in the
form of a smartphone application or a web service. 07-02-2021 T.DEEPA / ECE 25 I n t e g r a t e d A p p l
i c a t i o n s I n fo r m a t i o n P r o c ess i n g Net w o rk I n fr a s t ru c t u r e S e n s i n g a n d I d e n t i fi
cat i o n IoT: 4 layer Model 07 -02 -2021 T.DEEPA / ECE 26 IoT Layers: Hardware Platform 27 The Internet
Network “Thing” Sensors & Actuators Communications User/Environment Servers 2 sensors IEEE
802.15.4 2.4GHz RF System XM1000 Device level Network level The Internet Gateway 07-02-2021
T.DEEPA / ECE IoT reference model Source: Recommendation ITU-T Y.2060 A multi-tier SSC (smart
sustainable city) ICT architecture from communication view Source: ITU-T Focus Group on Smart
Sustainable Cities: Overview of smart sustainable cities infrastructure In IoT solutions supporting FC part
of the application processing is executed directly at IoT objects and only when needed. More complex
and resourceconsuming tasks are transferred to higher level units (FC units) or directly to the cloud. 07-
02-2021 T.DEEPA / ECE 28 IoT: Refernce Model 07-02-2021 T.DEEPA / ECE 29 IoT versus M2M 07-02-
2021 T.DEEPA / ECE 30 • Sensors: • They are mainly input components • They sense and collect
surrounding information • Basically three types: • Passive, omnidirectional (e.g. mic) • Passive, narrow-
beam sensor (e.g. PIR) • Active sensors (e.g. sonar, radar, etc.) • Actuators: • They are mainly output
components • They alter the surrounding. Some examples: • Adding lighting, heat, sound, etc. •
Controlling motors to move objects • Displaying messages • and others… Sensors & Actuators 07-02-
2021 T.DEEPA / ECE 31 32 Sensors in IoT Sensor devices are becoming widely available - Programmable
devices - Off-the-shelf gadgets/tools 07-02-2021 T.DEEPA / ECE Sensor types in IoT • Mostly used sensor
types in IoT are: • Smoke sensor • Temperature sensors • Pressure sensor • Motion detection sensors •
Gas sensor • Proximity sensor • IR sensors 07-02-2021 T.DEEPA / ECE 33 Sensors in Phone 07-02-2021
34 More than a billions of smart phones are sold each year and each one has well over a dozen sensors
inside it. And that number continuous to grow each year. T.DEEPA / ECE 35 More “Things” are being
connected Home/daily-life devices Business and Public infrastructure Health-care … 07-02-2021 T.DEEPA
/ ECE 36 People Connecting to Things Motion sensor Motion sensor Motion sensor ECG sensor Internet
07-02-2021 T.DEEPA / ECE Challenges of Internet of Things (IoT) • Insufficient testing and updating •
Concern regarding data security and privacy • Software complexity • Data volumes and interpretation •
Integration with AI and automation • Devices require a constant power supply which is difficult •
Interaction and short-range communication 07-02-2021 T.DEEPA / ECE 38 How things are internet
worked- Protocol Stack 39 Network (IP) IEEE 802.15.4 PHY/MAC TCP/UDP Application Network (IP) IEEE
802.15.4 PHY/MAC TCP/UDP Application IEEE 802.15.4 PHY/MAC Network (IP) IEEE 802.3 (Ethernet)
Network (IP) IEEE 802.3 (Ethernet) TCP/UDP Application Wireless Medium The Internet Thing Thing
Gateway Server 07-02-2021 T.DEEPA / ECE • The Internet serves as a wide area networking for a local
network. • The Internet uses TCP/IP. This implies that things must also support TCP/IP. • Gateway (or
sink) • For a practical deployment, a gateway is often needed in a network. • It offers relaying packets
between the network and the Internet. The Internet 40 The Internet Gateway Data link Network 07-02-
2021 T.DEEPA / ECE What are Smart Objects ? • Smart Objects (also known as Intelligent Objects) are
objects that are equipped with positioning and communication technologies and are integrated into a
communication network, the so called Internet of Things (IoT). • These intelligent objects can enter,
store and process data and interact with other objects, systems or people. • They can be embedded or
fixed in other objects and capture data about position and sensors, as well as execute decision and
control functions. 07-02-2021 T.DEEPA / ECE 41 Functionalities of Smart Objects • Smart Objects in the
IoT fill the gap between the real and the digital world and offer new functionalities: • Real-time Data
Acquisition within the Operational Processes • Decentralized Information Processing and Decision
Making • Independent execution of complete processes 07-02-2021 T.DEEPA / ECE 42 Functionalities of
Smart Objects(Cont’d) • These functionalities create significant added value for both companies and
people: • Work Support: Supporting people by intuitive, easy-to-use devices and novel cyber-physical
services • Digital data processing: gaining additional information about processes at shorter intervals •
High Resolution Management: Support for planning, management and controlling through automated
data collection 07-02-2021 T.DEEPA / ECE 43 Examples- Smart Objects • In a day to day life, people have
a lot of object with internet or wireless or wired connection. Such as: Smartphone Tablets TV
computer • These objects can be interconnected among them and facilitate our daily life (smart home,
smart cities) no matter the situation, localization, accessibility to a sensor, size, scenario or the risk of
danger. • Smart objects are utilized widely to transform the physical environment around us to a digital
world using the Internet of things (IoT) technologies. 07-02-2021 T.DEEPA / ECE 44 IoT Devices and
Technologies 07-02-2021 45 Source:https://www.javatpoint.com/iot-devices T.DEEPA / ECE Properties
of IoT Devices • Sense: The devices that sense its surrounding environment in the form of temperature,
movement, and appearance of things, etc. • Send and receive data: IoT devices are able to send and
receive the data over the network connection. • Analyze: The devices can able to analyze the data that
received from the other device over the internet networks. • Controlled: IoT devices may control from
some endpoint also. Otherwise, the IoT devices are themselves communicate with each other endlessly
leads to the system failure. 07-02-2021 T.DEEPA / ECE 46 Hardware architecture of smart objects 07-02-
2021 T.DEEPA / ECE 47 Hardware of Smart Objects • Smart objects contain a piece of hardware, which is
a set of electrical circuits. The hardware consists of four main components, as shown in Figure •
Communication device: This gives the smart object its communication capabilities. It is typically either a
radio transceiver with an antenna or a wired connection. • Microcontroller: This gives the smart object
its behavior. It is a small microprocessor that runs the software of the smart object. • Set of sensors or
actuators: These give the smart object a way to interact with the physical world. • Power source: This is
needed because the smart object contains electrical circuits. 07-02-2021 T.DEEPA / ECE 48 Smart object
hardware A MicaZ prototype board with a microcontroller, power source, communication device, and
sensor connectors 07-02-2021 T.DEEPA / ECE 49 Communication Device • The communication device
gives the smart object its communication capabilities. • For wireless smart objects, the communication
device typically is a radio transceiver. • For a wired smart object, the communication device connects to
a wired network connection such as Ethernet or Powerline communication (PLC). • Different types of
radio transceivers have different amounts of built-in processing capabilities. • The simplest radio
transceivers only send and receive individual bits of information into the air, whereas more capable
transceivers package the information into packets, form headers, and even encrypt and decrypt the data
using secure encryption methods. • Of the hardware components of a smart object, the radio is usually
the most power-consuming component. Compared to the power consumption of the microcontroller or
the sensors, the radio transceiver often uses ten times as much power. This is due to the processing
required for modulating and demodulating the radio signal. For low-power radios, only a small portion
of the power consumption 07-is02-2021 used to send the radio signal into theT.DEEPA / ECE air. 51
Example - Communication Device Texas Instruments CC2430 single-chip radio transceiver with
integrated 8051 microcontroller and on-board antenna manufactured by Radiocrafts. The size of the
board is 1.2 3 1.0 cm2 . 07-02-2021 T.DEEPA / ECE 52 Microcontroller • The microcontroller gives smart
objects their intelligence. • It runs the software of the smart object and is also responsible for
connecting the radio with the sensors and actuators. • A microcontroller is a microprocessor with built-
in memory, timers, and hardware for connecting external devices such as sensors, actuators, and radio
transceivers. • The microcontroller looks like a traditional microchip with a plastic casing and connectors
of metal 07-02-2021 T.DEEPA / ECE 53 Microcontroller • Microcontrollers are widely used and are the
most common type of microprocessor. • Of the total number of microprocessors sold in 2002, over 90%
had significantly smaller memory sizes than a modern PC. • Over 50% of all microprocessors were 8-bit
processors, which typically can handle a maximum of 65536 bytes of memory • An Atmel ATTINY 2313
smart object microcontroller with 20 pins. The ATTINY 2313 has 2 kB of ROM and 128 bytes of RAM. This
represents the low end of smart object microcontrollers. 07-02-2021 T.DEEPA / ECE 54 Microcontroller
07-02-2021 T.DEEPA / ECE 55 Sensors and Actuators • Smart objects interact with the physical
environment in which they are deployed by using sensors and actuators. • Sensors are used to sense the
environment and actuators are used to affect or change the environment. • The sensors and actuators
attached to a smart object range from very simple to very complex. • A smart object that measures the
temperature needs only a simple temperature sensor. Conversely, a smart object used for surveillance
or detection of people crossing a fence may need a set of sensors that include an ultrasonic range device
or a camera. 07-02-2021 T.DEEPA / ECE 56 Sensors and Actuators • Many sensors are simple, in both
form and function. For example, most temperature sensors are a variable resistor where the resistance
varies with the surrounding temperature. • By applying a current over the temperature resistor, and by
measuring the resulting voltage, the temperature can be measured. More precise temperature sensors
use similar, but more complex, ways of determining the temperature. 07-02-2021 T.DEEPA / ECE 57
Power Sources • A smart object is driven by electronics, and electronics need power. Therefore, every
smart object needs a power source. • Today, the most common power source is a battery, but there are
several other possibilities for power, such as solar cells, piezoelectricity, radiotransmitted energy, and
other forms of power scavenging. • Smart objects located close to a power grid can also use power that
is readily available. These are, however, the exception and not the norm. • Batteries are the most
common power source for today’s smart objects. They come in many forms and shapes. • For smart
objects, size typically is an issue, which limits both the amount of energy that can be stored in the
battery, as well as the options for battery types. Lithium cell batteries are cur-rently the most common. •
With low-power hardware and proper energy-management software, a smart object can have a lifetime
of years on standard lithium cell batteries. 07-02-2021 T.DEEPA / ECE 58 Power Sources • Instead of
using rechargeable batteries, battery-equipped smart objects are typically designed so a single battery
should last the entire lifetime of the smart object. • By using low-power electronics and power-saving
software, a smart object can have a lifetime of many years on a single standard AA-size battery. • When
the battery is depleted, the smart object is simply replaced with another, newer, version of the system.
In many cases, the expected lifetime of the battery may be longer than the expected lifetime of the
system in which the smart object is used. • But batteries are not without problems. They are difficult to
recycle and therefore are a burden to the environment. • For large smart object systems, replacing
depleted nodes may incur large costs. Batteries may fail prematurely due to unexpected conditions such
as moisture or battery leakage. Due to these challenges, other power sources for smart objects are
being explored. 07-02-2021 T.DEEPA / ECE 59 Power scavenging Techniques • Power scavenging is a
technique that harvests power from the physical environment. • Solar cells represent the most common
form of power scavenging. They harvest their power from the ambient and direct light that hits the
smart object. • Piezoelectricity is another source for power scavenging. For this source, physical
movement is converted into energy used to power the smart object. • For example, EnOcean’s smart
light switches are completely driven by the energy harvested from the act of pressing the light switch.
07-02-2021 T.DEEPA / ECE 60 Power Source- Energy • The energy in radio waves can also be used as a
power source. • A well-known example of this are Radio Frequency Identification (RFID) tags that use
radio energy to power a radio transceiver for a short while. • The energy is emitted by an RFID reader
device, which must be powered by an external power source. The reader transmits a directed radio
beam with enough power to allow RFID tags to reflect the radio signal. • The RFID-style radio power
technology can also be used to provide power to smart objects. The Intel WISP mote is a smart object
platform that uses power from a nearby RFID reader to run a set of sensors, a microcontroller, and a
radio transceiver. 07-02-2021 T.DEEPA / ECE 61 Power Sources The Power Cast RF-powered modules, as
shown in Figure 11.5, are single-chip modules that provide electrical power harvested from radio signals.
The module requires an external antenna that picks up the radio signals. A transmitter module transmits
the radio signals that power the module. 07-02-2021 T.DEEPA / ECE 62 SOFTWARE FOR SMART OBJECTS
• The behavior of a smart object is defined by the software running on the microcontroller inside the
smart object. • The software inside the smart object is usually written similar to software for general
purpose computers. The programs are written in a programming language, such as C, and compiled with
a compiler to machine code for the microcontroller. • The machine code is written to the ROM of the
microcontroller when the smart object is manufactured. • When the smart object is switched on, the
microcontroller runs the software. 07-02-2021 T.DEEPA / ECE 63 Smart Objects - Limitations : • Memory
Constraint: • Because of power and cost constraints, smart objects have significantly less memory than
general purpose computers. • Memory size of a few kilobytes is common, compared to the many
millions of kilobytes (gigabytes) of memory in today’s PCs. • The memory constraints of smart objects
make programming them a challenge. • The memory footprint of the software must be small enough to
run within the given limitations and the software must not use too much dynamic memory 07-02-2021
T.DEEPA / ECE 64 SOFTWARE FOR SMART OBJECTS • How they deal with the challenges of smart object
programming : • Three programming models of smart objects: • multi-threading • event-driven
programming, and • protothreads. • How the software manages the limited memory in smart object
microcontrollers? • The smart object software must implement the communication protocols used by
the smart objects. • Because these protocols are designed in a layered style, where each layer is stacked
on top of each other, communication protocols are typically known as a stack. • The software that
implements the protocol is also called a stack. 07-02-2021 T.DEEPA / ECE 65 Software development for a
smart object 07-02-2021 T.DEEPA / ECE 66 Operating Systems for Smart Objects • Three Operating
Systems for Smart Objects : • Contiki Operating System • TinyOS and • FreeRTOS • The Contiki operating
system is an open source operating system for networked embedded systems in general, and smart
objects in particular. • The first version of Contiki was released in 2003. • Contiki provides mechanisms
that assist the programmer when developing software for smart object applications as well as
communication mechanisms that allow smart objects to communicate with each other and the
surrounding world. • Contiki has a file system called Coffee that allows programs to use flash ROMs as a
traditional file store • Contiki was the first operating system for smart objects that provided IP
communication with the uIP TCP/IP stack 07-02-2021 T.DEEPA / ECE 67 Tiny OS Operating System • Like
Contiki, TinyOS is an open source operating system for smart objects and sensor networks. • It was
originally created at the University of California, Berkeley .but is currently being worked on by a team
from Stanford University . • The initial versions of TinyOS were released in 2000. It is primarily used for
research into wireless sensor networks and has a large user base from academia. • TinyOS focuses on
networking and communication mechanisms for wireless sensor networks. • TinyOS is implemented in a
TinyOS-specific programming language called nesC . This language allows programs to be statically
analyzed so certain types of race-condition bugs can be found at compile time. Recent work has also
added the ability to detect bugs relating to memory safety at compile time. • Programs in TinyOS are
written to resemble the way hardware is designed. This was originally intended to allow systems to be
dynamically partitioned between software and hardware. • Programs are event-driven and consist of
callback functions invoked in response to events, both external and internal. • TinyOS has been ported
to a wide range of systems and prototyping boards. 07-02-2021 T.DEEPA / ECE 68 FreeRTOS Operating
System • FreeRTOS is a small, open source operating system designed for embedded systems. • Unlike
Contiki and TinyOS, FreeRTOS provides real-time guarantees to applications. This means that
applications running on top of FreeRTOS can schedule exactly when they want events in the system to
occur. • For instance, in control applications where timing is of the essence. For example, an application
that controls a robotic arm must be able to specify exactly when to turn the robot motor on and off or
else the arm movements will be incorrect. • FreeRTOS uses a preemptive, multi-threaded programming
model. • FreeRTOS provides TCP/IP support through both the uIP and the lwIP stacks. • The system
designer chooses which stack to use depending on the application requirements and system constraints.
For an application with high throughput demands, lwIP is chosen. • For an application with less strong
demands on throughput but with strong demands on memory size, uIP is chosen. • FreeRTOS has been
ported to over 50 different microcontrollers and microprocessors, including the Texas Instruments
MSP430 and the Atmel AVR. 07-02-2021 T.DEEPA / ECE 69 Embedded Operating Systems 07-02-2021 70
Source: https://www.postscapes.com/internet-of-thingssoftware-guide/#protocols T.DEEPA / ECE 07-
02-2021 71 Source: https://www.postscapes.com/internet-of-things-softwareguide/#protocols
Embedded Operating Systems T.DEEPA / ECE Multi-threaded Versus Event-driven Programming • Multi-
threading is a programming technique that allows multiple programs to run at the same time on a single
processor. • In multi-threaded programming, each program is given its own thread of control that runs
alongside all other threads in the system. Each thread is given time to run on the microprocessor. • To
allow multiple programs to run at the same time, the operating system switches the threads so they
each get their fair share of the microprocessor. • Multi-threaded programming is widely used in general
purpose operating systems, where the threads are protected from each other so that one thread cannot
reach another thread without going through well-specified interfaces. When threads are protected from
each other, they are often called processes instead of threads. 07-02-2021 T.DEEPA / ECE 72 Multi-
threaded Versus Event-driven Programming • For smart objects, the problem with multi-threading is
that each thread requires its own piece of memory to hold the state of the thread, the so-called stack of
the thread. • The stacks contain local variables the thread uses and return values for the functions the
thread calls, but also contains a comparatively large amount of unused memory. • This memory must be
allocated because it is unknown in advance how much stack memory each thread needs. Therefore the
stack memory is typically overprovisioned. • Because of memory requirements, smart objects are often
programmed differently. Event-driven programming is a memory-efficient way to write software for
smart objects. 07-02-2021 T.DEEPA / ECE 73 Multi-threaded Versus Event-driven Programming • With
this type of programming, the software is expressed as event handlers: short sections of code that
describe how the system responds to events. • Examples of such events are an incoming radio packet
from a neighboring node, a sensor reading from one of the sensors, and a timer. When the event occurs,
the smart object responds by executing a part of its software. • Event-driven programming requires less
memory than multi-threaded programming because there are no threads that require stack memory.
The entire system can run as a single thread, which requires only one single stack. • The event-driven
programming style is also a natural match for the event-driven nature of many smart objects. Because
the object typically interacts with an event-driven environment, the program-ming model captures the
observable behavior of the system. 07-02-2021 T.DEEPA / ECE 74 Protothreads • Protothreads are one
way to combine the advantages of the event-driven and the multi-threaded programming models. •
Protothreads are a programming mechanism developed for memory-constrained systems that combine
the event-driven and multi-threaded programming models in a memory-efficient way. • With
protothreads, programs are sequentially structured, just like in the multithreaded model, but use little
memory similar to the event-driven model. • Protothreads can be efficiently implemented in the C
programming language without any assembly language or changes to the compiler. The drawback is that
programmers must explicitly store variables when protothreads block. • Because protothreads are
implemented in C, they are very portable across different platforms. This has made them useful in other
contexts as well. 07-02-2021 T.DEEPA / ECE 75 Multi-threaded programming and event-driven
programming Example : A program implemented with the multi-threaded programming model and the
event-driven programming model. 07-02-2021 T.DEEPA / ECE 76 Protothread-based programming
Example Same program implemented with protothreads. The difference between the models is not only
how the code is structured, but also the length of the code. Although the event-driven code has more
lines of code, it is more memory-efficient than the multi-threaded model. 07-02-2021 T.DEEPA / ECE 77
Comparison Between Multi-threading, Event-driven Programming, and Protothreads 07-02-2021
T.DEEPA / ECE 78 References • https://www.postscapes.com/internet-of-things-protocols/#graphics •
https://www.postscapes.com/internet-of-things-software-guide/ • Hanes David, Salgueiro Gonzalo,
Grossetete Patrick, “IoT fundamentals: Networking technologies, protocols and use cases for the
Internet of Things”, Cisco, Pearson India, 2015. • Jean-Philippe Vasseur, Adam Dunkels, “Interconnecting
Smart Objects with IP, The next Internet”, Morgan Kofmann, 2010. 07-02-2021 T.DEEPA / ECE 79
References : • Arsheep Bahga, Vijay Madlseti, “Internet of Things: A hands-on approach”, Elsevier, 2009.
• Adrin McEwan, Hakim Cassimally, “Designing for Internet of Things”, John Wiley, 2014. •
https://blog.microtronics.com/en/5-value-creation-layers-for-iot-applications/ •
https://www.electronicsforu.com/technology-trends/learnelectronics/difference-between-m2m-and-iot
• https://www.iis.fraunhofer.de/en/ff/lv/dataanalytics/smartobject.html#:~:text=Smart%20Objects
%20(also%20known%20as,Internet%20of% 20Things%20(IoT). • https://www.javatpoint.com/iot-smart-
objects • https://www.javatpoint.com/iot-devices. 07-02-2021 T.DEEPA / ECE 80easures and guidelines
are not mentioned while users purchase these devices. If device manufacturers specify the potential IoT
threats clearly, users can avoid these issues. Organizations can also design effective training programs to
enhance security consciousness. Such programs guide users to develop strong passwords to update
them regularly. Besides, users are instructed to update security patches regularly. The users also taught
and requested to avoid spam emails, third-party applications, or sources, which can compromise IoT
security. 10.10 FURTHER READINGS 1. Internet of Things, Jeeva Jose, Khanna Publishing, 2018. 2.
Internet of Things - A Hands-on Approach, Arshdeep Bahga and Vijay Madisetti, Universities Press, 2015.
3. IoT Fundamentals: Networking Technologies, Protocols and Use Cases for the Internet of Things,
Hanes David, Salgueiro Gonzalo, Grossetete Patrick, Barton Rob, Henry Jerome, Pearson, 2017. 4.
Designing the Internet of Things, Adrian Mcwen, Hakin Cassimally, Wiley, 2015.

You might also like