Internet of Things: Unit I - Introduction
Internet of Things: Unit I - Introduction
UNIT I – INTRODUCTION
INTERNET OF THINGS
The internet of things, or IoT, is a system of interrelated computing devices, mechanical and digital
machines, objects, animals or people that are provided with unique identifiers (UIDs) and the ability
to transfer data over a network without requiring human-to-human or human-to-computer interaction.
A thing in the internet of things can be a person with a heart monitor implant, a farm animal with a
biochip transponder, an automobile that has built-in sensors to alert the driver when tire pressure is
low or any other natural or man-made object that can be assigned an Internet Protocol (IP) address
and is able to transfer data over a network.
Increasingly, organizations in a variety of industries are using IoT to operate more efficiently, better
understand customers to deliver enhanced customer service, improve decision-making and increase
the value of the business.
An IoT ecosystem consists of web-enabled smart devices that use embedded systems, such as
processors, sensors and communication hardware, to collect, send and act on data they acquire from
their environments. IoT devices share the sensor data they collect by connecting to an IoT gateway or
other edge device where data is either sent to the cloud to be analyzed or analyzed locally. Sometimes,
these devices communicate with other related devices and act on the information they get from one
another. The devices do most of the work without human intervention, although people can interact
with the devices -- for instance, to set them up, give them instructions or access the data.
The connectivity, networking and communication protocols used with these web-enabled devices
largely depend on the specific IoT applications deployed.
IoT can also make use of artificial intelligence (AI) and machine learning to aid in making data
collecting processes easier and more dynamic.
Features of IOT
The most important features of IoT on which it works are connectivity, analysing, integrating, active
engagement, and many more. Some of them are listed below:
Connectivity: Connectivity refers to establish a proper connection between all the things of IoT to
IoT platform it may be server or cloud. After connecting the IoT devices, it needs a high speed
messaging between the devices and cloud to enable reliable, secure and bi-directional communication.
Analyzing: After connecting all the relevant things, it comes to real-time analysing the data collected
and use them to build effective business intelligence. If we have a good insight into data gathered
from all these things, then we call our system has a smart system.
Integrating: IoT integrating the various models to improve the user experience as well.
Artificial Intelligence: IoT makes things smart and enhances life through the use of data. For
example, if we have a coffee machine whose beans have going to end, then the coffee machine itself
order the coffee beans of your choice from the retailer.
Sensing: The sensor devices used in IoT technologies detect and measure any change in the
environment and report on their status. IoT technology brings passive networks to active networks.
Without sensors, there could not hold an effective or true IoT environment.
Active Engagement: IoT makes the connected technology, product, or services to active engagement
between each other.
DOMAIN SPECIFIC IoTs
1) Home Automation:
a) Smart Lighting: helps in saving energy by adapting the lighting to the ambient
conditions and switching on/off or diming the light when needed.
b) Smart Appliances: make the management easier and also provide status information
to the users remotely.
c) Intrusion Detection: use security cameras and sensors (PIR sensors and door sensors)
to detect intrusion and raise alerts. Alerts can be in the form of SMS or email sent to
the user.
d) Smoke/Gas Detectors: Smoke detectors are installed in homes and buildings to
detect smoke that is typically an early sign of fire. Alerts raised by smoke detectors
can be in the form of signals to a fire alarm system. Gas detectors can detect the
presence of harmful gases such as CO, LPGetc.,
2) Cities:
a) Smart Parking: make the search for parking space easier and convenient for drivers.
Smart parking are powered by IoT systems that detect the no. of empty parking slots
and send information over internet to smart application back ends.
b) Smart Lighting: for roads, parks and buildings can help in saving energy.
c) Smart Roads: Equipped with sensors can provide information on driving condition,
travel time estimating and alert in case of poor driving conditions, traffic condition
and accidents.
d) Structural Health Monitoring: uses a network of sensors to monitor the vibration
levels in the structures such as bridges and buildings.
e) Surveillance: The video feeds from surveillance cameras can be aggregated in cloud
based scalable storage solution.
f) Emergency Response: IoT systems for fire detection, gas and water leakage
detection can help in generating alerts and minimizing their effects on the critical
infrastructures.
3) Environment:
a) Weather Monitoring: Systems collect data from a no. of sensors attached and send
the data to cloud based applications and storage back ends. The data collected in
cloud can then be analysed and visualized by cloud based applications.
b) Air Pollution Monitoring: System can monitor emission of harmful gases(CO2, CO,
NO, NO2 etc.,) by factories and automobiles using gaseous and meteorological
sensors. The collected data can be analysed to make informed decisions on pollutions
control approaches.
c) Noise Pollution Monitoring: Due to growing urban development, noise levels in
cities have increased and even become alarmingly high in some cities. IoT based
noise pollution monitoring systems use a no. of noise monitoring systems that are
deployed at different places in a city. The data on noise levels from the station is
collected on servers or in the cloud.
d) Forest Fire Detection: Forest fire can cause damage to natural resources, property
and human life. Early detection of forest fire can help in minimizing damage.
e) River Flood Detection: River floods can cause damage to natural and human
resources and human life. Early warnings of floods can be given by monitoring the
water level and flow rate.
4) Energy:
a) Smart Grids: is a data communication network integrated with the electrical grids
that collects and analyse data captured in near-real-time about power transmission,
distribution and consumption. Smart grid technology provides predictive information
and recommendations to utilities, their suppliers, and their customers on how best to
manage power.
b) Renewable Energy Systems: IoT based systems integrated with the transformers at
the point of interconnection measures the electrical variables and how much power is
fed into the grid. For wind energy systems, closed-loop controls can be used to
regulate the voltage at point of interconnection which coordinate wind turbine outputs
and provides powersupport.
c) Prognostics: In systems such as power grids, real-time information is collected using
specialized electrical sensors called Phasor Measurement Units(PMUs) at the
substations. The information received from PMUs must be monitored in real-time for
estimating the state of the system and for predicting failures.
5) Retail:
6) Logistics:
a) Route generation & scheduling: IoT based system backed by cloud can provide first
response to the route generation queries and can be scaled upto serve a large
transportation network.
b) Fleet Tracking: Use GPS to track locations of vehicles inreal-time.
c) Shipment Monitoring: IoT based shipment monitoring systems use sensors such as
temp, humidity, to monitor the conditions and send data to cloud, where it can be
analyzed to detect food spoilage.
d) Remote Vehicle Diagnostics: Systems use on-board IoT devices for collecting data
on Vehicle operations (speed, RPMetc.,) and status of various vehicle subsystems.
7) Agriculture:
M2M
Machine-to-Machine (M2M) refers to networking of machines (or devices) for the purpose
of remote monitoring and control and data exchange.
Term which is often synonymous with IoT is Machine-to-Machine (M2M).
IoT and M2M are often used interchangeably.
end-to-end architecture of M2M systems comprises of M2M area networks, communication networks
and application domain.
An M2M area network comprises of machines (or M2M nodes) which have embedded
network modules for sensing, actuation and communicating various communication
protocols can be used for M2M LAN such as ZigBee, Bluetooth, M-bus, Wireless M-Bus
etc., These protocols provide connectivity between M2M nodes within an M2M area
network.
The communication network provides connectivity to remote M2M area networks. The
communication network provides connectivity to remote M2M area network. The
communication network can use either wired or wireless network (IP based). While the
M2M are networks use either properietorary or non-IP based communication protocols,
the communication network uses IP-based network.
To enable the communication between remote M2M are network, M2M gateways are
used.
The communication between M2M nodes and the M2M gateway is based on the communication
protocols which are naive to the M2M are network. M2M gateway performs protocol translations to
enable Ip-connectivity for M2M are networks. M2M gateway acts as a proxy performing translations
from/to native protocols to/from Internet Protocol(IP). With an M2M gateway, each mode in an
M2M area network appears as a virtualized node for external M2M area networks.
Connection Type The connection of IoT is through the M2M uses a point to point connection.
Used network and using various types of
communication.
Scope It has a wide range of devices, yet the It has a limited Scope for devices.
scope is large.
Business Type Used It has Business to Consumer (B2C) and It has Business to Business (B2B)
Business to Business (B2B). communication.
Data Sharing In IoT, data sharing depends on the In M2M, devices may be connected
Internet protocol network. through mobile or any other network.
Open API Support IoT technology supports Open API In M2M technology, there is no Open
integrations. API support.
Example Big Data, Cloud, Smart wearables, and Data and Information, sensors, and
many more. many more.
The advent of the Internet of Things (IoT), the world is poised to become a global village. The IoT
vision is to establish a network of interconnected devices capable of sharing data with each other via
the Internet. Since IoT devices can communicate with each other, they can automatically be
programmed to execute tasks. For example, you can set up your lights to come on automatically when
it gets dark, or you can turn on your air-conditioner when your room gets hot.
One of the most important aspects of machine-to-machine communication is connectivity. If there is
no wireless or wired connection between devices, they cannot communicate. An IoT has various
protocols, technologies, and applications that are used for connectivity between devices.
First, we need to understand what IoT is and the meaning of M2M. IoT stands for The Internet of
Things and is a network of physical devices, vehicles, home appliances, and other items embedded
with electronics, software, sensors, actuators, and connectivity that enables these objects to connect
and exchange data. M2M stands for Machine to Machine communication. It is a subset of IoT that
deals explicitly with connections between machines. Machine-to-machine communication allows
devices to communicate without direct human input.
M2M is all about connecting machines to the Internet so that they can communicate with each other,
manage their tasks and data, and generally “do business” with one another. Likewise, IoT is all about
connecting devices to the Internet to be monitored remotely by individuals or enterprises.
IoT devices are often used in industrial settings to monitor equipment performance, report operational
data (such as temperature), or track assets (such as shipping containers). However, M2M
communications are not limited to industrial settings; they can also be used in home automation
applications such as controlling lights, locks, security systems, appliances, and more.
M2M value chains
M2M value chains are internal to one company and cover one solution.
Reasons for using M2M vary from project to project and company to company.
It can include things such as cost reductions through streamlined business processes, product
quality improvements, and increased health and safety protection for employees.
Input and output of the value chains as follows:
1.Inputs: Inputs are the base raw ingredients that are turned into a product. Examples could be cocoa
beans for the manufacture of chocolate or data from an M2M device that will be turned into a piece of
information.
2.Production/Manufacture: Production/Manufacture refers to the process that the raw inputs are put
through to become part of a value chain. For example, cocoa beans may be dried and separated before
being transported to overseas markets. Data from an M2M solution, meanwhile, needs to be verified
and tagged for provenance.
3.Processing: Processing refers to the process whereby a product is prepared for sale. For example,
cocoa beans may now be made into cocoa powder, ready for use in chocolate bars. For an M2M
solution, this refers to the aggregation of multiple data sources to create an information Component.
4.Packaging: Packaging refers to the process whereby a product can be branded as would be
recognizable to end-user consumers. For example, a chocolate bar would now be ready to eat and
have a red wrapper with the words “Kit Katt” on it. For M2M solutions, the data will have to be
combined with other information from internal corporate databases.
5.Distribution/Marketing: This process refers to the channels to market for products. For example, a
chocolate bar may be sold at a supermarket or even online. An M2M solution, however, will have
produced an Information Product that can be used to create new knowledge within a corporate
environment
Sensors are devices that detect and respond to changes in an environment. Inputs can come from a
variety of sources such as light, temperature, motion and pressure. Sensors output valuable
information and if they are connected to a network, they can share data with other connected devices
and management systems.
Sensors are crucial to the operation of many of today’s businesses. They can warn you of potential
problems before they become big problems, allowing businesses to perform predictive maintenance
and avoid costly downtime. The data from sensors can also be analyzed for trends allowing business
owners to gain insight into crucial trends and make informed evidence-based decisions.
Sensors come in many shapes and sizes. Some are purpose-built containing many built-in individual
sensors, allowing you to monitor and measure many sources of data. In brownfield environments, it’s
key for sensors to include digital and analog inputs so that they can read data from legacy sensors.
Temperature sensors
By definition, “A device, used to measure amount of heat energy that allows to detect a physical
change in temperature from a particular source and converts the data for a device or user, is known as
a Temperature Sensor.”
Only a couple of years ago, their uses mostly included A/C control, refrigerators and similar devices
used for environmental control. However, with the advent of the IoT world, they have found their role
in manufacturing processes, agriculture and health industry.
In the manufacturing process, many machines require specific environment temperature, as well as
device temperature. With this kind of measurement, the manufacturing process can always remain
optimal.
Followed are some sub-categories of Temp Sensors:
Thermocouples: These are voltage devices that indicate temperature measuring with a change
in voltage. As temperature goes up, the output voltage of the thermocouple rises.
Resistor temperature detectors (RTD): The resistance of the device is directly proportional to
the temperature, increase in a positive direction when the temperature rises resistance going
up.
Thermistors: It is a temperature sensitive resistor that changes its physical resistance with the
change in temperature.
IC (Semiconductor): They are linear devices where the conductivity of the semiconductor
increases linearly and it takes advantage of the variable resistance properties of
semiconductor materials. It can provide a direct temperature reading in digital form,
especially at low temperatures.
Infrared sensors: It detects temperature by intercepting a portion of emitted infrared energy of
the object or substance, and sensing its intensity, can be used to measure temperature of solids
and liquids only, not possible to use it on gases because of their transparent nature.
Proximity sensor
A device that detects the presence or absence of a nearby object, or properties of that object, and
converts it into signal which can be easily read by user or a simple electronic instrument without
getting in contact with them.
Proximity sensors are largely used in the retail industry, as they can detect motion and the correlation
between the customer and product they might be interested in. A user is immediately notified of
discounts and special offers of nearby products.
Another big and quite an old use-case is vehicles. You are reversing your car and are alrmed about an
obstacle while taking reverse, that’s the work of proximity sensor.
They are also used for parking availability in places such as malls, stadiums or airports.
Following are some of the Proximity Sensors sub-categorised:
Inductive Sensors: Inductive proximity sensors are used for non-contact detection to find out
the presence of metallic objects using electromagnetic field or a beam of electromagnetic
radiation. It can operate at higher speeds than mechanical switches and also seems more
reliable because of its robustness.
Capacitive Sensors: Capacitive proximity sensors can detect both metallic as well as non-
metallic targets. Nearly all other materials are dielectric different from air. It can be used to
sense very small objects through a large portion of target. So, generally used in difficult and
complicated applications.
Photoelectric Sensors: Photoelectric sensor is made up of light-sensitive parts and uses a
beam of light to detect the presence or absence of an object. It is an ideal alternative of
inductive sensors. And used for long distance sensing or to sense non-metal object.
Ultrasonic Sensors: Ultrasonic sensors are also used to detect the presence or to measure the
distance of targets similar to radar or sonar. This makes a reliable solution for harsh and
demanding conditions.
Pressure sensor
A pressure sensor is a device that senses pressure and converts it into an electric signal. Here, the
amount depends upon the level of pressure applied.
There are plenty of devices that rely on liquid or other forms of pressure. These sensors make it
possible to create IoT systems that monitor systems and devices that are pressure propelled. With any
deviation from standard pressure range, the device notifies the system administrator about any
problems that should be fixed.
Water quality sensor
Water quality sensors are used to detect the water quality and Ion monitoring primarily in water
distribution systems.
Water is practically used everywhere. These sensors play an important role as they monitor the quality
of water for different purposes. They are used in a variety of industries.
Following is a list of the most common kind of water sensors in use:
Chlorine Residual Sensor: It measures chlorine residual (i.e. free chlorine, monochloramine &
total chlorine) in water and most widely used as disinfectant because of its efficiency.
Total Organic Carbon Sensor: TOC sensor is used to measure organic element in water.
Turbidity Sensor: Turbidity sensors measure suspended solids in water, typically it is used in
river and stream gaging, wastewater and effluent measurement.
Conductivity Sensor: Conductivity measurements are carried out in industrial processes
primarily to obtain information on total ionic concentrations (i.e. dissolved compounds) in
water solutions.
pH Sensor: It is used to measure the pH level in the dissolved water, which indicates how
acidic or basic (alkaline) it is.
Oxygen-Reduction Potential Sensor: The ORP measurement provides insights into the level
of oxidation/reduction reactions occurring in the solution.
Chemical sensor
Chemical sensors are applied in a number of different industries. Their goal is to indicate changes in
liquid or to find out air chemical changes. They play an important role in bigger cities, where it is
necessary to track changes and protect the population.
Main use cases of chemical sensors can be found in Industrial environmental monitoring and process
control, intentionally or accidentally released harmful chemical detection, explosive and radioactive
detection, recycling processes on Space Station, pharma industries and laboratory etc.
Following are most common kind of chemical sensors in use:
Chemical field-effect transistor
Chemiresistor
Electrochemical gas sensor
Fluorescent chloride sensor
Hydrogen sulfide sensor
Nondispersive infrared sensor
pH glass electrode
Potentiometric sensor
Zinc oxide nanorod sensor
Gas sensor
Gas sensors are similar to the chemical ones, but are specifically used to monitor changes of the air
quality and detect the presence of various gases. Like chemical sensors, they are used in numerous
industries such as manufacturing, agriculture and health and used for air quality monitoring, detection
of toxic or combustible gas, hazardous gas monitoring in coal mines, oil & gas industries, chemical
laboratory research, manufacturing – paints, plastics, rubber, pharmaceutical & petrochemical etc.
Following are some common Gas sensors:
Carbon dioxide sensor
Carbon monoxide detector
Catalytic bead sensor
Hydrogen sensor
Air pollution sensor
Nitrogen oxide sensor
Oxygen sensor
Smoke sensor
A smoke sensor is a device that senses smoke (airborne particulates & gases), and its level.
They have been in use for a long period of time. However, with the development of IoT, they are now
even more effective, as they are plugged into a system that immediately notifies the user about any
problem that occurs in different industries.
Smoke sensors are extensively used by manufacturing industry, HVAC, buildings and
accommodation infra to detect fire and gas incidences. This serves to protect people working in
dangerous environments, as the whole system is much more effective in comparison to the older ones.
Common Type of Smoke Sensors
Optical smoke sensor (Photoelectric): Optical smoke sensor used the light scatter principle
trigger to occupants.
Ionization smoke sensor: Ionization smoke sensor works on the principle of ionization, kind
of chemistry to detect molecules causing a trigger alarm.
IR sensors
An infrared sensor is a sensor which is used to sense certain characteristics of its surroundings by
either emitting or detecting infrared radiation. It is also capable of measuring the heat being emitted
by the objects.
They are now used in a variety of IoT projects, especially in Healthcare as they make monitoring of
blood flow and blood pressure simple. They are even used in a wide array of regular smart devices
such as smartwatches and smartphones as well.
Other common use includes home appliances & remote control, breath analysis, Infrared vision (i.e.
visualize heat leaks in electronics, monitor blood flow, art historians to see under layers of paint),
wearable electronics, optical communication, non-contact based temperature measurements,
automotive blind-angle detection.
Level sensors
A sensor which is used to determine the level or amount of fluids, liquids or other substances that
flow in an open or closed system is called Level sensor.
Like IR sensors, level sensors are present in a wide array of industries. They are primarily known for
measuring fuel levels, but they are also used in businesses that work with liquid materials. For
example, the recycling industry, as well as the juice and alcohol industry rely on these sensors to
measure the number of liquid assets in their possession.
There are two basic level measurement types:
Point level sensors: Point level sensors usually detect the particular specific level and respond
to the user if the sensing object is above or below that level. It is integrated into single device
to get an alarm or trigger
Continuous level Sensor: Continuous level sensors measure liquid or dry material levels
within a specified range and provide outputs which continuously indicate the level. The best
example of it is fuel level display in the vehicle.
Image sensors
Image sensors are instruments which are used to convert optical images into electronic signals for
displaying or storing files electronically.
The major use of image sensor is found in digital camera & modules, medical imaging and night
vision equipment, thermal imaging devices, radar, sonar, media house, Biometric & IRIS devices.
Two main types of sensors are used in:
CCD (charge-coupled device), and
CMOS (complementary metal-oxide semiconductor) imagers.
Although each type of sensor uses different technology to capture images, both CCD and CMOS
imagers use metal-oxide semiconductors, having the same degree of sensitivity to light, and no
inherent quality difference
Motion detection sensors
A motion detector is an electronic device which is used to detect the physical movement (motion) in a
given area and it transforms motion into an electric signal; motion of any object or motion of human
beings
These are primarily used for intrusion detection systems, automatics door control, boom barrier, smart
camera (i.e motion based capture/video recording),toll plaza, automatic parking systems, automated
sinks/toilet flusher, hand dryers, energy management systems(i.e. Automated Lighting, AC, Fan,
Appliances Control) etc.
Following are key motion sensor types widely used:
Passive Infrared (PIR): It Detects body heat (infrared energy) and the most widely used
motion sensor in home security systems.
Ultrasonic: Sends out pulses of ultrasonic waves and measures the reflection off a moving
object by tracking the speed of sound waves.
Microwave: Sends out radio wave pulses and measures the reflection off a moving object.
They cover a larger area than infrared & ultrasonic sensors, but they are vulnerable to
electrical interference and more expensive.
Accelerometer sensors
Accelerometer is a transducer that is used to measure the physical or measurable acceleration
experienced by an object due to inertial forces and converts the mechanical motion into an electrical
output. It is defined as rate of change of velocity with respect to time
These sensors are now present in millions of devices, such as smartphones. Their uses involve
detection of vibrations, tilting and acceleration in general. This is great for monitoring your driving
fleet, or using a smart pedometer.
In some instances, it is used as a form of anti-theft protection, as the sensor can send an alert through
the system if an object that should remain stationary is moved.
There are various kinds of accelerometers and following are few mainly used in IoT projects:
Hall-effect accelerometers: Hall-effect accelerometers are using Hall principle to measure the
acceleration, it measures the voltage variations caused by changes in a magnetic field around
them.
Capacitive accelerometers: Capacitive accelerometers sensing output voltage dependents on
the distance between two planar surfaces. Capacitive accelerometers are also less prone to
noise and variation with temperature.
Piezoelectric accelerometers: Piezoelectric sensing principle is working on the piezoelectric
effect. Piezo-film based accelerometers are best used to measure vibration, shock, and
pressure.
Gyroscope sensors
A sensor or device which is used to measure the angular rate or angular velocity is known as Gyro
sensors, Angular velocity is simply defined as a measurement of speed of rotation around an axis. It is
a device used primarily for navigation and measurement of angular and rotational velocity in 3-axis
directions. The most important application is monitoring the orientation of an object.
There are several different kinds of gyro sensors which are selected by their working mechanism,
output type, power, sensing range and environmental conditions.
Rotary (classical) gyroscopes
Vibrating Structure Gyroscope
Optical Gyroscopes
MEMS (micro-electro-mechanical systems) Gyroscopes
Humidity sensors
Humidity is defined as the amount of water vapour in an atmosphere of air or other gases. The most
commonly used terms are “Relative Humidity (RH)
Their applications and use can be found in Industrial & residential domain for heating, ventilating,
and air conditioning systems control. They can also be found in Automotive, museums, industrial
spaces and greenhouses, meteorology stations, Paint and coatings industries, hospitals & pharma
industries to protect medicines
Optical sensors
A sensor which measures the physical quantity of light rays and convert it into electrical signal which
can be easily readable by user or an electronic instrument/device is called optical sensor.
Optical sensors are loved by IoT experts, as they are practical for measuring different things
simultaneously. The technology behind this sensor allows it to monitor electromagnetic energy, which
includes, electricity, light and so on.
Following are key type of optical sensors:
Photodetector: It uses light sensitive semiconductor materials like photocells,photodiodes or
phototransistors to work as photodetector
Fiber Optics: Fibers optics carry no current, So its immune to electrical & electromagnetics
interference and even in damaged condition no sparking or shock hazard happens.
Pyrometer: It estimates the temperature of an object by sensing the color of the light and
Objects radiate light according to their temperature and produce same colors at same
temperature.
Proximity & Infrared: Proximity use light to sense objects nearby and Infrared are used where
visible light would be inconvenient.
Structure of IoT
IoT system architecture is often described as a four-stage process in which data flows from sensors
attached to “things” through a network and eventually on to a corporate data center or the cloud for
processing, analysis and storage.
In the Internet of Things, a “thing” could be a machine, a building or even a person. Processes in the
IoT architecture also send data in the other direction in the form of instructions or commands that tell
an actuator or other physically connected device to take some action to control a physical process. An
actuator could do something as simple as turning on a light or as consequential as shutting down an
assembly line if impending failure is detected.
The process starts with sensors and actuators, the connected devices that monitor (in the case of
sensors) or control (in the case of actuators) some “thing” or physical process. Sensors capture data
regarding the status of a process or an environmental condition, such as temperature, humidity,
chemical composition, fluid levels in a tank, fluid flow in a pipe, or the speed of an assembly line as
well as much more.
In some cases, a sensor might detect a condition or event that requires an almost immediate response
so that an actuator can perform remediation actions in real time, for example, adjusting the flow rate
of a fluid, or the movements of an industrial robot. In these situations, very low latency between the
sensor and analysis/triggered actuator is required.
A data acquisition system (DAS) collects raw data from the sensors and converts it from analog into
digital format. The DAS then aggregates and formats the data before sending it through an Internet
gateway via wireless WANs (such as Wi-Fi or Cellular) or wired WANs for the next stage of
processing.
At this point, the volume of data is at its maximum. The quantities can be huge, especially, for
example, in a factory setting where hundreds of sensors may be gathering data simultaneously. For
that reason, the data is also filtered and compressed to an optimum size for transmission.
At this level, industry-specific and/or company-specific applications can be used to perform in-depth
analysis and apply business rules to determine whether action needs to be taken. The incoming data
may indicate desirable changes to device settings or other ways to optimize the process, forming a
loop that facilitates constant improvement. Stage 4 also includes storage in a data warehouse, both for
record keeping and for further analysis.
The Five Layers of IoT Architecture
IoT architecture can be explained in either three or five layers. Many agree that the three-layer model
is simple to understand but leaves out some key details regarding how the data is used. Below is a
breakdown of each layer, what it does, and why it’s important.
Perception
The perception layer represents the physical IoT devices themselves. This can include health
monitors, lighting systems, autonomous vehicles, robotics, and security systems. Each IoT device
collects data that requires processing.
IoT sensors are inexpensive and can collect hundreds of different data points for processing. The data
collected will vary depending on the goals of the organization. For example, agricultural IoT devices
can record atmospheric data, moisture levels, solid temperature, and airflow to improve crop yield and
revenue.
Transport
The transport layer is responsible for sending collected data to the cloud or edge device for
processing. The transport layer relies on internet gateways to move data from the physical perception
layer into the processing phase.
There are a few different technologies system admins can use during this stage:
Cellular 4G LTE / 5G
Wi-Fi
Bluetooth
Low-Power Wide-Area Networks
Administrators can design their IoT architecture with a mix and match of transport protocols.
Ultimately the transport protocol you use should be able to reliably support data from the sensor to the
closest internet gateway. We cover this concept in more detail in our IoT connectivity article.
Processing
Once the data reaches the cloud or edge device the server can transform this data into information.
Modern IoT architectures leverage machine learning and artificial intelligence that create value by
analyzing this data.
For example, if an IoT sensor is recording a high fluctuation in temperature, artificial intelligence can
alert to this anomaly by monitoring the current temperature compared to its baseline. In this case, the
server might be able to send a command to an HVAC unit to lower the temperature and resolve the
issue.
Application
Processing typically occurs without human intervention, but humans still need to tell the server what
to do when certain rules are met or thresholds are broken. The application layer is where
administrators manage IoT device orchestration, create rule sets, and set service-level agreements for
their IoT architecture.
If you’ve ever used an app to turn your lights on at home, you’ve used the application layer to do so.
Reliable IoT architectures use the application layer to control and manage their networks from a
centralized dashboard. This centralization reduces complexity, especially in enterprise IoT networks,
which in turn improves efficiency and security.
Business
Finally, we arrive at the business layer, where information is transformed into business intelligence
that drives decision-making. Stakeholders and executives can use the insights collected at the
application layer to make better business decisions.
The business layer typically relies on reports and live dashboards for business intelligence.
Information collected from the application layer can be enriched further at this level through other
integrations. For example, business intelligence analysts can correlate cost savings based on
electricity consumption before and after smart lighting sensors were installed.
IoT Map Device
Map schema to support privacy mediation using cloud. The schema consists of three high-level
entities: unique identifier, meta, and domains. The meta objects consist of the global description of the
map including its temporal validity (in the form of start and expiration dates), the publication date of
the map and its version. The domains object consists of a list of active areas of data capture that are
owned by the same entity (e.g. a commercial organisation). Domains provide the name of the
organisation, the API end-point for privacy mediation requests at the organisational level, and a list of
data capture zones in which sensors and devices can capture potentially privacy invasive data. Each
data capture zone consists of lists of regions, trigger zones and capabilities.
Regions specify the geographical locations or boundaries of the space in which data capture is taking
place. Such locations can be described, for example, by specifying circular regions (latitude, longitude
and radius) or proximity-based locations (based on Bluetooth Low Energy beacons). Trigger zones
represent descriptions of monitored areas which, when entered by the user, trigger an immediate
notification to the backend system. Similar to regions, trigger zones can be described using geo-fences
or proximity-based location descriptions. Capability objects define the available mediation services of
the data capture zone, such as audio and video processors in the context of smart meeting rooms.
Each capability is described by a universally unique identifier object, a human-readable name, and a
list of supported cloudlet applications – in this case representing privacy mediators. Each cloudlet
application consists of an object that defines the application programming interfaces used to notify the
service of the user’s presence in the data capture area (callback_url), a URL to the user-facing
configuration interface, and a set of additional metadata objects including the name of the cloudlet
application, an icon and a URL to the homepage.
We note that whilst we aimed that our proposed map schema can be reused in different domains, a
generalised schema that goes beyond the support of privacy mediation leads to a number of challenges
that need to be considered.
2D vs 3D. Maps have traditionally represented two dimensional top down perspectives of the world
with some extensions in recent years to support the three-dimensional modelling of structures in
prominent cities. With the increased popularity of indoor mapping and tracking, we will likely see a
growing demand to model more complex structures. In our proposed map schema, we currently
follow a two-dimensional approach, ignoring the altitude of active regions and trigger zones.
Supporting three-dimensional models of the world introduces challenges regarding representation,
visualisation and interaction. We note that some of these challenges, however, have been addressed
with systems such as Building Information Modelling (BIM) that are designed to provide digital
representations of places and structures for planning and construction.
Access Control. Our map schema assumes that users have full access to the data stored within the
map. However, in some cases certain sections of a map may be considered confidential and may
require access restrictions. Supporting such access control will likely add a new layer of complexity to
the map schema definition in order to supply detailed information on access permissions for
individual users or groups. We note that initial work has been carried out to incorporate security
features
Moving Objects. Traditionally, mapping has been used to represent stationary devices and structures
such as buildings and sensors embedded in the environment. However, modern IoT devices are often
mobile and move frequently within and across spaces (e.g. wearable IoT sensors). The challenges for
representing moving objects within a map lie particularly in the processes to maintain and report
frequent location updates
Indoor vs. Outdoor. While outdoor mapping and location tracking is well established, indoor
location tracking is an active area of research and imposes a number of challenges regarding
reliability and accuracy of location tracking techniques. Researchers have already worked on utilising
existing Wi-Fi infrastructure to support indoor location tracking and on improving the accuracy of
such tracking techniques. However, in order to support commercial-grade applications, the wide
deployment and adoption of accurate indoor location tracking techniques and appropriate maps of IoT
devices that are situated indoors will become an important challenge in future
Single Common Map vs. Bespoke Maps. Our example schema was mostly being spoke to our
systems with attempts at generalisation. It is unclear if a ‘one map fits all’ approach is desirable, or
even possible in the context of mapping ‘the IoT’. However, designing bespoke map schemas would
likely lead to a large number of heterogeneous maps that become unusable beyond their original
context – or incur a heavy cost to be integrated into other contexts. We note that the set of challenges
presented is not exhaustive and that a number of other challenges are likely to emerge as more
research is conducted regarding the design and implementation of generalizable mapping schemas –
potentially leading to new IoT mapping standards.
POPULATING MAPS
The population and maintenance of maps is a further challenge in our proposed approach. Maps can
be populated from three key sources: (i) authorities, (ii) ordinary users, and (iii) data provided by
infrastructures. Based on these available sources, we provide a set of example population techniques
that can be applied in order to create and maintain maps of the IoT.
Authoritative. The obvious solution is to employ an authority (e.g. system administrator or owners of
spaces) that collects and supplies information about available IoT devices. The main advantage is that
the map is likely to have a high accuracy, and capabilities of the devices can be easily identified. The
main drawback is that the collection of required information can be laborious, particularly if large IoT
deployments have to be mapped from scratch. Additionally, IoT devices present in the same space
may be owned by distinct authorities, leading to only partially complete IoT maps of spaces.
Nevertheless, authoritative maps are likely to serve as starting points for IoT maps, but should not be
interpreted as absolute ground truths.
Crowdsourcing. In the crowdsourcing approach, a number of regular users provide the necessary
data to create maps, akin to OpenStreetMap. This reduces the burden of a dedicated party responsible
for populating a map. However, information quality is likely to decrease as users may not be aware of
the device capabilities and exact locations. Similarly, coverage may suffer as users fail to identify all
relevant devices. The usefulness of crowdsourced information can be potentially increased using a
two-phased approach where the information provided by users is verified in a second phase conducted
by domain experts or through automated analysis.
Infrastructure Sensing. The population of a map can also be delegated to the infrastructure itself.
For example, analysis of electric signals has been used to identify home appliances and network
traffic signatures have been used to identify IoT devices in a specific administrative network
removing the need for human effort. However, the underlying sensing techniques may not generalise
sufficiently across diverse environments and provide only limited device information.
Management System
Management API
Transaction Manager
Rollback Manager
Data Model Manager
Configuration Validator
Configuration Database
Configuration API
Data Provider API
NETCONF
YANG
YANG is a data modelling language used to model configuration and state data manipulated
by the NETCONF protocol.
YANG modules contain the definitions of the configuration data, state data, RPC calls that
can be issued and the format of the notifications.
YANG modules defines the data exchanged between the NETCONF client and server.
A module comprises of a number of 'leaf' nodes which are organized into structure.
The 'leaf' nodes are specified using the 'leaf' or 'leaf-list' constructs.
Leaf nodes are organized using 'container' or 'list' constructs.
A YANG module can import definitions from other modules.
Constraints can be defined on the data nodes, e.g. allowed values.
YANG can model both configuration data and state data using the 'config' statement
An RD plays the role of a rendezvous mechanism for CoAP Server resource descriptions,
in other words, for devices to publish the descriptions of the available resources and for
CoAP clients to locate resources that satisfy certain criteria such as specific resource
types. (e.g. temperature sensor resource type).
Resource Directory is a rendezvous mechanism for CoAP Server resource descriptions, a
Mirror Server is a rendezvous mechanism for CoAP Server resource presentations.
A Mirror Server is a CoAP Server resource (/ms) that maintains a list of resources and their
cached representations (Figure 6.8b).
The original CoAP Server updates the mirror representation either periodically or when the
representation changes.
A CoAP Client that retrieves the mirror representation receives the latest updated
representation from the original CoAP Server. The Mirror Server is useful when the CoAP
Server is not always available for direct access.
An example of such a CoAP Server is one that resides on a real device whose
communication capabilities are turned off in order to preserve energy, e.g. battery powered
radio devices whose radio and/or processor goes to sleep mode.
Typically, a Mirror Server is hosted on a device or machine that is always available.
The IETF CoRE workgroup has included the fundamentals of a mapping process between
HTTP and CoAP in the IETF CoAP specification as well as a set of guidelines for the
interworking between HTTP and CoAP.
The main is the different transport protocols used by the HTTP and CoAP: HTTP uses TCP
while CoAP uses UDP.
HTTP Client sends an HTTP request to a CoAP server (Figure 6.9a) through a Gateway
Device hosting an HTTP-CoAP Cross Proxy.
The Gateway Device connects to the Internet via an Ethernet cable using a LAN, and on
the CoAP side the CoAP server resides on a Sensor/Actuator (SAN) based on the IEEE
802.15.4 PHY/MAC.
The HTTP request needs to include two addresses, one for reaching the Cross Proxy and one
for reaching the specific CoAP Server in the SAN.
The request is in plain text format and contains the method (GET). It traverses the IPv4 stack
of the client, reaches the gateway, traverses the IPv4 stack of the gateway and
reaches the Cross proxy.
The request is translated to a CoAP request (binary format) with a destination CoAP resource
coap://s.coap.example.com/foo, and it is dispatched in the CoAP stack of the
gateway, which sends it over the SAN to the end device.
A response is sent from the end device and follows the reverse path in the SAN in order to
reach the gateway.
The Cross proxy translates the CoAP response code to the corresponding HTTP code,
transforms the included media, creates the HTTP response, and dispatches it to the HTTP
client.
The Reference Architecture is a starting point for generating concrete architectures and actual
systems. A concrete architecture addresses the concerns of multiple stakeholders of the actual system,
and it is typically presented as a series of views that address different stake-holder concerns. Views
are useful for reducing the complexity of the Reference Architecture blueprints by addressing
groups the concerns of one group at a time.
Views
The stakeholders for a concrete IoT system are the people who use the system (Human Users); the
people who design, build, and test the Resources, Services, Active Digital Artifacts, and Applications;
The people who deploy Devices and attach them to Physical Entities. the people who integrate IoT
capabilities of functions with an existing ICT system (e.g. of an enterprise).
The people who operate, maintain, and troubleshoot the Physical and Virtual Infrastructure. The
people who buy and own an IoT system or parts thereof In order to address the concerns of mainly the
concrete IoT architect, and secondly the concerns of most of the above stakeholders, the Reference
Architecture is presented as a set of architectural views
Functional View: Description of what the system does, and its main functions.
Information View: Description of the data and information that the system handles.
Deployment and Operational View: Description of the main real world components of the
system such as devices, network routers, servers, etc.
IoT Functional View
First Generation
The world’s first IoT device was invented in the early 1980s at the Carnegie Melon University. A
group of students from the university created a way to get their campus Coca-Cola vending machine
to report on its contents through a network in order to save them the trek if the machine was out of
Coke. They installed micro-switches into the machine to report on how many Coke cans were
available and if they were cold.
The concept of a network of smart devices was discussed as early as 1982, with a modified Coke
machine at Carnegie Mellon University (a BCC member!) becoming the first internet-connected
appliance. Through the 1990s, a series of papers were published in various academic journals. The
concept of the IoT first became popular in 1999, through the Auto-ID Center at MIT (another BCC
member!) and related market-analysis publications.
In 1990, John Romkey connected a toaster to the internet for the first time. A year later, a group of
students at the University of Cambridge used a web camera to report on coffee. They came up with
the idea to use the first web camera prototype to monitor the amount of coffee available in their
computer labs coffee pot. They did this by programming the web camera to take photos three times a
minute of the coffee pot. The photos were then sent to local computers so everyone could see if there
was coffee available.
The Internet of Things was a common topic used by the media at the beginning of the 21st Century
with several major developments paving the way for the future of IoT. LG Electronics introduced the
world’s first refrigerator connected to the internet in 2000. Allowing consumers to do their food
shopping online and make video calls.
IoT Description & Characteristics
IoT Description
The IoT can be defined in two ways based on
• existing Technology
• Infrastructure
Definition of IoT based on existing technology:
IoT is a new revolution to the internet due to the advancement in sensor networks, mobile devices,
wireless communication, networking and cloud technologies.
Definition of IoT based on infrastructure:
IoT is a dynamic global network infrastructure of physical and virtual objects having unique
identities, which are embedded with software, sensors, actuators, electronic and network connectivity
to facilitate intelligent applications by collecting and exchanging data.
Characteristics of IoT
Various characteristics of IoT are:
Dynamic and self-adapting: The IoT devices can dynamically adapt with sensed environment, their
operating conditions, and user’s context and take actions accordingly. For ex: Surveillance System.
Self-configuring: IoT devices can be able to upgrade the software with minimal intervention of user,
whenever they are connected to the internet. They can also setup the network i.e a new device can be
easily added to the existing network. For ex: Whenever there will be free wifi access one device can
be connected easily.
Interoperable Communication: IoT allows different devices (different in architecture) to
communicate with each other as well as with different network. For ex: MI Phone is able to control
the smart AC and smart TV of different manufacturer.
Unique identities: The devices which are connected to the internet have unique identities i.e IP
address through which they can be identified throughout the network. The IoT devices have intelligent
interfaces which allow communicating with users. It adapts to the environmental contexts. III. It also
allows the user to query the devices, monitor their status, and control them remotely, in association
with the control, configuration and management infrastructure.
Integrated into information network: The IoT devices are connected to the network to share some
information with other connected devices. The devices can be discovered dynamically in the network
by other devices. For ex. If a device has wifi connectivity, then that will be shown to other nearby
devices having wifi connectivity. The devices ssid will be visible though out the network. Due to
these things the network is also called as information network. For Ex: weather monitoring system.
Connectivity: Connectivity is an important requirement of the IoT infrastructure. Things of IoT
should be connected to the IoT infrastructure. Anyone, anywhere, anytime can connect, this should be
guaranteed at all times. For example, connection between people through internet devices like mobile
phones, and other gadgets, also connection between Internet devices such as routers, gateways,
sensors, etc.
Intelligence and Identity: The extraction of knowledge from the generated data is very important.
For example, a sensor generates data, but that data will only be useful if it is interpreted properly.
Each IoT device has a unique identity. This identification is helpful in tracking the equipment and at
times for querying its status.
Scalability: The number of elements connected to the IoT zone is increasing day by day. Hence, an
IoT setup should be capable of handling the massive expansion. The data generated as an outcome is
enormous, and it should be handled appropriately.
Dynamic and Self-Adapting (Complexity): IoT devices should dynamically adapt themselves to the
changing contexts and scenarios. Assume a camera meant for the surveillance. It should be adaptable
to work in different conditions and different light situations (morning, afternoon, night).
Architecture: IoT architecture cannot be homogeneous in nature. It should be hybrid, supporting
different manufacturers products to function in the IoT network. IoT is not owned by anyone
engineering branch. IoT is a reality when multiple domains come together.
Safety: There is a danger of the sensitive personal details of the users getting compromised when all
his/her devices are connected to the internet. This can cause a loss to the user. Hence, data security is
the major challenge. Besides, the equipment involved is huge. IoT networks may also be at the risk.
Therefore, equipment safety is also critical.
Advanced Generation
It is predicted that by 2025, all devices will be connected to the Internet, subsequently causing the
number of devices connected with the Internet to rise. As indicated by Cisco, there will be 500 billion
devices connected with the Internet of Things (IoT) by 2030. Furthermore, Telefonica anticipates that
90% of vehicles will be associated with the IoT by 2030 and forecasts that every person will have an
average of 15 connected devices by then. However, a review in 2015 proposed that more than 250
million connected vehicles will be available globally by 2020 an increase of 67%.
Such industrial opportunities additionally lead to effective and creative examination possibilities for
researchers and specialists in multi-disciplinary research areas, thus combining research studies,
engineering abilities, sciences and humanities all under one umbrella. Additionally, IoT is changing
the world into a smart world in which everything is effectively accessible quickly. Generally,
industries will engage in prompt speculation to deal with ventures depending on the development
level of the IoT technologies. Simultaneously, IoT is causing our livelihood to flourish.
Several researchers have been consistently working to advance and develop new strategies to adapt to
these phenomena. As shown in Figure 1, IoT applications are incredibly diverse and incorporate real-
time multimedia, IoT-based healthcare systems, IoT-based next-generation smart industries and IoT-
based next-generation smart agriculture. Besides security requirements, satisfying application
necessities is a critical task; living in an epidemic situation requires fast data analysis and prediction
mechanisms.
Consequently, this Special Issue has attracted researchers from academia and industries to
investigate the opportunities for next-generation IoT-based user scenarios and study their
effect on the solutions of the issues and challenges discussed above and propose viable
solutions. Several researchers have contributed to different areas of interest related to next-
generation IoT-based applications and user scenarios, including the following:
Next-generation IoT-based smart healthcare;
Next-generation IoT-based smart cities;
Next-generation IoT-based smart agriculture;
Next-generation IoT-based data analytics;
Next-generation IoT-based industrial IoT;
Next-generation IoT-based multimedia;
Next-generation IoT-based spectrum sharing techniques.
Sensors are used in the architecture of IOT devices. Sensors are used for sensing things and devices
etc. A device that provides a usable output in response to a specified measurement. The sensor attains
a physical parameter and converts it into a signal suitable for processing (e.g. electrical, mechanical,
optical) the characteristics of any device or material to detect the presence of a particular physical
quantity. The output of the sensor is a signal which is converted to a human-readable form like
changes in characteristics, changes in resistance, capacitance, impedance etc.
Transducer :
Sensors characteristics:
1. Static
2. Dynamic
Static characteristics
It is about how the output of a sensor changes in response to an input change after steady
state condition.
Accuracy: Accuracy is the capability of measuring instruments to give a result close to the
true value of the measured quantity. It measures errors. It is measured by absolute and relative
errors. Express the correctness of the output compared to a higher prior system. Absolute
error = Measured value – True value Relative error = Measured value/True value
Range: Gives the highest and the lowest value of the physical quantity within which the
sensor can actually sense. Beyond these values, there is no sense or no kind of response.
e.g. RTD for measurement of temperature has a range of -200`c to 800`c.
Resolution: Resolution is an important specification towards selection of sensors. The higher
the resolution, better the precision. When the accretion is zero to, it is called threshold.
Provide the smallest changes in the input that a sensor is able to sense.
Precision: It is the capacity of a measuring instrument to give the same reading when
repetitively measuring the same quantity under the same prescribed conditions.
It implies agreement between successive readings, NOT closeness to the true value.
It is related to the variance of a set of measurements.
It is a necessary but not sufficient condition for accuracy.
Sensitivity: Sensitivity indicates the ratio of incremental change in the response of the system
with respect to incremental change in input parameters. It can be found from the slope of the
output characteristics curve of a sensor. It is the smallest amount of difference in quantity that
will change the instrument’s reading.
Linearity: The deviation of the sensor value curve from a particular straight line. Linearity is
determined by the calibration curve. The static calibration curve plots the output amplitude
versus the input amplitude under static conditions.
A curve’s slope resemblance to a straight line describes the linearity.
Drift: The difference in the measurement of the sensor from a specific reading when kept at
that value for a long period of time.
Repeatability: The deviation between measurements in a sequence under the same
conditions. The measurements have to be made under a short enough time duration so as not
to allow significant long-term drift.
Dynamic Characteristics:
Properties of the systems
Zero-order system: The output shows a response to the input signal with no delay. It does not
include energy-storing elements. Ex. potentiometer measure, linear and rotary displacements.
First-order system: When the output approaches its final value gradually. Consists of an energy
storage and dissipation element.
Second-order system: Complex output response. The output response of the sensor oscillates before
steady state.
Sensor Classification:
Passive & Active
Analog & digital
Scalar & vector
1. Passive Sensor: Cannot independently sense the input. Ex- Accelerometer, soil
moisture, water level and temperature sensors.
2. Active Sensor: Independently sense the input. Example- Radar, sounder and laser
altimeter sensors.
3. Analog Sensor: The response or output of the sensor is some continuous function of
its input parameter. Ex- Temperature sensor, LDR, analog pressure sensor and analog
hall effect.
4. Digital sensor: Response in binary nature. Design to overcome the disadvantages of
analog sensors. Along with the analog sensor, it also comprises extra electronics for
bit conversion. Example – Passive infrared (PIR) sensor and digital temperature
sensor(DS1620).
5. Scalar sensor: Detects the input parameter only based on its magnitude. The answer
for the sensor is a function of magnitude of some input parameter. Not affected by the
direction of input parameters. Example – temperature, gas, strain, color and smoke
sensor.
6. Vector sensor: The response of the sensor depends on the magnitude of the direction
and orientation of input parameter. Example – Accelerometer, gyroscope, magnetic
field and motion detector sensors.
UNIT III IoT PROTOCOLS AND TECHNOLOGY
SCADA Protocols
SCADA systems to obtain its functionality, it needs a protocol for transmitting data. Some
of the SCADA protocols include Modbus RTU, RP-570, Profibus and Conitel. These communications
protocols are all SCADA-vendor specific but are widely adopted and used. Standard protocols are
IEC 61850 (in which T101 branched out), IEC 60870-5-101 or 104, and DNP3. These
communications protocols are standardized and recognized by all major SCADA vendors. Many of
these protocols is now improved and contain extensions to operate over TCP/IP. It is good security
engineering practice to avoid connecting SCADA systems to the Internet so the attack surface is
reduced. RTUs and other automatic controller devices were being developed before the advent of
industry wide standards for interoperability. The result is that developers and their management
created a multitude of control protocols.
Among the larger vendors, there was also the incentive to create their own protocol to "lock in" their
customer base. This paper discusses and compares T101 and DNP3. These two open communication
protocols that provide for interoperability between systems for tele control applications. Both are now
competing within the world market. DNP is widely used in North America, South America, South
Africa, Asia and Australia, while IEC 60870-5-101 or T101 is strongly supported in the Europe.
IEC 60870-5
IEC 60870-5 is the collection of standards produced by the IEC (International Electrotechnical
Commission). It was created to provide an open standard for the transmission of SCADA telemetry
control and information. It provides a detailed functional description for telecontrol equipment and
systems for controlling geographically widespread processes specifically for SCADA systems. The
standard is intended for application in the electrical industries, and has data objects that are
specifically intended for such applications. It is also applicable to general SCADA applications in any
industry. But IEC 60870-5 protocol is primarily used in the electrical industries of European
countries.
T101
T101 or IEC 60870-5-101 (IEC101) is an international standard prepared by TC57 for power system
monitoring, control & associated communications. This is compatible with IEC 60870-5-1 to IEC
60870-5-5 standards and uses standard asynchronous serial tele-control channel interface between
DTE and DCE. The standard is suitable for multiple configurations like point-to-point, star,
mutidropped etc
DNP3 Protocol
The DNP3 or Distributed Network Protocol is a set of communications protocols used between
components in process automation systems. It is usually used is in utilities such as water and electric
companies. It is also technically possible to use it in other utilities. It was specifically developed to
facilitate communications between various types of data acquisition and control systems. It plays a
crucial role in SCADA systems. It is used by SCADA Master Stations or Control Centers, Remote
Terminal Units, and Intelligent Electronic Devices.
T101 and DNP3 are the most common SCADA protocols that are used in SCADA systems. Aside
form T101 and DNP3 the following protocols are also utilized in SCADA systems.
Modbus RTU
Modbus RTU is a serial communications protocol published by Modicon in 1979 for use with its
programmable logic controllers (PLCs). It has become a de facto standard communications protocol
in industry, and is now the most commonly available means of connecting industrial electronic
devices. The main reasons for the extensive use of Modbus over other communications protocols are:
It is openly published and royalty-free, relatively easy industrial network to deploy and it moves raw
bits or words without placing many restrictions on vendors.
RP-570
RP570 is a protocol used between an RTU (Remote Terminal Unit) in a substation and the FE (Front
End), which is usually the SCADA software in the Control Center. RP570 was developed by ABB in
beginning of 1990. It was based on IEC 57 part 5-1, presently known as IEC 60870. Known variations
are RP571, ADLP80 and ADLP180.
Profibus
Conitel
Continel protocol is an asynchronous communications protocol used in many Supervisory Control and
Data Acquisition (SCADA) systems. CONITEL Message blocks are composed of 31 bits plus a
message synchronization "start bit" at the front of the first message block and an End of Message
(EOM) bit at the end of each block. The protocol may be used either in a point-to-point or in a multi-
drop configuration. The protocol can be used in either half or full-duplex operation. Communications
security is provided by a 5-bit Bose-Chaudhuri cyclic code which is included with each message
block.
RFID Protocols
Radio Frequency Identification (RFID) is a method that is used to track or identify an object by radio
transmission uses over the web. Data digitally encoded in an RFID tag which might be read by the
reader. This device work as a tag or label during which data read from tags that are stored in the
database through the reader as compared to traditional barcodes and QR codes. It is often read outside
the road of sight either passive or active RFID.
Kinds of RFID
There are many kinds of RFID, each with different properties, but perhaps the most fascinating aspect
of RFID technology is that most RFID tags have neither an electric plug nor a battery. Instead, all of
the energy needed to operate them is supplied in the form of radio waves by RFID readers. This
technology is called passive RFID to distinguish it from the (less common) active RFID in which
there is a power source on the tag.
UHF RHID ( Ultra-High Frequency RFID ). It is used on shipping pallets and some driver’s
licenses. Readers send signals in the 902-928 MHz band. Tags communicate at distances of several
meters by changing the way they reflect the reader signals; the reader is able to pick up these
reflections. This way of operating is called backscatter.
HF RFID (High-Frequency RFID ). It operates at 13.56 MHz and is likely to be in your passport,
credit cards, books, and noncontact payment systems. HF RFID has a short-range, typically a meter or
less because the physical mechanism is based on induction rather than backscatter.
There are also other forms of RFID using other frequencies, such as LF RFID(Low-Frequency RFID),
which was developed before HF RFID and used for animal tracking
2. Active RFID: In this device, RF tags are attached by a power supply that emits a signal and
there is an antenna which receives the data.
Features of RFID:
Advantages of RFID:
It provides data access and real-time information without taking to much time.
RFID tags follow the instruction and store a large amount of information.
The RFID system is non-line of sight nature of the technology.
It improves the Efficiency, traceability of production.
In RFID hundreds of tags read in a short time.
Disadvantages of RFID:
BACnet Protocol
A data communication protocol that is used to build an automated control network, is known as
BACnet or Building Automation Control Network. This data communication protocol is both an ISO
& ANSI standard used for interoperability between cooperating building automation devices. Bacnet
Protocol includes a set of rules for governing the data exchange on a computer network that simply
covers all from what type of cable to utilize, to form a particular command or request in a normal
way.
To attain interoperability across a broad spectrum of equipment, the BACnet specification includes
three major parts. Primary, Secondary, and tertiary. So the primary part defines a technique to
represent any kind of building automation apparatus in a normal way.
The BACnet protocol architecture is predominately restricted to lighting controls, HVAC & gateways.
This protocol highlights lightweight and efficient communication which is optimized for short
messages, small networks, and inter-networks.
BACnet protocol architecture is a collapsed architecture that matches to 4-layers of the OSI model.
The four layers in the BACnet architecture mainly include Application, Network, Data Link &
Physical. Even though, just the Network layer & Application layer are simply BACnet.
The above architecture is the BACnet protocol stack which includes different layers as shown in the
diagram. This protocol is a collapsed version of the OSI stack. The transport and session layers are not
used. The application layer takes on the functions of these two layers.
BACnet Physical Layer
The upper layers of BACnet do not depend on the physical layer. So the Physical layer of BACnet
makes it feasible for BACnet to be executed on different networks. The physical layers of BACnet
have been specified with ARCNET, Ethernet, IP tunnels, BACnet/IP, RS-232, RS485, and
Lonworks/LonTalk. RS232 is for point-to-point communication. RS485 supports up to 32 nodes with
a distance of 1200 m at 76Kbps.
BACnet protocol is implemented directly with LonTalk or IEEE802.2 link layers. So it specifies Point
to Point (PTP) data link layer for RS232 connections. It specifies MS/TP data link layer intended for
RS-485 connections. The standard simply specifies BVLL (BACnet Virtual Link Layer) which states
all the services required through the BACnet device at this link layer.
IP BACnet Virtual Link Layer encapsulates required control data in a header of BACnet virtual link
control information. Because of IP, BVLL, and BACnet protocol devices can directly communicate
over IP networks without the requirement of any router device. BACnet protocol utilizes BBMD
(BACnet broadcast management device) concept which executes the required broadcast for the
preferred link layer.
This layer simply specifies the required addresses of the network for routing. BACnet network
includes a minimum of one or above segments that are connected with bridges once they utilize
similar LAN technologies. If they utilize various LAN protocols, then they are connected through
routers.
Application Layer
BACnet does not separate presentation as well as application layers. So it takes care of reliability &
sequencing or segmentation mechanisms generally connected with both the session & transport layers.
BACnet includes devices like objects to exchange service primitives which are described with ASN.1
syntax & serialized with ASN.1 BER.
The concept of BACnet security can be understood easily with an example say when BACnet device-
A requests a session key from the key server for establishing secure communication through device B,
then this key is transmitted to both the device-A & device-B through the key server which is known as
‘SKab’. BACnet protocol uses 56-bit DES encryption.
BACnet is a typical electronic communication protocol that works by allowing different kinds of
manufacturers’ building automation as well as monitoring systems like fire alarms, HVAC, and
perimeter security for communicating with each other. This protocol can work with nearly any normal
data protocol including TCP/IP.
To the control system of the elevator to send all elevators to the ground floor immediately.
To the paging system of the building to transmit an audible voice signal to inform occupants
of the building wherever the blaze was detected & how to go out from the building.
From the audio or visual systems of the building to flash messages on TV displays within the
conference rooms.
To an interface of phone system for sending alerts through text message to the facilities &
engineering teams of the building.
An object signifies physical information (physical inputs, outputs) & nonphysical information
(software/calculations). It is very significant to note that every object may signify a single portion of
information otherwise a group of information which executes the same and exact function.
BACnet Object
BACnet object is a concept that allows the communication as well as a group of data related to i/ps,
o/ps, software & calculations to be executed. The BACnet Object can visible itself in different ways
like Single Points, Logical Groups, Program Logic, Schedules & Historical Data. The BACnet objects
are both physical & non-physical.
Different Types
BACnet/IP
This is normally used with existing VLAN & WAN networks. So the devices can connect
directly to hubs or Ethernet switches. This LAN is a high-performance & fast type, but very
costly. BACnet/IP utilizes UDP/IP for compatibility through existing IP infrastructure. Once
BACnet/IP is utilized with several IP subnets, then extra device functionality known as
BBMDs (BACnet Broadcast Management Devices).
BACnet MS/TP
This kind of LAN uses EIA-485 twisted pair for signaling up to 4k feet. So it is a very
famous type of BACnet LAN which is used for unitary as well as application-specific
controllers. This BACnet MS/TP is not expensive.
BACnet is directly used with Ethernet 8802-3 networks which are similar to BACnet/IP in
terms of speed & cost, although restricted to a single physical infrastructure that does not
utilize IP routers.
BACnet over ARCNET
This BACnet is MAC type which includes two forms like 2.5Mbs coax & 156Kbs above
EIA-485. This BACnet is supported by a limited number of vendors with ARCNET.
BACnet Point-to-Point
This BACnet Point-to-Point is simply used over the networks of dial-up telephones.
Generally, thus direct EIA-232 connection is no longer used for a direct Ethernet connection.
This BACnet simply allows LonTalk’s transport component for carrying BACnet messages.
But, the two protocols are not interoperable.
Generally, this MAC is a wireless mesh network used with less costly devices. So it is
normally used as a gateway to ZigBee devices & not like a native BACnet transport.
Disadvantages
The main drawback of the BACnet protocol was a compliant problem. So because of
this issue, the BTL (BACnet Testing Laboratories) was introduced in the year 2000.
BTL is compliance & and independent testing organization. The main intention of this
is to test the products of BACnet to verify compliance with the standard. Once
approved; the product will get the logo of BTL.
The problems or net-worthy attacks which are widely found in this protocol are; Lack
of spoofing & authentication, DoS attacks, immobilized network connections, and
lack of encryption & write access over devices.
Applications
The BACnet is used in HVAC applications, fire control lighting control, security,
alarm & interfacing to utility companies.
This protocol was particularly designed for building automation as well as control
applications.
This protocol is used to provide mechanisms, especially for automation devices for
exchanging data irrespective of the specific building service they perform.
This protocol can be used by digital controllers, computers & application-specific
otherwise unitary controllers with equivalent effect.
BACnet protocol was initially developed to develop interoperability between building
automation devices; however, its data descriptions, as well as flexible architecture,
will make it work within a broad range of control applications.
This is an object-oriented protocol, so used to signify network-accessible control
equipment.
This is the best protocol used to build automation and also to connect different systems. So,
Bacnet Protocol in IoT technology has a great future & it will develop by leaps & bounds. This
protocol provides a great solution from a scalability viewpoint too. Considering the criticality &
demand of the application, safety must be given & development must be done with security in
mind.
Zigbee Architecture
Zigbee
ZigBee is a Personal Area Network task group with low rate task group 4. It is a technology of home
networking. ZigBee is a technological standard created for controlling and sensing the network. As
we know that ZigBee is the Personal Area network of task group 4 so it is based on IEEE 802.15.4
and is created by Zigbee Alliance.
ZigBee is a standard that addresses the need for very low-cost implementation of Low power devices
with Low data rates for short-range wireless communications.
Zigbee Coordinator Device: It communicates with routers. This device is used for
connecting the devices.
Zigbee Router: It is used for passing the data between devices.
Zigbee End Device: It is the device that is going to be controlled.
Architecture of Zigbee:
1. Application Layer
2. Application Interface Layer
3. Security Layer
4. Network Layer
5. Medium Access Control Layer
6. Physical Layer
Physical layer: The lowest two layers i.e the physical and the MAC (Medium Access
Control) Layer are defined by the IEEE 802.15.4 specifications. The Physical layer is closest
to the hardware and directly controls and communicates with the Zigbee radio.
Medium Access Control layer (MAC layer): The layer is responsible for the interface
between the physical and network layer. The MAC layer is also responsible for providing
PAN ID and also network discovery through beacon requests.
Network layer: This layer acts as an interface between the MAC layer and the application
layer. It is responsible for mesh networking.
Application layer: The application layer in the Zigbee stack is the highest protocol layer and
it consists of the application support sub-layer and Zigbee device object. It contains
manufacturer-defined applications.
Advantages
6LowPAN
6LoWPAN is an IPv6 protocol, and It’s extended from is IPv6 over Low Power Personal Area
Network. As the name itself explains the meaning of this protocol is that this protocol works on
Wireless Personal Area Network i.e., WPAN.
WPAN is a Personal Area Network (PAN) where the interconnected devices are centered around a
person’s workspace and connected through a wireless medium. You can read more about WPAN at
WPAN. 6LoWPAN allows communication using the IPv6 protocol. IPv6 is Internet Protocol Version
6 is a network layer protocol that allows communication to take place over the network.
6LoWPAN initially came into existence to overcome the conventional methodologies that were
adapted to transmit information. But still, it is not so efficient as it only allows for the smaller devices
with very limited processing ability to establish communication using one of the Internet Protocols,
i.e., IPv6. It has very low cost, short-range, low memory usage, and low bit rate.
It comprises an Edge Router and Sensor Nodes.
It is a technology that makes the individual nodes IP enabled.
6LoWPAN can interact with 802.15.4 devices and also other types of devices on an IP Network.
For example, Wi-Fi.
It uses AES 128 link layer security, which AES is a block cipher having key size of 128/192/256
bits and encrypts data in blocks of 128 bits each. This is defined in IEEE 802.15.4 and provides
link authentication and encryption.
1. The device should be having sleep mode in order to support the battery saving.
2. Minimal memory requirement.
3. Routing overhead should be lowered.
Features of 6LoWPAN:
With many low power wireless sensor networks and other forms of ad hoc wireless networks, it is
necessary that any new wireless system or technology has a defined area which it addresses. While
there are many forms of wireless networks including wireless sensor networks, 6LoWPAN addresses
an area that is currently not addressed by any other system, i.e. that of using IP, and in particular IPv6
to carry the data.
The overall system is aimed at providing wireless internet connectivity at low data rates and with a
low duty cycle. However there are many applications where 6LoWPAN is being used:
General Automation: There are enormous opportunities for 6LoWPAN to be used in many
different areas of automation.
Home automation: There is a large market for home automation. By connecting using IPv6,
it is possible to gain distinct advantages over other IoT systems. The Thread initiative has
been set up to standardize on a protocol running over 6LoWPAN to enable home automation.
Smart Grid: Smart grids enable smart meters and other devices to build a micro mesh
network and they are able to send the data back to the grid operator’s monitoring and billing
system using the IPv6 backbone.
Industrial monitoring: Automated factories and industrial plants provide a great
opportunity for 6LoWPAN and using automation, can enable major savings to be made. The
ability of 6LoWPAN to connect to the cloud opens up many different areas for data
monitoring and analysis.
6LoWPAN security
It is anticipated that the Internet of Things, IoT will offer hackers a huge opportunity to take control of
poorly secured devices and also use them to help attack other networks and devices.
Accordingly, security is a major issue for any standard like 6LoWPAN, and it uses AES-128 link
layer security which is defined in IEEE 802.15.4. This provides link authentication and encryption.
Further security is provided by the transport layer security mechanisms that are also included. This is
defined in RFC 5246 and runs over TCP.
For systems where UDP is used the transport layer protocol defined under RFC 6347 can be used,
although this may require some specific hardware requirements.
6LoWPAN interoperability
One key issue of any standard is that of interoperability. It is vital that equipment from different
manufacturers operates together.
When testing for interoperability, it is necessary to ensure that all layers of the OSI stack are
compatible. To ensure that this can be achieved there several different specifications that are
applicable.
Any item can be checked to conform it meets the standard, and also directly tested for
interoperability.
Advantages of 6LoWPAN:
1. 6LoWPAN is a mesh network that is robust, scalable, and can heal on its own.
2. It delivers low-cost and secure communication in IoT devices.
3. It uses IPv6 protocol and so it can be directly routed to cloud platforms.
4. It offers one-to-many and many-to-one routing.
5. In the network, leaf nodes can be in sleep mode for a longer duration of time.
Disadvantages of 6LoWPAN:
CoAP
CoAP a customary client-server IoT protocol. It enables clients to make requests for web transfers as
per the need of the hour. On the other hand, it also let supporting servers to respond to arriving
requests. In summary, devices’ nodes in the IoT ecosystem are enabled to interact over through CoAP
only.
CoAP and HTTP follow the same working procedure. However, CoAP attains its functionality via
asynchronous transactions (using UDP). It utilizes the POST, GET, PUT, and DELETE calls. That’s
the reason why API security is of higher grade while CoAP is active as it is an RPK and PSK-certified
protocol.
CoAP Architecture
The WWW and the constraints ecosystem are the 2 foundational elements of the CoAP protocol
architecture. Here, the server monitors and helps in communication happening using CoAP and HTTP
while proxy devices bridge the existing gap for these 2 ecosystem, making the communication
smoother.
CoAP allows HTTP clients (also called CoAP clients here) to talk or exchange data/information with
each other within resource constraints.
While one tries to understand this architecture, gaining acquaintances with some key terms is crucial:
The key role of CoAP is to act like HTTP wherever restricted devices are a part of communication.
While filling the gap of HTTP, it enables devices like actuators and sensors to interact over the
internet.
The devices, involved in the process, are administered and controlled by considering data as a
system’s component. CoAP protocol can operate its functions in an environment having reduced
bandwidth and extreme congestion as it consumes reduced power and network bandwidth.
For the application ecosystem where CoAP is not desirable, generic implementations are offered for
various platforms. Most of the CoAP implementations are done privately while few are published in
open-source libraries like MIT license.
CoAP Features
The defining features that place CoAP protocol separate from other protocols are as stated next. As it
shares great similarities with HTTP, developers face bare minimum difficulties while using it.
CoAP is an integration-friendly protocol and can be paired easily with applications using cross-
protocol proxies. Seamlessly, it integrates with JSON, XML, CBOR, and various other data formats.
In the process, the web client doesn’t get hints about a sensor resource being accessed.
As resources demanded by CoAP are on the minimum side, it keeps the wastes under control. There is
no need to deploy a hefty transport stack for web transfers. The header and encoding, used for
message processing, are compact and don’t cause any fragments on the link layer.
CoAP Layer
It makes UDP transactions possible at endpoints in the confirmable (CON) or non-confirmable (NON)
format. Every CoAP message features a distinct ID to keep the possibilities of message duplications at
bay.
The 3 key parts involved to build this layer are binary header, computer option, and payload. As
explained before, confirmable texts are reliable and easy-to-construct message that are fast and are
resent until the receipt of a confirmation of successful delivery (ACK) with message ID.
This layer takes care of CON and NON message requests. Acceptance of these requests depend on
server’s availability. Cases are:
1. If idle, the server will handle the request right away. If a CON, the client will get an ACK for
it. If the ACK is shared as a Token and differs from the ID, it is essential to map it properly
by matching request-response pairs.
2. If there is a delay or wait involved, the ACK is sent but as an empty text. When its turn
arrvies, the request is processed andthe client gets a fresh CON.
Request or response codes for CoAP are same as for the HTTP, except for the fact that they
are in the binary format (0-8 byte Tokens) in CoAP’s case.
Request methods for making calls (GET, PUT, POST, and DELETE) are declared in the
process.
A CON response could either be stored in an ACK message or forward as CON/NON.
CoAP vs MQTT
MQTT CoAP
This model has publishers and subscribers as main Uses requests and responses
participants
Central broker handles message dispatching, Message dispatching happens on a unicasting basis
following the optimal publisher to client path. (one-to-one). The process is same as HTTP.
Establishing a continual and long-lasting TCP Involved parties use UDP packets (async) for message
connection with the broker is essential for the client. passing and communication.
No message labeling but have to use diverse It defines messages properly and makes its discovery
messages for different purposes. easy.
Energy Storage Module
IoT devices, with only non-chargeable battery cells, have a limited lifetime based on the total battery
energy provided, which makes the battery volume necessary. The available energy also limits the IoT
performance in terms of, e.g., the number of measurements, data analysis, and data communication.
For IoT devices with an energy harvester, the situation changes. Many of the performance limitations
will disappear or be greatly reduced.
Wireless data Transport
The most power-intensive task for most of today’s wireless IoT devices is wireless communication. In
general, it is energy efficient in that a packet transmission is completed without any interruptions.
Internet packet sizes vary from 50–1500 depending on the application and the radio protocol used.
Thus, ensuring that enough energy is available for transmitting a complete package is important.
RF Transceivers
For more than two decades, vendors have produced commercially available RF modules/chips that
can transmit (TX) and receive (RX) digital data from one point to another. We have investigated
datasheets for RF chips from various vendors and compared them over time. All chips have been
compared using their highest sensitivity setting, highest data rate and a power output to the antenna of
1mW (0dBm).
RF Limitations
To address if the current trend can continue, we used Shannon-Hartley’s theorem to analyze what a
theoretical limit could be. The Shannon-Hartley theorem states the maximum data capacity in the
presence of noise that can be transmitted wirelessly for a given signal strength, noise and bandwidth.
C=Wlog2(1+PrNr),
where C is the channel capacity (bits/s), W is the bandwidth (Hz), Pr is the received signal strength
(watt or volt2) and Nr is noise (watt or volt2).
Pr=Nr(2C/W−1).
Ln in the presence of noise for a specific channel capacity and bandwidth.
Ln(dB)=Pt(dB)−Nr(dB)−dB(2C/W−1)).
Data Acquisition
It is common that an IoT device samples a low number of data points, e.g., a temperature
measurement. Since temperature measurements are seldom performed consecutively in long high
frequency series, the measurement tasks can be performed rapidly with sleeping periods in between.
However, in cases where the task is to capture a waveform, it can be considered an interruptible task,
where the acquisition can be the dominating task.
Energy Storage
Batteries
Batteries, both primary and secondary cells, have high energy densities and are the most common
storage medium for wireless sensors today. Despite their high storage capacities, they are not well
suited for long-life (up to 20 years) IoT devices. Primary cells cannot be recharged, and secondary
cells suffer from cyclic degradation. Hence, battery-powered IoT devices require maintenance, which
is not a desired feature.
Supercapacitors
Supercapacitors have lower energy density than batteries; however, they do not suffer from cyclic
degradation to as great an extent as secondary cells. Regardless, supercapacitors do suffer from
energy losses due to internal energy distribution and current leakage. The internal current leakage
alone can consume as much power as a microprocessor in a low power running state. All
commercially available supercapacitors known to the authors knowledge cannot operate above 85∘C,
limiting the use of supercapacitors in many industrial applications.
Capacitors
Electrolytic capacitors also suffer from degradation; however, many electrolytic capacitor failure
modes and degradation are due to high ripple currents, core heating and vaporization of the
electrolyte, which is unlikely for a wireless IoT device under consumer and most industrial operating
conditions.
The low degradation, low current leakage and projected energy density increase make ceramic
capacitors a good candidate for intermediate energy storage in combination with energy harvesting for
long-life industrial IoT devices.
Power Management Module
Power management is a notable concern for IoT devices considering application based sensor use; it is
required to be powered by small batteries for extended periods of time. The semiconductors used in
such devices must be designed for low power. The Wireless Sensor Networks (WSNs) fundamentally
utilize nodes integrated in application specific domain with the ability to recognize and capture vital
information. Usually, the sensing nodes operate by fetching energy from a battery source. The
rectified input is shared with the switching regulator, which further uses Battery management block,
for example, the sensors output is transmitted to switching converter and further the output of DC-DC
converter is sent to battery management unit that focuses on power management of the IoT system.
Various blocks in the architecture are used in very familiar IoT systems and some of the aspects of
blocks concerning battery, LDOs, DC-DC converters need to be addressed for power management of
whole system.
transmitter module
receiver module
transceiver module
system on a chip module.
Transmitter modules
An RF transmitter module is a small PCB sub-assembly capable of transmitting a radio wave and
modulating that wave to carry data. Transmitter modules are usually implemented alongside a
microcontroller which will provide data to the module which can be transmitted. RF transmitters are
usually subject to regulatory requirements which dictate the maximum allowable transmitter power
output, harmonics, and band edge requirements.
Receiver modules
An RF receiver module receives the modulated RF signal, and demodulates it. There are two types of
RF receiver modules: super heterodyne receivers and super regenerative receivers. Super regenerative
modules are usually low cost and low power designs using a series of amplifiers to extract modulated
data from a carrier wave. Super regenerative modules are generally imprecise as their frequency of
operation varies considerably with temperature and power supply voltage. Super heterodyne receivers
have a performance advantage over super regenerative; they offer increased accuracy and stability
over a large voltage and temperature range.
Transceiver modules
An RF transceiver module incorporates both a transmitter and receiver. The circuit is typically
designed for half-duplex operation, although full-duplex modules are available, typically at a higher
cost due to the added complexity.
System on a chip (SoC) module
An SoC module is the same as a transceiver module, but it is often made with an onboard
microcontroller. The microcontroller is typically used to handle radio data packetisation or managing
a protocol such as an IEEE 802.15.4 compliant module. This type of module is typically used for
designs that require additional processing for compliance with a protocol when the designer does not
wish to incorporate this processing into the host microcontroller.
Host microcontroller interface
RF modules typically communicate with an embedded system, such as a microcontroller or a
microprocessor. The communication protocols include UART, used in Digi International's X-Bee
modules, Serial Peripheral Interface Bus used in Anaren's AIR modules and Universal Serial Bus used
in Roving Networks' modules. Although the module may use a standardized protocol for wireless
communication, the commands sent over the microcontroller interface are typically not standardized
as each vendor has its own proprietary communications format. The speed of the microcontroller
interface depends on the speed of the underlying RF protocol used: higher speed RF protocols such as
Wi-Fi require a high-speed serial interface such as USB whereas protocols with a slower data rate
such as Bluetooth Low Energy may use a UART interface.
RF signal modulation
There are several types of digital signal modulation methods commonly used in RF transmitter and
receiver modules:
ASK
OOK
FSK
direct-sequence spread spectrum
frequency-hopping spread spectrum.
The detailed description, advantages and disadvantages are listed in the linked articles above.
Main factors affecting RF module performance
As with any other RF device, the performance of an RF module will depend on a number of factors.
For example, by increasing the transmitter power, a larger communication distance will be achieved.
However, this will also result in a higher electrical power drain on the transmitter device, which will
cause shorter operating life for battery powered devices. Also, using a higher transmit power will
make the system more prone to interference with other RF devices, and may in fact possibly cause the
device to become illegal depending on the jurisdiction. Correspondingly, increasing the receiver
sensitivity will also increase the effective communication range, but will also potentially cause
malfunction due to interference from other RF devices.
The performance of the overall system may be improved by using matched antennas at each end of
the communication link, such as those described earlier.
Finally, the labeled remote distance of any particular system is normally measured in an open-air line
of sight configuration without any interference, but often there will be obstacles such as walls, floors,
or dense construction to absorb the radio wave signals, so the effective operational distance will in
most practical instances be less than specified.
Module physical connection
A variety of methods are used to attach an RF module to a printed circuit board, either with through-
hole technology or surface-mount technology. Through-hole technology allows the module to be
inserted or removed without soldering. Surface-mount technology allows the module to be attached to
the PCB without an additional assembly step. Surface-mount connections used in RF modules include
land grid array (LGA) and castellated pads. The LGA package allows for small module sizes as the
pads are all beneath the module but connections must be X-rayed to verify connectivity.
Wireless protocols used in RF modules
RF modules, especially SoC modules, are frequently used to communicate according to a pre-defined
wireless standard, including:
Zigbee
Bluetooth Low Energy
Wi-Fi
IEEE 802.15.4
Z-Wave
However, RF modules also frequently communicate using proprietary protocols, such as those used in
garage door openers.
Typical applications
Vehicle monitoring
Remote control
Telemetry
Small-range wireless network
Wireless meter reading
Access control systems
Wireless home security systems
Area paging
Industrial data acquisition system
Radio tags reading
RF contactless smart cards
Wireless data terminals
Wireless fire protection systems
Biological signal acquisition
Hydrological and meteorological monitoring
Robot remote control
Wireless data transmissions
Digital video/audio transmission
Digital home automation, such as remote light/switch
Industrial remote control, telemetry and remote sensing
Alarm systems and wireless transmission for various types of low-rate digital signal
Remote control for various types of household appliances and electronics projects
Many other applications field related to RF wireless controlling
Sensing Module
The sensors convert a physical quantity into a corresponding voltage. They are used to measure
physical properties like pressure, temperature, force, acceleration, location, motion, light intensity,
humidity, air pressure, etc.
The term transducer is often used for sensors. They capture the change in the environment variable.
Sensor modules have extra electronic circuitry along with a sensor that helps interface them with
microcontrollers.
A 7 segment LED display is a form of an electronic display device is used for displaying decimal
numerals. It is an alternative to previously used more complex dot matrix displays. They are mainly
used in electronic meters, digital clocks, basic calculators, and other electronic devices that display
numerical information.
The displays common pins are generally used to identify which type of 7 segment display it is.
Every LED display has two connecting pins, are “Anode” and “Cathode”, therefore two types of LED
7-segment display called: Common Cathode (CC) and Common Anode (CA).
A Seven Segment display has 10 pins which are A, B, C, D, E, F, G, DP, and two pins.
Bluetooth Module HC-05 is used to communicate between Arduino and other devices. HC-05 is used
for a transparent wireless serial connection setup. It is simple to use Bluetooth SPP (Serial Port
Protocol) module. HC-05 can be used in a Master or Slave configuration, making it a great solution
for wireless communication.
For example, Bluetooth Module is used in Home Automation using Arduino to control appliance
using Bluetooth. You can see our article on Home Automation using Arduino and Bluetooth
HC-05 has 6 pins are STATE, RXD, TXD, GND, VCC, and EN.
Color Sensor
Color Sensor (TCS3200) is a color detector that detects surface color which has 4 white LEDs and a
TAOS TCS3200 RGB sensor chip. It can detect and measure the nearly limitless range of visible
colors.
Internal to the device is an oscillator which produces a square-wave output whose frequency is
proportional to the intensity of the color chosen. Color Sensor outputs a square wave (50% duty
cycle) with a frequency corresponding to light intensity and color, the frequency is directly
proportional to light intensity.
The DHT11 Temperature and Humidity Sensor senses, measures and regularly reports the relative
humidity in the air. It measures both moisture and air temperature. The warmer the air is, the more
moisture it can hold, so relative humidity changes with fluctuations in the temperature.
Humidity sensors detect the relative humidity of immediate environments in which they are placed.
As the air becomes hotter, it holds more moisture, so the relative humidity changes with the
temperature.
DHT11 Pinout
DS3231 RTC Module (Real-Time Clock Module) is used to track the current time and date and
generally used in computers, laptops, mobiles, embedded system applications devices, etc.
It is also called the Real-Time Clock Module which is a low-cost, extremely accurate I²C RTC with a
battery(Cell) and an integrated temperature-compensated crystal oscillator (TCXO) and crystal.
The clock operates in both time format i.e. 24 hours and 12 hours with an AM/PM indicator. There
are different types of ICs used for RTC like DS1307, DS12C887, etc.
DS3231 Pinout
This RTC module has a total of 10 pins but some pins are the same.
Ground
Connected to the ground of the circuit
(GND)
Vcc
Can be powered by either 3.3V or 5V
(Vdd,5V)
Relay Module
Relay is a switch which is operated electrically. Relays are work on the electromagnetic principle to
mechanically operate a switch but there are also other relays that operate on other principles such as
solid-state relays.
Relays are used to control a circuit by a separate low power signal or, controlled several circuits by
one signal.
Relay is an electrically operated switch that can be turned on by a circuit or device or current can be
turned on. The relay can be controlled through Arduino in a very simple way, like controlling an
LED.
UNIT IV CLOUD ARCHITECTURE BASICS
The Cloud types; IaaS, PaaS, SaaS
Infrastructure as a Service (IaaS)
IaaS is also known as Hardware as a Service (HaaS). It is a computing infrastructure managed over
the internet. The main advantage of using IaaS is that it helps users to avoid the cost and complexity
of purchasing and managing the physical servers. IaaS provider provides the following services -
1. Compute: Computing as a Service includes virtual central processing units and virtual main
memory for the Vms that is provisioned to the end- users.
2. Storage: IaaS provider provides back-end storage for storing files.
3. Network: Network as a Service (NaaS) provides networking components such as routers,
switches, and bridges for the Vms.
4. Load balancers: It provides load balancing capability at the infrastructure layer.
Characteristics of IaaS
It provides a virtual data It provides virtual platforms and It provides web software and
center to store information tools to create, test, and deploy apps to complete business
and create platforms for app apps. tasks.
development, testing, and
deployment.
The full form of AWS is Amazon Web Services. It is a platform that offers flexible, reliable, scalable,
easy-to-use and, cost-effective cloud computing solutions.
AWS is a comprehensive, easy to use computing platform offered Amazon. The platform is
developed with a combination of infrastructure as a service (IaaS), platform as a service (PaaS) and
packaged software as a service (SaaS) offerings.
History of AWS
EC2(Elastic Compute Cloud)- EC2 is a virtual machine in the cloud on which you have OS
level control. You can run this cloud server whenever you want.
LightSail- This cloud computing tool automatically deploys and manages the computer,
storage, and networking capabilities required to run your applications.
Elastic Beanstalk- The tool offers automated deployment and provisioning of resources like
a highly scalable production website.
EKS (Elastic Container Service for Kubernetes)- The tool allows you to Kubernetes on
Amazon cloud environment without installation.
AWS Lambda- This AWS service allows you to run functions in the cloud. The tool is a big
cost saver for you as you to pay only when your functions execute.
Migration
Migration services used to transfer data physically between your datacenter and AWS.
DMS (Database Migration Service)– DMS service can be used to migrate on-site databases
to AWS. It helps you to migrate from one type of database to another — for example, Oracle
to MySQL.
SMS (Server Migration Service)– SMS migration services allows you to migrate on-site
servers to AWS easily and quickly.
Snowball- Snowball is a small application which allows you to transfer terabytes of data
inside and outside of AWS environment.
Storage
Amazon Glacier- It is an extremely low-cost storage service. It offers secure and fast storage for data
archiving and backup.
Amazon Elastic Block Store (EBS)- It provides block-level storage to use with Amazon
EC2 instances. Amazon Elastic Block Store volumes are network-attached and remain
independent from the life of an instance.
AWS Storage Gateway- This AWS service is connecting on-premises software applications
with cloud-based storage. It offers secure integration between the company’s on-premises and
AWS’s storage infrastructure.
Security Services
IAM (Identity and Access Management)- IAM is a secure cloud security service which
helps you to manage users, assign policies, form groups to manage multiple users.
Inspector- It is an agent that you can install on your virtual machines, which reports any
security vulnerabilities.
Certificate Manager- The service offers free SSL certificates for your domains that are
managed by Route53.
WAF (Web Application Firewall)- WAF security service offers application-level protection
and allows you to block SQL injection and helps you to block cross-site scripting attacks.
Cloud Directory- This service allows you to create flexible, cloud-native directories for
managing hierarchies of data along multiple dimensions.
KMS (Key Management Service)- It is a managed service. This security service helps you
to create and control the encryption keys which allows you to encrypt your data.
Organizations- You can create groups of AWS accounts using this service to manages
security and automation settings.
Shield- Shield is managed DDoS (Distributed Denial of Service protection service). It offers
safeguards against web applications running on AWS.
Macie- It offers a data visibility security service which helps classify and protect your
sensitive critical content.
GuardDuty- It offers threat detection to protect your AWS accounts and workloads.
Database Services
Amazon RDS- This Database AWS service is easy to set up, operate, and scale a relational
database in the cloud.
Amazon DynamoDB- It is a fast, fully managed NoSQL database service. It is a simple
service which allow cost-effective storage and retrieval of data. It also allows you to serve
any level of request traffic.
Amazon ElastiCache- It is a web service which makes it easy to deploy, operate, and scale
an in-memory cache in the cloud.
Neptune- It is a fast, reliable and scalable graph database service.
Amazon RedShift- It is Amazon’s data warehousing solution which you can use to perform
complex OLAP queries.
Application Services
Step Functions- It is a way of visualizing what’s going inside your application and what
different microservices it is using.
SWF (Simple Workflow Service)- The service helps you to coordinate both automated tasks
and human-led tasks.
SNS (Simple Notification Service)- You can use this service to send you notifications in the
form of email and SMS based on given AWS services.
SQS (Simple Queue Service)- Use this AWS service to decouple your applications. It is a
pull-based service.
Elastic Transcoder- This AWS service tool helps you to changes a video’s format and
resolution to support various devices like tablets, smartphones, and laptops of different
resolutions.
Deployment and Management
AWS CloudTrail: The services records AWS API calls and send backlog files to you.
Amazon CloudWatch: The tools monitor AWS resources like Amazon EC2 and Amazon
RDS DB Instances. It also allows you to monitor custom metrics created by user’s
applications and services.
AWS CloudHSM: This AWS service helps you meet corporate, regulatory, and contractual,
compliance requirements for maintaining data security by using the Hardware Security
Module(HSM) appliances inside the AWS environment.
Developer Tools
CodeStar- Codestar is a cloud-based service for creating, managing, and working with
various software development projects on AWS.
CodeCommit- It is AWS’s version control service which allows you to store your code and
other assets privately in the cloud.
CodeBuild- This Amazon developer service help you to automates the process of building
and compiling your code.
CodeDeploy- It is a way of deploying your code in EC2 instances automatically.
CodePipeline- It helps you create a deployment pipeline like testing, building, testing,
authentication, deployment on development and production environments.
Cloud9- It is an Integrated Development Environment for writing, running, and debugging
code in the cloud.
Mobile Services
Mobile Hub- Allows you to add, configure and design features for mobile apps.
Cognito- Allows users to signup using his or her social identity.
Device Farm- Device farm helps you to improve the quality of apps by quickly testing
hundreds of mobile devices.
AWS AppSync- It is a fully managed GraphQL service that offers real-time data
synchronization and offline programming features.
Business Productivity
Alexa for Business- It empowers your organization with voice, using Alexa. It will help you
to Allows you to build custom voice skills for your organization.
Chime- Can be used for online meeting and video conferencing.
WorkDocs- Helps to store documents in the cloud
WorkMail- Allows you to send and receive business emails.
Desktop & App Streaming
Microsoft Azure is completely based on the concept of virtualization. So, similar to other virtualized
data center, it also contains racks. Each rack has a separate power unit and network switch, and also
each rack is integrated with a software called Fabric-Controller. This Fabric-controller is a
distributed application, which is responsible for managing and monitoring servers within the rack. In
case of any server failure, the Fabric-controller recognizes it and recovers it. And Each of these
Fabric-Controller is, in turn, connected to a piece of software called Orchestrator.
This Orchestrator includes web-services, Rest API to create, update, and delete resources.
When a request is made by the user either using PowerShell or Azure portal. First, it will go to the
Orchestrator, where it will fundamentally do three things:
1. Authenticate the User
2. It will Authorize the user, i.e., it will check whether the user is allowed to do the requested
task.
3. It will look into the database for the availability of space based on the resources and pass the
request to an appropriate Azure Fabric controller to execute the request.
Combinations of racks form a cluster. We have multiple clusters within a data center, and we can have
multiple Data Centers within an Availability zone, multiple Availability zones within a Region, and
multiple Regions within a Geography.
o Geographies: It is a discrete market, typically contains two or more regions, that preserves
data residency and compliance boundaries.
o Azure regions: A region is a collection of data centers deployed within a defined perimeter
and interconnected through a dedicated regional low-latency network.
Azure covers more global regions than any other cloud provider, which offers the scalability needed
to bring applications and users closer around the world. It is globally available in 50 regions around
the world. Due to its availability over many regions, it helps in preserving data residency and offers
comprehensive compliance and flexible options to the customers
o Availability Zones: These are the physically separated location within an Azure region. Each
one of them is made up of one or more data centers, independent configuration.
Azure Pricing
It is one of the main reasons to learn Microsoft Azure. Because Microsoft is providing free Credits in
the Azure account to access Azure services for free for a short duration. This credit is sufficient for
people who are new at Microsoft Azure and want to use the services.
Microsoft offers the pay-as-you-go approach that helps organizations to serve their needs. Typically
the cloud services will be charged based on the usage. The flexible pricing option helps in up-scaling
and down-scaling the architecture as per our requirements.
Azure Certification
Microsoft Azure helps to fill the gap between the industry requirement and the resource available.
Microsoft provides Azure Certification into three major categories, which are:
o Azure Administrator: Those who implement, monitor, and maintain Microsoft Azure
solutions, including major services.
o Azure Developer: Those who design, build, test, and maintain cloud solutions, such as
applications and services, partnering with cloud solution architects, cloud DBAs, cloud
administrators, and clients to implement these solutions.
o Azure Solution Architect: Those who have expertise in compute, network, storage, and
security so that they can design the solutions that run on Azure.
Google Appcloud platform in industry
Google Cloud Platform (GCP) is a suite of cloud computing services provided by Google. It is a
public cloud computing platform consisting of a variety of services like compute, storage, networking,
application development, Big Data, and more, which run on the same cloud infrastructure that Google
uses internally for its end-user products, such as Google Search, Photos, Gmail and YouTube, etc.
The services of GCP can be accessed by software developers, cloud administrators and IT
professionals over the Internet or through a dedicated network connection.
Why Google Cloud Platform?
Google Cloud Platform is known as one of the leading cloud providers in the IT field. The services
and features can be easily accessed and used by the software developers and users with little technical
knowledge. Google has been on top amongst its competitors, offering the highly scalable and most
reliable platform for building, testing and deploying the applications in the real-time environment.
Apart from this, GCP was announced as the leading cloud platform in the Gartner's IaaS Magic
Quadrant in 2018. Gartner is one of the leading research and advisory company. Gartner organized a
campaign where Google Cloud Platform was compared with other cloud providers, and GCP was
selected as one of the top three providers in the market.
Most companies use data centers because of the availability of cost forecasting, hardware certainty,
and advanced control. However, they lack the necessary features to run and maintain resources in the
data center. GCP, on the other side, is a fully-featured cloud platform that includes:
o Capacity: Sufficient resources for easy scaling whenever required. Also, effective
management of those resources for optimum performance.
o Security: Multi-level security options to protect resources, such as assets, network and OS -
components.
o Network Infrastructure: Number of physical, logistical, and human-resource-related
components, such as wiring, routers, switches, firewalls, load balancers, etc.
o Support: Skilled professionals for installation, maintenance, and support.
o Bandwidth: Suitable amount of bandwidth for peak load.
o Facilities: Other infrastructure components, including physical equipment and power
resources.
Therefore, Google Cloud Platform is a viable option for businesses, especially when the businesses
require an extensive catalogue of services with global recognition.
Google Cloud vs Google Cloud Platform
Google Cloud includes a combination of services available over the internet that can help
organizations go digital. Google Cloud Platform (which provides public cloud infrastructure for
hosting web-based applications and is the focus of this blog post) is a part of Google Cloud.
Some other services that are a part of Google Cloud include:
Google Workspace, formerly known as G Suite and Google Apps. This product provides
identity management for organizations, Gmail, and collaboration tools.
Enterprise versions of Android and Chrome OS. These phone and laptop operating systems
are ways for users to connect to web-based applications.
Application programming interfaces (APIs) for machine learning and enterprise mapping
services. These provide software-to-software communication.
While Google’s GCP cloud infrastructure is the backbone of applications like Google Workplace,
these applications aren’t what we’re talking about when we talk about GCP. For this post, we’re
focusing on Google Cloud Platform
Benefits of Google Cloud Platform
Best Pricing: Google enables users to get Google Cloud hosting at the cheapest rates. The hosting
plans are not only cheaper than other hosting platforms but also offer better features than others. GCP
provides a pay-as-you-go option to the users where users can pay separately only for the services and
resources they want to use.
Work from Anywhere: Once the account is configured on GCP, it can be accessed from anywhere.
That means that the user can use GCP across different devices from different places. It is possible
because Google provides web-based applications that allow users to have complete access to GCP.
Private Network: Google has its own network that enables users to have more control over GCP
functions. Due to this, users achieve smooth performance and increased efficiency over the network.
Scalable: Users are getting a more scalable platform over the private network. Because Google uses
fiber-optic cables to extend its network range, it is likely to have more scalability. Google is always
working to scale its network because there can be any amount of traffic at any time.
Security: There is a high number of security professionals working at Google. They always keep
trying to secure the network and protect the data stored on servers. Additionally, Google uses an
algorithm that encrypts all the data on the Cloud platform. This gives assurance to the users that their
data is completely safe and secure from unauthorized sources.
Redundant Backup: Google always keeps backup of user's data with built-in redundant backup
integration. In case a user has lost the stored data, it's not a big problem. Google always has a copy of
the users' data unless the data is deleted forcefully. This adds data integrity, reliability and durability
with GCP.
Key Features of Google Cloud Platform
Compute Services
Networking
Storage Services
Big Data
Security and Identity Management
Management Tools
Cloud AI
IoT (Internet of Things)
Compute Services
Google App Engine: It is a cloud computing platform that follows the concept of Platform-as-a-
Service to deploy PHP, Java and other software. It is also used to develop and deploy web-based
software in Google-managed data centers. The most significant advantage of Google App Engine is
its automatic scaling capability.
Compute Engine: It is a cloud computing platform that follows the concept of Infrastructure-as-a-
Service to run Windows and Linux based virtual machines. It is an essential component of GCP. It is
designed on the same infrastructure used by Google search engine, YouTube and other Google
services.
Kubernetes Engines: This computing service is responsible for offering a platform for automatic
deployment, scaling, and other operations of application containers across clusters of hosts. The
engine supports several container tools like a docker, etc.
Networking
VPC: VPC stands for Virtual Private Network. The primary function of VPC is to offer a private
network with routing, IP allocation, and network firewall policies. This will help to create a secure
environment for the application deployments.
Cloud Load Balancing: As its name states, Cloud balancing is used to distribute workload across
different computing resources to balance the entire system performance. This also results in cost-
reduction. The process also helps in minimizing the availability and maximizing the capability of the
resources.
Content Delivery Network: CDN is a geographically distributed network of proxy servers and their
data centers. The primary aim of using CDN is to provide maximum performance to the users.
Additionally, it also helps deliver high availability of resources by equally distributing the related
services to the end-users.
Storage Services
Google Cloud Storage: It is an online data storage web service that Google provides to its users to
store and access data from anywhere. The service also includes a wide range of features like
maximum performance, scalability, security and sharing.
Cloud SQL: It is a web-service that enables users to create, manage, and use relational databases
stored on Google Cloud servers. The service itself maintains and protects the databases, which helps
users focus on their applications and other operations.
Cloud Bigtable: It is known for its fast performance and highly manageable feature. It is a highly
scalable NoSQL database service that allows collecting and retaining data from as low as 1 TB to
hundreds of PB.
Big Data
BigQuery: It is a fully managed data analysis service by Google. The primary aim of Google
BigQuery service is to helps businesses to analyze Big Data. It offers a highly scalable data
management option. This means BigQuery allows users to perform ad-hoc queries and share data
insights across the web.
Google Cloud Datastore: Google Cloud Datastore is a kind of datastore service that is fully
managed, schema-less, and non-relational. This service enables businesses to perform automatic
transactions and a rich set of queries. The main advantage of Google Cloud Datastore is the capability
of automatic scaling. This means that the service can itself scale up and down, depending on the
requirement of resources.
Google Cloud Dataproc: It is a very fast and easy to use big data service offered by Google. It
mainly helps in managing Hadoop and Spark services for distributed data processing. The service
allows users to create Hadoop or Spark clusters sized according to the overall workload and can be
accessed whenever users want them.
Security and Identity Management
Cloud Data Loss Prevention API: It is mainly designed to manage sensitive data. It helps users
manage sensitive data elements like credit card details, debit card details, passport numbers, etc. It
offers fast and scalable classification for sensitive data.
Cloud IAM: It stands for Cloud Identity and Access Management. It is a framework that contains
rules and policies and validates the authentication of the users for accessing the technology resources.
That is why it is also known as Identity Management (IdM).
Management Tools
Google Stackdriver: Google Stackdriver service is primarily responsible for displaying the overall
performance and diagnostics information. This may include insights of data monitoring, tracing,
logging, error reporting, etc. The service also prompts an alert notification to the public cloud users.
Google Cloud Console App: It is a native mobile application powered by Google. The primary aim
of this service is to enable users to manage the core features of Google Cloud services directly from
their mobile devices anytime, anywhere. The primary functions of this service are alerting,
monitoring, and performing critical actions on resources.
Cloud AI
Cloud Machine Learning Engine: It is another fully managed service that allows users to create
Machine Learning models. The service is mainly used for those ML models, which are based on
mainstream frameworks.
Cloud AutoML: It is the type of service that is based on Machine Learning. It helps users to enter
their data sets and gain access to quality trained pre-designed ML models. The service works by
following Google's transfer learning and Neural Architecture Search method.
IoT (Internet of Things)
Cloud IoT Core: It is one of the fully managed core services. It allows users to connect, control, and
ingest data from various devices that are securely connected to the Internet. This allows other Google
cloud services to analyze, process, collect and visualize IoT data in real-time.
Cloud IoT Edge: The Edge computing service brings memory and other computing-power resources
near to the location where it is required.
Advantages of Google Cloud Platform
o Google Cloud Offers Quick and Easy Collaboration: Multiple users can access the data
and simultaneously contribute their information. This is possible because the data is stored on
the cloud servers, not on the user's personal computers.
o Higher Productivity with Continuous Development: Google is always working on adding
new features and functionalities to provide higher productivity to the customers. Therefore,
Google delivers frequent updates to its products and services.
o Less Disruption with Adopting New Features: Instead of pushing huge disruptive updates
of changes, Google provides small updates weekly. This helps users to understand and adopt
new features easily.
o Least or Minimal Data is stored on Vulnerable Devices: Google does not store data on
local devices unless a user explicitly tries to do it. This is because the data stored on local
devices may get compromised compared to the cloud's data.
o Users can access Google Cloud from Anywhere: The best thing is that a user can easily
access the information stored on Google cloud from anywhere because it is operated through
web-based applications.
o Google provides Maximum Security with its Robust Structure: Google hires leading
security professionals to protect user's data. Users get process-based and physical security
features made by Google.
o Users have Full Control over their Data: Users gain full control over services and the data
stored in Google Cloud. If a user does not want to use Google services any longer and wants
to delete the cloud data, it can be easily performed.
o Google provides Higher Uptime and Reliability: Google uses several resources to provide
higher and reliable up-time servers. If a data center is not working for technical issues, the
system will automatically communicate with the secondary center without interruption visible
to users.
Disadvantages of Google Cloud Platform
o Cloud hosting is more expensive than traditional hosting. But, to be honest, it’s worth the
peace of mind.
o Google Cloud DNS is still slower than CloudFlare, so we use the latter for DNS resolution.
o No free support (as far as I know). But Google Cloud has extensive documentation, so we
haven’t had any problems implementing any features yet.
UNIT V IOT PROJECTS ON RASPBERRY PI
Building IOT with RASPBERRY PI
The Internet of Things (IoT) is a scenario in which objects, animals or people are provided with single
identifiers and the capability to automatically transfer and the capability to automatically transfer data
more to a network without requiring human-to-human or human-to-computer communication.
Raspberry Pi
The Raspberry Pi is a very cheap computer that runs Linux, but it also provides a set of GPIO
(general purpose input/output) pins that allow you to control electronic components for physical
computing and explore the Internet of Things (IoT).
Raspberry Pi was basically introduced in 2006. It is particularly designed for educational use and
intended for Python.
A Raspberry Pi is of small size i.e., of a credit card sized single board computer, which is
developed in the United Kingdom (U.K) by a foundation called Raspberry Pi.
There have been three generations of Raspberry Pis: Pi 1, Pi 2, and Pi 3
The first generation of Raspberry (Pi 1) was released in the year 2012, that has two types of
models namely model A and model B.
Raspberry Pi can be plugged into a TV, computer monitor, and it uses a standard keyboard and
mouse.
It is user friendly as can be handled by all the age groups.
It does everything you would expect a desktop computer to do like word-processing browsing the
internet spreadsheets, playing games to playing high definition videos.
All models feature on a broadcom system on a chip (SOC), which includes chip graphics
processing unit GPU (a Video Core IV), an ARM compatible and CPU.
The CPU speed ranges from 700 MHz to 1.2 GHz for the Pi 3 and on board memory range from
256 MB to 1 GB RAM.
An operating system is stored in the secured digital SD cards and program memory in either the
MicroSDHC or SDHC sizes.
Most boards have one to four USB slots, composite video output, HDMI and a 3.5 mm phone jack
for audio. Some models have WiFi and Bluetooth.
Several generations of Raspberry Pis have been released.
All models feature a Broadcom system on a chip (SoC) with an integrated ARMcompatible
central processing unit (CPU) and on-chip graphics processing unit (GPU).
Processor speed ranges from 700 MHz to 1.4 GHz for the Pi 3 Model B+ or 1.5 GHz for the Pi 4;
on-board memory ranges from 256 MB to 1 GB with up to 4 GB available on the Pi 4 random-
access memory (RAM).
Secure Digital (SD) cards in MicroSDHC form factor (SDHC on early models) are used to store
the operating system and program memory.
The boards have one to five USB ports. For video output, HDMI and composite video are
supported, with a standard 3.5 mm tip-ring-sleeve jack for audio output.
Lower-level output is provided by a number of GPIO pins, which support common protocols like
I²C. The B-models have an 8P8C Ethernet port and the Pi 3 and Pi Zero W have on-board Wi-Fi
and Bluetooth.
The Raspberry Pi, on the other hand, supports a more robust CPU that is capable of running Linux
and supports NodeJS, allowing JavaScript developers to use their existing skillset and build
sophisticated devices with relative ease.
To interact with the GPIO pins, we use a NodeJS module called onoff that provides simple access
to the individual pins.
Components and Peripherals
Voltages: Two 5V pins and two 3V3 pins are present on the board, as well as a number of ground
pins (0V). The remaining pins are all general purpose 3V3 pins
A GPIO pin designated as an output pin can be set to high (3V3) or low (0V). A GPIO pin
designated as an input pin can be read as high (3V3) or low (0V).
Processor & RAM: Raspberry based on ARM11 processor. Latest version supports 700MHz
processor and 512MB SDRAM. The Central processing unit is the brain of the raspberry pi board
and that is responsible for carrying out the instructions of the computer through logical and
mathematical operations.
Ethernet: The Ethernet port of the raspberry pi is the main gateway for communicating with
additional devices. The raspberry pi Ethernet port is used to plug your home router to access the
internet.
USB Ports: It has 2 USB ports. USB port provide current upto 100mA. For connecting devices
that draw current more than 100mA, an external USB powered hub is required.
Ethernet Port: It has standard RJ45 Ethernet port. Connect Ethernet cable or USB wifi adapter to
provide internet connectivity.
HDMI Output: It supports both audio and video output. Connect raspberry Pi to monitor using
HDMI cable.
Composite video Output: Raspberry comes with a composite video output with an RCA jack
that supports both PAL and NTSC video output.
Audio Output: It has 3.5mm audio output jack. This audio jack is used for providing audio
output to old television along with RCA jack for video.
GPIO Pins: It has a number of general purpose input/output pins. These pins are used to connect
other electronic components. For example, you can connect it to the temperature sensor to
transmit digital data.
Display Serial Interface (DSI): DSI interface are used to connect an LCD panel to Raspberry PI.
Cameral Serial Interface(CSI): CSI interface are used to connect a camera module to Raspberry
PI.
SD Card slot: Raspberry does not have built in OS and storage. Plug in an SD card loaded with
Linux to SD card slot.
Power Input: Raspberry has a micro USP connector for power input.
Memory: The raspberry pi model A board is designed with 256MB of SDRAM and model B is
designed with 51MB.Raspberry pi is a small size PC compare with other PCs. The normal PCs
RAM memory is available in gigabytes. But in raspberry pi board, the RAM memory is available
more than 256MB or 512MB.
Status LEDs: Raspberry has 5 status LEDs.
o ACT - SD card Access
o PWR - 3.3V power is present
o FDX - Full duplex LAN Connected
o LNK - Link/Network Activity
o 100 - 100 Mbit LAN connected
Raspberry PI Interfaces:
Hobby projects.
Low cost PC/tablet/laptop
IoT applications
Media center
Robotics
Industrial/Home automation
Server/cloud server
Print server
Security monitoring
Web camera
Gaming
Wireless access point
Creating the sensor project
RaspberryPi is a miniaturized low cost computer that has the capability to run OPEN ELEC,
Windows 10 IoT, OSMC, Risc OS and other operating systems customized for specific uses. Besides
the listed operating systems RaspberryPi has an official operating system referred to as Raspbian.
RaspberryPi has a wide variety of models with varying features to cater for different needs. To
support OS management activities such as installation, downloading and set up an OS manager
referred to as New Out of the Box Software (NOOBS) is available and it can be downloaded
here https://www.raspberrypi.org/downloads/noobs/.
Before any RaspberryPi project can be undertaken, you need a correctly configured set up. You need
to select an appropriate model for your task. This article will use model 3 for demonstration. An
HDMI supported full or compact display is required, but it is possible to work without a display. To
control the Pi, a USB mouse and keyboard are required. The operating system of the Pi is installed on
a MicroSD card therefore you need at least an 8 GB card and a card reader. Power supply via micro
USB similar to the one used on smart phones is needed.
The first step in setting up a Pi is installing a Raspian or any other preferred OS via NOOBS. The
operating system has to be downloaded on another computer other than the Pi and moved to a SD
card. The OS can be installed manually or via NOOBS but the NOOBS approach is simpler.
Although, manual installation may be more difficult it offers the flexibility to install custom images.
To ensure all devices will be recognized after a boot, there is a specific order of connecting devices.
Begin by linking the HDMI cable with the monitor followed by any devices using USB ports. An
ethernet cable is connected and finally a power adapter is connected after which the Pi will power up.
To demonstrate code development the C# programming language will be used. To support execution
of .NET code the Mono project has to be installed on the Pi using the commands below.
To support development of IoT projects, there are several Clayster libraries available at Github. The
data library provides a way of persisting data in the SQLite database that is part of Raspberry Pi. The
EventLog library enables logging. The Internet library provides communication protocols that enable
communication over the Internet. The Language library enables development of applications that can
be internationalized or localized. The Raspberry Pi library provides a way to interact with GPIO pins.
The environment states that will be sensed by our project are motion, temperature and light. The light
and temperature sensors are analog and they are connected through an I2C bus to GPIO pins. To
communicate the status of the Pi 4 LEDs are used. A green LED on GPIO23 shows application status.
A yellow LED on GPIO 24 will show the measurement status. A LED on GPIO 18 will show the
status of HTTP activities. A red LED on GPIO 25 will alert us on occurrence of communication
errors.
To interact with the Pi hardware Clayster libraries mentioned earlier will be used. A constructor is
used to initialize, interact and dispose a hardware resource. It is important to always dispose a
resource before application termination because the OS has no control over hardware resources.
To interact with the motion sensor the code shown below is used: –
To interact with the temperature sensor the code shown below is used: –
To interact with the light sensor the code shown below is used: –
The variables that will be used to sense the state of the environment are shown below: –
To support retrieval of historical records the variables shown below will be used: –
Preparing Raspberry Pi
The Raspberry Pi 4 B and Raspberry Pi 400 (which is just a 4 B inside a keyboard) are powered via a
USB Type-C port, which requires a charger that can output 5 volts and 3 amps. Most USB Type-C
phone chargers don't have enough amps to get the job done, unless they have USB PD capability, but
USB-C laptop chargers should all work. While it's unlikely to be a problem, note that Pi 4 models that
were manufactured in 2019 or early 2020 have a bug which prevents them from charging over high-
speed data cables that support USB 3.x 5 or 10 Gbps connections.
All other Raspberry Pi models, including the Raspberry Pi 3 B and Pi Zero / Zero W / Zero 2 W, get
power via a micro USB port, which means that you can give it juice by connecting it to just about any
of the many different third-party chargers or even by attaching it to one of your computer's USB ports.
While you can get away with giving the board a lot less electricity (the Pi Zero W runs perfectly off of
my laptop's USB port), the optimal power source for a Raspberry Pi 3 should have 5 volts and 2.5
amps, which also provides plenty of power for any peripherals you attach to its USB ports.
There are a number of power supplies that are made specifically for Raspberry Pis, including the
official Raspberry Pi 4 power supply (opens in new tab) and the CanaKit 5V 2.5A supply (opens in
new tab)for other Raspberry Pi models.
The Pi doesn't have a built-in power switch, so the default way to turn it on is to plug it in. You can
also find power supplies with built-in on / off switches. However, to avoid data loss, you'll want to
use the shutdown feature in your operating system (OS) before unplugging or switching it off.
Once you have all the components you need, use the following steps to create the boot disk you will
need to set up your Raspberry Pi. These steps should work on a using a Windows, Mac or Linux-
based PC (we tried this on Windows, but it should be the same on all three).
Clayster libraries
Console Applications outlines the process to create a simple console application. When we create a
service for a service platform, the executable EXE file already exists. Therefore, we have to create a
library project instead and make sure that the target framework corresponds to the version of the
Clayster distribution.
Such a project will generate a dynamic link library (DLL) file. During startup, the Clayster
executable file will load any DLL file it finds marked as a Clayster Module in its installation folder or
any of its subfolders.
Clayster.Library.Abstract: This library contains a data abstraction layer, and is a crucial tool for
the efficient management of objects in the system.
Thinger.io is a platform that allows connecting things to the Internet. And what’s new?
Hardware agnostic: Connect anything! from basic Arduinos with very limited resources, to
more complex embedded systems running linux like Raspberry Pi
It is Open Source, so you can take the code an build your own cloud if you want. It provides
thing API discovery right out of the box, so you can code your things and interact easily from
the web.
SenseIoT
SenseIoT is a platform for storing and processing sensor data safely and securely in the cloud. It
comes with tools for visualizing data, setting triggers, and remotely managing data. The SenseIoT API
enables developers to integrate the platform and its functions with any devices, sensors, or sensor
networks that can connect to the internet.
The SenseIoT API conforms to the REST design principles and is therefore based on HTTP Requests.
The HTTP requests that are supported are: GET, PUT, POST, DELETE, and OPTIONS. These
methods are for listing, updating, creating, and deleting data respectively. The OPTIONS method
enables third party web clients to do cross-domain requests.
Clients that are not able to perform PUT or DELETE requests can use the POST parameter
The SenseIoT API is based on HTTP requests, and so you need to be able to perform your own,
customized API requests to interact with the API.
Step 1: Creating an Account Step 2: Log In
Step 3: Create a Sensor
Step 4: Upload Data
Now that we have a sensors, lets give it some data. We can upload multiple data points at the same
time, and give every data point a (UNIX) timestamp. If you don’t give your data points a timestamp,
SenseIoT will timestamp them at the time they are received.
Step 5: Retrieve Data
Client Libraries
We have created a couple of libraries to help you write client applications that access the SenseIoT
API. There are different libraries for different platforms and languages. The libraries are open source,
so feel free to incorporate them into your own app.
The libraries for iOS and Android are a special case: they also give you easy access to the sensors on
the phone. They contain everything you need to build a context aware app.
o Android
o iOS
o Python
o Ruby
Functionalities
Device management: Remotely maintain, control and interact with devices regardless of
their location. Check status, change configurations, enable/disable or upgrade devices’
firmware.
Listeners: When data is received, when it is stored, when a device is connected or
disconnected…
Rules: Complex scripts, reusable pieces of code or simple ready to use logic.
Triggers: Pushes data to an external system with Carriots’ triggers. A method to implement
data brokerage.
SDK application engine: Listeners and rules, both are executed by Carriots SDK engine.
Sandboxing Java execution threads to keep secure and efficient. All the DB is accessible from
the scripts.
Data export: Integrate with other IT systems, export files creation, data push to other
databases or REST API usage to manage outbound data.
Custom alarms: Alarms are created by Carriots when something goes wrong. Custom
Alarms creation and management are used to notify, acknowledge and discard for custom
notifications flow.
User management: Corporate users can manage other user accounts to manage projects or to
define custom defined privileges and visibility.
Custom control panel: Custom control panel creation with any technology to manage all
Carriots entities using REST API.
Node-RED
Node-RED is a software tool developed by IBM for wiring together hardware devices, APIs and
online services as part of the Internet of Things.
Node-RED provides a browser-based flow editor, which can be used to create JavaScript functions.
Elements of applications can be saved or shared for re-use. The runtime is built on Node.js. The flows
created in Node-RED are stored using JSON.
Node-RED is built on Node.js, taking full advantage of its event-driven, non-blocking model. This
makes it ideal to run at the edge of the network on low-cost hardware such as the Raspberry Pi as well
as in the cloud.
By default, the Node-RED editor is not secured anyone who can access the IP address and port it is
running on can access the editor and deploy changes. This is only suitable if you are running on a
trusted network.
Interfacing the hardware
Interfaces
A parallel interface refers to a multiline channel with each line capable of transmitting several bits of
data simultaneously. They usually require buses of data transmitting across eight, sixteen, or more
wires. Data is transferred in huge, crashing waves of 1’s and 0’s.
Serial interfaces stream their data, one single bit at a time. These interfaces can operate on as little as
one wire, usually never more than four.
Serial interfaces have certain advantages over parallel interfaces. The most significant advantage is
simpler wiring. In addition, serial interface cables can be longer than parallel interface cables, because
there is much less interaction (crosstalk) among the conductors in the cable.
Most hardware interfaces are serial interfaces sacrificing potential speed in parallel. Serial interfaces
generally use multiple wires to control the flow and timing of binary information along the primary
data wire. Each type of hardware interface defines a method of communicating between a peripheral
and the central processor.
IoT hardware platforms use a number of common interfaces. Sensor and actuator modules can support
one or more of these interfaces:
USB. Universal Serial Bus is a technology that allows a person to connect an electronic
device to a microcontroller. It is a fast serial bus.
GPIO. General-purpose input/output pins area generic pin on an integrated circuit or
computer board whose behavior — including whether it is an input or output pin — is
controllable by the user at run time. GPIO pins have no predefined purpose, and go unused by
default. GPIO pins can be designed to carry digital or analog signals, and digital pins have
only two states: HIGH or LOW.
Digital GPIO can support Pulse Width Modulation (PWM). PWM lets you very quickly
switch a power source on and off, with each “on” phase being a pulse of a particular duration,
or width. The effect in the device can be a lower or higher power level. For example, you can
use PWM to change the brightness of an LED; the wider the “on” pulses, the brighter the
LED glows.
Analog pins might have access to an on-board analog-to-digital conversion (ADC) circuit. An
ADC periodically samples a continuous, analog waveform, such as an analog audio signal,
giving each sample a digital value between zero and one, relative to the system voltage.
When you read the value of a digital I/O pin in code, the value can must be either HIGH or
LOW, where an analog input pin at any given moment could be any value in a range. The
range depends on the resolution of the ADC. For example an 8-bit ADC can produce digital
values from 0 to 255, while a 10-bit ADC can yield a wider range of values, from 0 to 1024.
More values means higher resolution and thus a more faithful digital representation of any
given analog signal.
The ADC sampling rate determines the frequency range that an ADC can reproduce. A higher
sampling rate results in a higher maximum frequency in the digital data. For example, an
audio signal sampled at 44,100 Hz produces a digital audio file with a frequency response up
to 22.5 kHz, ignoring typical filtering and other processing. The bit precision dictates the
resolution of the amplitude of the signal.
I2C. Inter-Integrated Circuit serial bus uses a protocol that enables multiple modules to be
assigned a discrete address on the bus. I2C is sometimes pronounced “I two C”, “I-I-C”, or “I
squared C”. I has two wires, a clock and data wire.
SPI. Serial Peripheral Interface/Interchange Bus devices employ a master-slave architecture,
with a single master and full-duplex communication.
UART. Universal Asynchronous Receiver/Transmitter devices translate data between serial
and parallel forms at the point where the data is acted on by the processor. UART is required
when serial data must be laid out in memory in a parallel fashion.
RS 232 Recommended Standard 232 is used for obtaining communication between the
computer and circuit such to transfer data between circuit and computer.
Developing embedded systems that interface microcontrollers to the outside world is a fascinating
endeavor.
Persisting data
Persisting data is an important topic in application development, as users typically expect to reuse
data in the future. For Android, there are primarily three basic ways of persisting data:
1. A lightweight mechanism known as shared preferences to save small chunks of data
2. Traditional file systems
3. A relational database management system through the support of SQLite databases
Android provides the Shared Preferences object to help you save simple application data.
For example, your application may have an option that enables users to specify the font size of the
text displayed in your application.
In this case, your application needs to remember the size set by the user so that the next time he or
she uses the application again, it can set the size appropriately
In order to do so, you have several options:
1. You can save the data to a file, but you have to perform some file management routines, such
as writing the data to file.
2. Use a database, but saving simple data to a database is overkill, both from a developer’s point
of view and in terms of the application’s run-time performance.
3. Using the SharedPreferences object, however, you save the data you want through the use of
name/value pairs specify a name for the data you want to save, and then both it and its value will
be saved automatically to an XML file for you.
• In the following Try It Out, you learn how to use the Shared Preferences object to store
application data.
• You will also learn how the stored application data can be modified directly by the user
through a special type of activity provided by the Android OS.
• Using Eclipse, create an Android project and name it UsingPreferences.
• Create a new subfolder in the res folder and name it xml. In this newly created folder, add a fi
le and name it myapppreferences.xml
Example
Linked List Concatenation: Consider the problem of concatenating two singly linked lists with n
and m as the number of nodes in them. Say n>m. We need to keep the versions, i.e., we should be able
to original list. One way is to make a copy of every node and do the connections. O(n + m) for
traversal of lists and O(1) each for adding (n + m – 1) connections.
Other way, and a more efficient way in time and space, involves traversal of only one of the two lists
and fewer new connections. Since we assume m<n, we can pick list with m nodes to be copied. This
means O(m) for traversal and O(1) for each one of the (m) connections. We must copy it otherwise
the original form of list wouldn’t have persisted.
Binary Search Tree Insertion: Consider the problem of insertion of a new node in a binary search
tree. Being a binary search tree, there is a specific location where the new node will be placed. All the
nodes in the path from the new node to the root of the BST will observe a change in structure
(cascading). For example, the node for which the new node is the child will now have a new pointer.
This change in structure induces change in the complete path up to the root. Consider tree below with
value for node listed inside each one of them.