iot notes
iot notes
EC600OE:FUNDAMENTALSOFINTERNETOFTHINGS
B.Tech.ECEIIIYearIISemester L T P C
3 0 0 3
CourseObjectives:Theobjectivesof thecourseareto:
1. understandtheconceptsofInternetofThingsandabletobuildIoTapplications
2. LearntheprogramminganduseofArduinoandRaspberryPiboards.
3. Knownaboutdata handlingand analyticsinSDN.
CourseOutcomes:Uponcompletingthiscourse, thestudentwillbeableto
1. Knownbasicprotocolsinsensornetworks.
2. ProgramandconfigureArduinoboardsforvariousdesigns.
3. Pythonprogramming andinterfacingforRaspberryPi.
4. DesignIoT applicationsindifferent domains.
UNIT–I
IntroductiontoInternet of Things, Characteristicsof
IoT,PhysicaldesignofIoT,FunctionalblocksofIoT,Sensing,Actuation,Basicsof
Networking,CommunicationProtocols,SensorNetworks.
UNIT-II
Machine-to-Machine Communications,Difference between IoT and M2M,
Interoperability inIoT,IntroductiontoArduinoProgramming,
IntegrationofSensorsandActuatorswithArduino,
UNIT–III
Introduction to Python programming, Introduction to Raspberry Pi, Interfacing
Raspberry Pi with basicperipherals,Implementation ofIoTwithRaspberryPi
UNIT-IV
Implementation of IoT with Raspberry Pi, Introduction to Software defined Network
(SDN), SDN forIoT,Data Handling and Analytics,
UNIT-V
Cloud Computing, Sensor-Cloud, Smart Cities and Smart Homes, Connected
Vehicles, Smart Grid,IndustrialIoT,CaseStudy:Agriculture,Healthcare,Activity
Monitoring
TEXTBOOKS:
1. "The Internet 'of Things: Enabling Technologies, Platforms, and Use Cases",
by Pethuru RajandAnupama C.Raman (CRC Press)
2. “Make sensors”: Terokarvinen, kemo, karvinen and villeyvaltokari, 1st
edition, maker media,2014.
3. "Internet ofThings:AHands-onApproach",byArshdeepBahgaandVijayMadisetti
REFERENCEBOOKS:
1. VijayMadisetti,ArshdeepBahga, “InternetofThings:AHands-OnApproach”
2. WaltenegusDargie,ChristianPoellabauer,"FundamentalsofWirelessSensor
Networks:TheoryandPractice"
3. BeginningSensornetworks withArduinoandRaspberryPi–CharlesBell,Apress, 2013
Unit 1
Introduction to IoT:
• Internet of things(IoT) comprises things that have unique identities
and are connected to the internet.
• While many existing devices, such as networked computers or 4G
enabled mobile phones, already have some form of unique identities and
are also connected to the internet, the focus on IoT is in the configuration,
control and networking via the internet of devices or “things” that are
traditionally not associated with the internet.
• The scope of IoT is not limited to just connecting things to the
Internet. IoT also allows these things to communicate and exchange data
while executing meaningful applications towards a common user or
machine goal.
Applications of IoT:
1) Home
2) Cities
3) Environment
4) Energy
5) Retail
6) Logistics
7) Agriculture
8) Industry
9) Health &LifeStyle
A) Request-Response
Request-Response is a communication model in which the client sends
requests to the server and the server responds to the requests. When the
server receives a request, it decides how to respond, fetches the data,
retrieves resource representations, prepares the response, and then
sends the response to the client.
B) Publish-Subscribe communication model:
a. Publish-Subscribe is a communication model that involves
publishers, brokers and consumers.
b. Publishers are the source of data. Publishers send the data to
the topics which are managed by the broker. Publishers are
not aware of the consumers.
c. Consumers subscribe to the topics which are managed by the
broker.
d. When the broker receives data for a topic from the publisher,
it sends the data to all the subscribed consumers
C) Push-Pull communication model:
a. Push-Pull is a communication model in which the data
producers push the data to queues and the consumers pull
the data from the queues. Producers do not need to be
aware of the consumers.
b. Queues help in decoupling the messaging between the
producers and consumers.
c. Queues also act as a buffer which helps in situations when
there is a mismatch between the rate at which the producers
push data and the rate at which the consumers pull.
Sensing:
An active sensor is one which transmits a signal into the environment and
then measures the response that comes back.
One example is an ultrasonic system:
A pulse of ultrasound is emitted.
If an object is in the way, the pulse is reflected back.
The sensor detects it.
The time taken between emission and detection gives an indication
of the distance of the object.
5. Level Sensors
• Level sensors are used to detect the level of substances including
liquids, powders and granular materials. Many industries including
oil manufacturing, water treatment and beverage and food
manufacturing factories use level sensors. Waste management
systems provide a common use case as level sensors can detect the
level of waste in a garbage can or dumpster.
6. Accelerometers
• Accelerometers detect an object’s acceleration i.e. the rate of
change of the object’s velocity with respect to time. Accelerometers
can also detect changes to gravity. Use cases for accelerometers
include smart pedometers and monitoring driving fleets. They can
also be used as anti-theft protection alerting the system if an object
that should be stationary is moved.
7. Gyroscope
• Gyroscope sensors measure the angular rate or velocity, often
defined as a measurement of speed and rotation around an axis.
Use cases include automotive, such as car navigation and electronic
stability control (anti-skid) systems. Additional use cases include
motion sensing for video games, and camera-shake detection
systems.
8. Gas Sensors
• These types of sensors monitor and detect changes in air quality,
including the presence of toxic, combustible or hazardous gasses.
Industries using gas sensors include mining, oil and gas, chemical
research and manufacturing. A common consumer use case is the
familiar carbon dioxide detectors used in many homes.
9. Infrared Sensors
• These types of sensors sense characteristics in their surroundings
by either emitting or detecting infrared radiation. They can also
measure the heat emitted by objects. Infrared sensors are used in a
variety of different IoT projects including healthcare as they simplify
the monitoring of blood flow and blood pressure.
• Televisions use infrared sensors to interpret the signals sent from a
remote control. Another interesting application is that of art
historians using infrared sensors to see hidden layers in paintings to
help determine whether a work of art is original or fake or has been
altered by a restoration process.
Actuators:
• An IoT device is made up of a Physical object (“thing”) + Controller
(“brain”) + Sensors + Actuators + Networks (Internet). An actuator
is a machine component or system that moves or controls the
mechanism or the system. Sensors in the device sense the
environment, then control signals are generated for the actuators
according to the actions needed to perform.
• A servo motor is an example of an actuator. They are linear or
rotatory actuators, can move to a given specified angular or linear
position. We can use servo motors for IoT applications and make the
motor rotate to 90 degrees, 180 degrees, etc., as per our need.
• The following diagram shows what actuators do; the controller
directs the actuator based on the sensor data to do the work.
Pneumatic Actuators –
A pneumatic actuator uses energy formed by vacuum or
compressed air at high pressure to convert into either linear or
rotary motion. Example- Used in robotics, use sensors that work like
human fingers by using compressed air.Pneumatic actuator,
pneumatic means air based.A pneumatic actuator basically converts
the energy formed by vacuum or compressed airat high pressure
into either linear or rotatory motion.Pneumatic actuatorsbasically
exert a lot of force and for example, the pneumatic brakes can be
veryresponsive to small changes in pressure that are applied by the
driver.
Pneumatic brakes are quite common in different devices like trucks
etc. They usepneumatic brakes. So, hydraulic brakes are more
common in cars, in truckspneumatic brakes are quite common. The
advantage of pneumatic brakes, is that they are very responsive to
smallchanges.
Electrical Actuators –
An electric actuator uses electrical energy, is usually actuated by a motor
that converts electrical energy into mechanical torque. An example of an
electric actuator is a solenoid based electric bell. An electric actuator is
generally powered by amotor that converts electrical energy into
mechanical torque. So, this electrical energy isused to actuate the
equipment, such as the solenoid valve which control the flow of waterin
pipes in response to electrical signals.
Mechanical Actuators –
• A mechanical actuator executes movement by converting rotary
motion into linear motion. It involves pulleys, chains, gears, rails,
and other devices to operate.
Basics of Networking in IoT:
Now, when we talk about IoT, if we think about IoT, what we have? We
have thesedifferent things which are fitted.These are basically physical
objects are fitted withdifferent sensors and these sensors basically sense
different physical phenomena that areoccurring around
them.Thesesensors fitted things, sensors actuators and different other
emirate devices, theseare one component of the IoT, but these become
different nodes in the network, these arethe individual nodes in the
network. These nodes they have tocommunicate with one another and the
information that is sensed by one of these sensorsfitted to these nodes,
this information from the sensor and the other sensors, these aretaken
and are sent to the other sensor nodes, the destination nodes.
First this information has to flow through the local network and then, if the
intended destination is outside this local network, then it is sent through
the internet. Typically, if we are talking about an IoT which is basically
internet based IoT, thenit is going to flow through the internet or some
other wide area network andfinally, it is going to arrive at the intended
destination node and may be there can besome at that point analytic
engine which is running on somebackend serverand from theseanalytics,
they can run on these servers decisions about actuation could be
made.Sofrom sensors to actuators through the local area network, the
internetinvolving backend services analytics which includessomehigh end
processing at different servers and different complex algorithms,
execution ofdifferent algorithms which are based on may be machine
learning neural networks and soon and so forth.
Basically an IoT is a very complex system involving sensors,
actuators,
networks, local area, wide area internet and different servers, different
algorithms,machine learning and so on, all executing together to make
the system function as onesingle entity. So, going back we have in this
local network as you are saying then wehave the internet, we have the
backend services and finally, the applications that havebeen served.So,
what we have we are these different physical objects which are fitted with
different sensors. Thesethings could be telephones, lightning systems,
could be cameras, could be different otherscanner, sensors like the
temperature sensor and so on and these things are able tocommunicate
with one another with the help of wireless technologies like
Zigbee,Bluetooth, WiFi and so on. So, as you can see that this wireless
basically helps thesedifferent devices to talk to one another and this
information from these deviceswillgo through a local network and from a
local network, they will go through the internet tothe backend services
involving different server’sprocessors and so on and so forth. For running
different analytics and then based on that, different devices can be
actuated you know may be a pump.
So, above is a figure which shows that we have different sensors,
processors and Phone. It refitted to each of these devices or the sensor
nodes or the sensor motes or theIoT motes as you may want to call them.
So, these motes, they talk to one another, butthese different sensor
nodes, they are basically within the jurisdiction or the domain ofthe
gateway. So, the gateway is basically tasked to assign different locally
uniqueaddresses to these different nodes, to these different IoT nodes and
the gateway basicallytakes care of the local addressing within that
particular local area network.
Complexity of Networks:
The consideration that has to be taken into account whilebuilding
the IoT systems the complexity of the networks. If the number of
nodes in the network increases, then in the solution thesystem is
going to be sustainable or whether it can be scaled up or not, then
wehave interference among the different devices. This is very much
vital in any network.
Interference is a crucial issue and particularly IoT networks involve
lot of large numberof typically densely deployed nodes and these
nodes as you know typically wirelesspower by wifi or bluetooth or
zigbee and so on.So, interference between these different
communication between these different nodesthat at the
corresponding radios and so on is possible. So, how do you handle
it?Network management, involving computation management,
involving communicationmanagement, involving service
management and infrastructure management and so on.
Addressing Issues is incredibly highnumber of nodes each of which
will produce content that should be retrievable by any authorized
user. This requires effective addressing policies IPv4 protocol may
already reached its limit.IPv6addressing has been
proposedforlow-powerwireless communicationnodes within the
6LoWPAcontext IPv6 addresses areexpressedbymeansof128bits
which is addresses,
enoughtoidentifyobjectsworthtobeaddressed.
Sensor Network:
Sensornetwork is a very important technology that is used for building IoT.
Sensors,transducers, actuators these are all very important things for
realization of IoT systems.But, when we talk about sensors when we talk
about actuators, these are the things thatwe have already gone through
in one of the previous topics. So, these are stand-alonedevices that we
talk about, but if we can have these sensors connect with one an
anotherwe can derive important information continuously, in real time
remotely, from a largerterrain.So, in sensor networks what we have? In
sensor networks we have individual sensors,which are embedded in
something known as sensor devices or sensor nodes. So, thesenodes or
devices they haveone of their components which is the sensor, and they
have other components as well.So, these components taken together they
comprise that particular node or the devicewhich can help them to
communicate. And one device communicates with anotherdevice, that
device communicates with another device, the third device with a fourth,
fourth with the first and so on. We can expand the sensing by having
them communicate with one another.So, what we have are different types
of topologies. We can have all sorts of topologiesthat we have already
heard of in networks being implemented in the case of sensornetworks as
well we can use a star topology. We can use a mesh topology we can have
amesh of we can have a mesh of sensor nodes that are all put together.
Let us look at the different basics of sensor networks. So, in a sensor
network we havesensor nodes. Every sensor node has a sensing unit. The
sensing unit basically senses.Senses what? Senses the particular physical
phenomena that it is supposed to sense. Atemperature sensor would be
sensing the temperature fluctuations. A humidity sensorwill be sensing
the humidity fluctuations. A camera sensor would be sensing; that
means,taking the images of what is around you know what is happening
around it.A vibration sensor will be sensing the vibration. A light sensor
will be looking at will besensing the illumination conditions and so on. But
each of them is sensing locally and,every other node that is deployed they
are all doing their own tasks separatelyindividually. And now, in a sensor
network we all have to we have to put them alltogether; we have to put
them all together how it is possible to put them together? Wehave to just
have some kind of radio connectivity between these different devices.
Thesedevices mean their sensor nodes and, this is how we build up a
sensor network. Andwhat is the main motivation of building a sensor
network? To have greater coverage ofsensing and, continuously we can
monitor in real time we can monitor remotely we canmonitor what is
going on in a particular terrain, without actually having somebodyhumanly
sitting and monitoring that particular region or space.
This is how the entire sensor network concept functions. So, what
we have is multihop communication. So, let us consider a stationary
sensor network. Stationary meanswhat? Stationary means that, the node
all these nodes, when they are deployed, they willmaintain the position at
subsequent instants of time after deployment. So, they will allmaintain
their own respective positions. And they will not move they are all
stationarythe nodes are all stationary. So, this is an example of a
stationary sensor network. Mobilesensor network on the contrary, have
the sensors and the sensor nodes that move around.For example, the
sensors that are fitted to a car, to an airplane, to a truck to, a bus andso
on. These become mobile sensors mobile sensor nodes because, they are
fitted todevices which move with time. So, they become you know
together when you connectthem in this manner, what you get is a mobile
sensor network.
Applications:
Temperature measurement
Humidity measurement
Lightening condition
Soil makeup
Air pressure
Noise level
Vibration
Unit 2
M2M Communication
Machine-to-machine communication, or M2M, is exactly as it sounds: two
machines “communicating,” or exchanging data, without human
interfacing or interaction. This includes serial connection, powerline
connection (PLC), or wireless communications in the industrial Internet of
Things (IoT). Switching over to wireless has made M2M communication
much easier and enabled more applications to be connected.In general,
when someone says M2M communication, they often are referring to
cellular communication for embedded devices. Examples of M2M
communication in this case would be vending machines sending out
inventory information or ATM machines getting authorization to dispense
cash.As businesses have realized the value of M2M, it has taken on a new
name: The Internet of Things (IoT). IoT and M2M have similar promises: to
fundamentally change the way the world operates. Just like IoT, M2M
allows virtually any sensor to communicate, which opens up the possibility
of systems monitoring themselves and automatically responding to
changes in the environment, with a much reduced need for human
involvement. M2M and IoT are almost synonymous—the exception is IoT
(the newer term) typically refers to wireless communications, whereas
M2M can refer to any two machines—wired or wireless—communicating
with one another.
Traditionally, M2M focused on “industrial telematics,” which is a
fancy way of explaining data transfer for some commercial benefit. But
many original uses of M2M still stand today, like smart meters. Wireless
M2M has been dominated by cellular since it came out in the mid-2000’s
with 2G cell networks. Because of this, the cellular market has tried to
brand M2M as an inherently cellular thing by offering M2M data plans. But
cellular M2M is only one subsection of the market, and it shouldn’t be
thought of as a cellular-only area.
How M2M Works
As previously stated, machine-to-machine communication makes the
Internet of Things possible. According to Forbes, M2M is among the
fastest-growing types of connected device technologies in the market
right now, largely because M2M technologies can connect millions of
devices within a single network. The range of connected devices includes
anything from vending machines to medical equipment to vehicles to
buildings. Virtually anything that houses sensor or control technology can
be connected to some sort of wireless network.
This sounds complex, but the driving thought behind the idea is quite
simple. Essentially, M2M networks are very similar to LAN or WAN
networks, but are exclusively used to allow machines, sensors, and
controls, to communicate. These devices feed information they collect
back to other devices in the network. This process allows a human (or an
intelligent control unit) to assess what is going on across the whole
network and issue appropriate instructions to member devices.
M2M Applications
The possibilities in the realm of M2M can be seen in four major use cases,
which we’ve detailed below:
1. MANUFACTURING
Every manufacturing environment—whether it’s food processing or
general product manufacturing—relies on technology to ensure costs are
managed properly and processes are executed efficiently. Automating
manufacturing processes within such a fast-paced environment is
expected to improve processes even more. In the manufacturing world,
this could involve highly automated equipment maintenance and safety
procedures.
For example, M2M tools allow business owners to be alerted on their
smartphones when an important piece of equipment needs servicing, so
they can address issues as quickly as they arise. Sophisticated networks
of sensors connected to the Internet could even order replacement parts
automatically.
2. HOME APPLIANCES
IoT already affects home appliance connectivity through platforms like
Nest. However, M2M is expected to take home-based IoT to the next level.
Manufacturers like LG and Samsung are already slowly unveiling smart
home appliances to help ensure a higher quality of life for occupants.
For example, an M2M-capable washing machine could send alerts to the
owners’ smart devices once it finishes washing or drying, and a smart
refrigerator could automatically order groceries from Amazon once its
inventory is depleted. There are many more examples of home
automation that can potentially improve quality of life for residents,
including systems that allow members of the household to remotely
control HVAC systems using their mobile devices. In situations where a
homeowner decides to leave work early, he or she could contact the home
heating system before leaving work to make sure the temperature at
home will be comfortable upon arrival.
3. HEALTHCARE DEVICE MANAGEMENT
One of the biggest opportunities for M2M technology is in the realm of
health care. With M2M technology, hospitals can automate processes to
ensure the highest levels of treatment. Using devices that can react faster
than a human healthcare professional in an emergency situation make
this possible. For instance, when a patient’s vital signs drop below normal,
an M2M-connected life support device could automatically administer
oxygen and additional care until a healthcare professional arrives on the
scene. M2M also allows patients to be monitored in their own homes
instead of in hospitals or care centers.
For example, devices that track a frail or elderly person’s normal
movement can detect when he or she has had a fall and alert a healthcare
worker to the situation.
4. SMART UTILITY MANAGEMENT
In the new age of energy efficiency, automation will quickly become the
new normal. As energy companies look for new ways to automate the
metering process, M2M comes to the rescue, helping energy companies
automatically gather energy consumption data, so they can accurately bill
customers. Smart meters can track how much energy a household or
business uses and automatically alert the energy company, which
supplants sending out an employee to read the meter or requiring the
customer to provide a reading. This is even more important as utilities
move toward more dynamic pricing models, charging consumers more for
energy usage during peak times.A few key analysts predict that soon,
every object or device will need to be able to connect to the cloud. This is
a bold but seemingly accurate statement. As more consumers, users, and
business owners demand deeper connectivity, technology will need to be
continuallyequipped to meet the needs and challenges of tomorrow. This
will empower a wide range of highly automated processes, from
equipment repairs and firmware upgrades to system diagnostics, data
retrieval, and analysis. Information will be delivered to users, engineers,
data scientists, and key decision-makers in real time, and it will eliminate
the need for guesswork.
Introduction to Arduino:
We have seen that there are different types of sensors, different types of
sensing possible, differenttypes of actuators that principles behind
different types of sensing, different types ofactuation. We have seen that
there are different types of networks that are possible for use foradoption
for use in IoT, different types of communication devices standards can
also be usedfor communicating in internet of things.So, having understood
those how can we use these concepts for building a real internet ofthings
may be in a smart phone scenario at home to improve some of the you
know dailytasks that we do at home. Or in a smart homes smart cities
scenario like in a smart hospitalsmart you know smart transportation
connected vehicles and so on. So, of are all these weneed to take help of
different IoT devices. And one of the very popular once is Arduino.
Arduino is a simple and robust development board. It’s oneof the simplest
options available for making the electronics worldprogrammable, and it’s
extremely reliable as well.First, we’ll show you how to install the Arduino
development environment(often called IDE, or integrated development
environment) on yourcomputer. After that, you’ll plug in a USB cable and
upload your firstprogram (called a sketch in Arduino parlance). There’s
only one programyou install on the Arduino—the sketch that you’re
running. Aside fromthat, there’s nothing else to maintain because, unlike
with Raspberry Pi,Arduino has no operating system.
First of all the main reasons is it is an opensource programmable board
with a built in microcontroller and the software IDE. And thissoftware IDE
will help you change the behaviour of the microcontroller according to
yourneeds. So, it accepts Analog as well as digital signals which can be
given as inputs and it willgive outputs which are mainly digital. So, no
extra hardware is required to load a programinto the controller board. So,
for the people who have work with 8051 seriesmicrocontrollers, 8085
microprocessors, they must have remembered that you needed anextra
programmer to actually program the processor board and they are well
lots ofinterfacing ICs and all those things are not required with the Arduino
base systems.
Arduino UNO
One of the most popular Arduino boards out there is the Arduino Uno.
While it wasnot actually the first board to be released, it remains to be the
most actively used andmost widely documented on the market.
Types of Arduino boards:
Arduino boards based on ATMEGA328 microcontroller.
Arduino boards based on ATMEGA32u4 microcontroller.
Arduino boards based on ATMEGA2560 microcontroller.
Arduino boards based on AT91SAM3X8E microcontroller.
Power Supply
The Arduino Uno power supply can be done with the help of a USB cable
or an external power supply. The external power supplies mainly include
AC to DC adapter otherwise a battery. The adapter can be connected to
the Arduino Uno by plugging into the power jack of the Arduino board.
Similarly, the battery leads can be connected to the Vin pin and the GND
pin of the POWER connector. The suggested voltage range will be 7 volts
to 12 volts.
Input & Output
The 14 digital pins on the Arduino Uno can be used as input & output with
the help of the functions like pinMode(), digitalWrite(), & Digital Read().
Pin 2 & Pin 3 (External Interrupts):
External pins can be connected to activate an interrupt over a low value,
change in value.
Pins 3, 5, 6, 9, 10, & 11 (PWM):
This pin gives 8-bit PWM o/p by the function of analogWrite().
SPI Pins (Pin-10 (SS), Pin-11 (MOSI), Pin-12 (MISO), Pin-13 (SCK):
These pins maintain SPI-communication, even though offered by the
fundamental hardware, is not presently included within the Arduino
language.
Pin-13(LED):
The inbuilt LED can be connected to pin-13 (digital pin). As the HIGH-value
pin, the light emitting diode is activated, whenever the pin is LOW.
Pin-4 (SDA) & Pin-5 (SCL) (I2C):
It supports TWI-communication with the help of the Wire library.
TX and RX LEDs
On your board, you will find two labels: TX (transmit) and RX (receive).
They appear in two places on the Arduino UNO board. First, at the digital
pins 0 and 1, to indicate the pins responsible for serial communication.
Second, the TX and RX led (13). The TX led flashes with different speed
while sending the serial data. The speed of flashing depends on the baud
rate used by the board. RX flashes during the receiving process.
Digital I/O
The Arduino UNO board has 14 digital I/O pins (15) (of which 6 provide
PWM (Pulse Width Modulation) output. These pins can be configured to
work as input digital pins to read logic values (0 or 1) or as digital output
pins to drivedifferent modules like LEDs, relays, etc. The pins labelled “~”
can be used to generate PWM.
AREF
AREF stands for Analog Reference. It is sometimes, used to set an
external reference voltage (between 0 and 5 Volts) as the upper limit for
the analog input pins.
Reset Pin: This pin is used for reset (RST) the microcontroller.
Memory:
The memory of this Atmega328 Arduino microcontroller includes flash
memory-32 KB for storing code, SRAM-2 KB EEPROM-1 KB.
Communication:
The Arduino Uno ATmega328 offers UART TTL-serial communication, and
it is accessible on digital pins like TX (1) and RX (0). The software of an
Arduino has a serial monitor that permits easy data. There are two LEDs
on the board like RX & TX which will blink whenever data is being
broadcasted through the USB.
Arduino Reset
You can reset your Arduino board, i.e., start your program from the
beginning. You can reset the UNO board in two ways. First, by using the
reset button on the board. Second, you can connect an external reset
button to the Arduino pin labelled RESET.
Pin description:
How To Program Arduino
Once the circuit has been created on the breadboard, you’ll need to
upload theprogram (known as a sketch) to the Arduino. The sketch is a set
of instructions thattells the board what functions it needs to perform. An
Arduino board can only holdand perform one sketch at a time. The
software used to create Arduino sketches iscalled the IDE which stands for
Integrated Development Environment.
Every Arduino sketch has two main parts to the program:
void setup() – Sets things up that have to be done once and then don’t
happen again.
void loop() – Contains the instructions that get repeated over and over
until the boardis turned off.
Operators:
Logical operators evaluate either one or two relational or logical
statements. There are 3 logical operators in Arduino IDE:
IF statement:
IF statement is basically the simplest form conditional control statements,
it is a conditional statement. An “if statement” code evaluates a unique
condition, and executes a series of instructions or just an instruction if the
condition is true.
ELSE STATEMENT
Most time, an IF statement is immediately followed by an ELSE statement,
the ELSE statement tells the alternate instruction that should be executed
when the IF statement is false.
ELSE IF STATEMENT
“Else if statement” is used when we want to check for three different
conditions. It includes an IF statement, ELSE IF statement and ELSE
statement all in same.
For statement:
For statement is also a conditional statement for Arduino control structure
used for repetitive operation. As the name implies, it is used to carry out a
repetitive operation for a true condition.
While Statement
A while statement is just like an “if statement”except it continues to
repeat block of code (a block of code is what is within the curly braces) as
long as the condition is true.
Do While Statement
A do while statement is like the else if statement but works in the same
manner as the while loop, except that the condition is tested at the end of
the loop, hence, the do statement will always run at least once.
Switch Case Statement
There comes a time in a design, when we wish to have an action taking
with respect to a specific result, in a wide range of results.Take for
example, let’s say you are trying to monitor the level of water in a tank
using an ultrasonic sensor, you wish to turn on an LED various levels of
the water in the tank.Let’s say we are looking at 10 levels. In our arduino
code, we would have a variable that records the distance of the water
from the ultrasonic sensor, with this distance; we can pick the levels we
want.
Loop Statements:
while loop
while loops will loop continuously, and infinitely, until the expression
inside the parenthesis, () becomes false. Something must change the
tested variable, or the while loop will never exit.
do…while loop
The do…while loop is similar to the while loop. In the while loop, the loop-
continuation condition is tested at the beginning of the loop before
performed the body of the loop.
for loop
A for loop executes statements a predetermined number of times. The
control expression for the loop is initialized, tested and manipulated
entirely within the for loop parentheses.
Nested Loop
This allows you to use one loop inside another loop. The following
example illustrates the concept.
Infinite loop
It is the loop having no terminating condition, so the loop becomes
infinite.
Arduino Program
An Arduino program starts by executing the code inside the
setup()function once. After that, the code inside loop() is repeated forever
(oruntil you disconnect the power).
Blinking an LED
The LED blinking sketch is the first program that you should run to test
whether your Arduino board is working and is configured correctly. It is
also usually the very first programming exercise someone does when
learning toprogram a microcontroller. A light-emitting diode (LED) is a
small electronic component that’s a bit like a light bulb, but is more
efficient and requires lower voltages to operate
void yellow_light()
{
digitalWrite(GREEN, LOW);
digitalWrite(YELLOW, HIGH);
digitalWrite(RED, LOW);
}
void red_light()
{
digitalWrite(GREEN, LOW);
digitalWrite(YELLOW, LOW);
digitalWrite(RED, HIGH);
}
Circuit diagram:
Integration of Sensors and Actuators with Arduino
So, first of all as we have already learned by now; sensors are basic
electronic elements theyconvert physical quantities or measurements into
electrical signals and more or less sensors can beclassified into either
analog or digital sensors.
Types of Sensors
Some commonly used sensors:
Temperature
Humidity
Compass
Light
Sound
Accelerometer
Light Sensor:
In this example we will use a light sensor to measure the light intensity of
the room.If it's dark, we will turn on the light (LED). If it's bright, we'll turn
off the light (LED). A light sensor / photocell is a sensor used to detect
light.The resistance decreases with increasing light intensity (stronger
light).
Program:
int photocellPin = 2;
int ledPin = 13;
int photocellReading;
const float limit = 100;
void setup(void)
{
Serial.begin(9600); //baud rate of data is 9600bps
pinMode(ledPin, OUTPUT);
}
void loop()
{
photocellReading = analogRead(photocellPin);
Serial.print("Analog reading = ");
Serial.println(photocellReading);
if (photocellReading< limit)
{
digitalWrite(ledPin, HIGH);
}
else
{
digitalWrite(ledPin, LOW);
}
Delay(1000)
}
Actuators:
So we will learn how to integrate this motors and make it
performaccording to our requirements.So, actuators are basically
mechanical or electromechanical devices. They convertenergy or signals
into motion. And mainly use to provide controlled motion to
othercomponents of various mechanical structures or devices.So, basic
working principle is, in the servo motor you have various mechanical
structureslike gears and screws and ball bearings, which are interfaced
with a small motor overhere, and this produces very control motion, but is
able to perform much more efficientlythen this motor alone would have
been able to. So, like generally for servers the toprequirements are high
as compared to normal dc motors.
Servo motors are great devices that can turn to a specified
position.Usually, we have a servo arm that can turn 180 degrees. Using
the Arduino, we can tell a servo to go to a specified position and it will go
there.A servo motor has everything built in: a motor, a feedback circuit,
and most important, a motor driver. It just needs one power line, one
ground, and one control pin.
Program for servo motors:
//Include the Servo library
#include <Servo.h>
// Declare the Servo pin
int servoPin = 3;
// Create a servo object
Servo Servo1;
void setup() {
// We need to attach the servo to the used pin number
Servo1.attach(servoPin);
}
void loop(){
// Make servo go to 0 degrees
Servo1.write(0);
delay(1000);
// Make servo go to 90 degrees
Servo1.write(90);
delay(1000);
// Make servo go to 180 degrees
Servo1.write(180);
delay(1000);
}
Circuit diagram:
int ENABLE1 = 8;
int FWD1 = 11;
int REV1 = 3;
int Speed;
void setup()
{
// initialize the digital pins as an output.
pinMode(ENABLE1, OUTPUT);
pinMode(FWD1, OUTPUT);
pinMode(REV1, OUTPUT);
}
void loop()
{
Speed = 255; //set a speed between 0-255
Forward();
delay(5000); //5 second delay
Stop();
delay(1000);
Reverse();
delay(5000);
Stop();
delay(1000);
}
void Forward()
{
digitalWrite(ENABLE1, HIGH);
analogWrite(REV, 0);
analogWrite(FWD, Speed);
}
void Reverse()
{
digitalWrite(ENABLE1, HIGH);
analogWrite(FWD, 0);
analogWrite(REV, Speed);
}
void Stop()
{
digitalWrite(ENABLE1, LOW);
analogWrite(FWD1, 0);
analogWrite(REV1, 0);
}
Unit -3
Python Features:
1. Easy-to-learn − Python has few keywords, simple structure, and a
clearly defined syntax. This allows a student to pick up the language
quickly.
2. Easy-to-read − Python code is more clearly defined and visible to the
eyes.
3. Easy-to-maintain − Python's source code is fairly easy-to-maintain.
4. A broad standard library − Python's bulk of the library is very
portable and cross-platform compatible on UNIX, Windows, and Macintosh.
5. Interactive Mode − Python has support for an interactive mode which
allows interactive testing and debugging of snippets of code.
6.Portable − Python can run on a wide variety of hardware platforms and
has the same interface on all platforms.
7. Extendable − You can add low-level modules to the Python
interpreter. These modules enable programmers to add to or customize
their tools to be more efficient.
8. Databases − Python provides interfaces to all major commercial
databases.
9. GUI Programming − Python supports GUI applications that can be
created and ported to many system calls, libraries and windows systems,
such as Windows MFC, Macintosh, and the X Window system of Unix.
10. Scalable − Python provides a better structure and support for large
programs than shell scripting
#floating point
>>>b=2.5
>>>type(b)
<type ’float’>
#Long
>>>x=988848989897L
>>>type(x)
<type ’long’>
#complex
>>>y=2+5j
>>>y
(2+5j)
>>>type(y)
<type ’complex’>
>>>y.real
2
>>>y.imag
5
#addition
>>>c=a+b
>>>c
7.5
>>>type(b)
<type ’float’>
#subtraction
>>>d=a-b
>>>d
17.5
>>>type(d)
<type ’float’>
String Constants
Strings are a collection of characters which are stored together to
representarbitrary text inside a python program. You can create a string
constantinside a python program by surrounding text with either single
quotes (’),double quotes ("), or a collection of three of either types of
quotes (’’’ or"""). In the first two cases, the opening and closing quotes
must appear onthe same line in your program; when you use triple
quotes, your text canspan as many lines as you like. The choice of which
quote symbol to use isup to you – both single and double quotes have the
same meaning in python.Here are a few examples of how to create a
string constant and assign itsvalue to a variable:
name = ’Phil’
value = "$7.00"
helptext = """You can create long strings of text
spanning several lines by using triple quotes at
the beginning and end of the text"""
When the variable helptext is printed it would display as three lines, with
the line breaks at the samepoints as in the triple-quoted text.Using a
single backslash as a continuation character is an alternativeto using
triple quoted strings when you are constructing a string constant.Thus,
the following two expressions are equivalent, but most
programmersprefer the convenience of not having to use backslashes
which is offered bytriple quotes.
Threelines = ’First\
Second\
Third’
Threelines = ’’’First
Second
Third’’’
List Data
Lists provide a general mechanism for storing a collection of objects
indexedby a number in python. The elements of the list are arbitrary —
they can benumbers, strings, functions, user-defined objects or even other
lists, makingcomplex data structures very simple to express in python.
You can input alist to the python interpreter by surrounding a comma
separated list of theobjects you want in the list with square brackets ([ ])
Thus, a simple list ofnumbers can be created as follows:
>>>mylist = [1,7,9, 13, 22, 31]
Python ignores spaces between the entries of a list. If you need to
spanmultiple lines with a list entry, you can simply hit the return key after
anycomma in the list:
>>>newlist = [7, 9, 12, 15,
... 17,19,103]
Note that the python interpreter changes its prompt when it recognizes
acontinuation line, and that no indentation is necessary to continue a line
likethis. Inside a script, your input can also be broken up after commas in
asimilar fashion. To create an empty list, use square brackets with no
elementsin between them ([]).The elements of a list need not be of the
same type. The following listcontains numeric, string and list data, along
with a function:
>>>mixlist = [7,’dog’,’tree’,[1,5,2,7],abs].
Working with lists:
>>>fruits=[‘apple’, ‘orange’ , ‘banana’, ‘mango’]
>>>type(fruits)
<type ‘list’>
>>>len(fruits)
4
>>>fruits[1]
‘orange’
>>>fruits [1:]
[‘orange’, ‘banana’ ,’mango’]
#appending an item to list
>>>fruits.append(‘pear’)
>>>fruits
[‘apple’, ‘orange’ , ‘banana’, ‘mango’, ‘pear’]
#Removing an item from list
>>>fruits.remove(‘mango’)
>>>fruits
[‘apple’, ‘orange’ , ‘banana’, ‘pear’]
#Inserting an item to list
>>>fruits.insert (1,‘mango’)
>>>fruits
[‘apple’, ‘mango’, ‘orange’, ‘banana’, ‘pear’]
#combining lists
>>>vegetables=[‘potato’, ‘carrot’, ‘onion’]
>>>vegetables
>>>eatables=fruits+vegatables
>>>[‘apple’, ‘mango’, ‘orange’, ‘banana’, ‘pear’, ‘ potato’, ‘carrot’, ‘onion’
]
Tuple Objects
Tuples are very much like lists, except for one important difference.
Whilelists are mutable, tuples, like strings, are not. This means that, once
a tupleis created, its elements can’t be modified in place. Knowing that a
tuple isimmutable, python can be more efficient in manipulating tuples
than lists,whose contents can change at any time, so when you know you
won’t needto change the elements within a sequence, it may be more
efficient to use atuple instead of a list. In addition, there are a number of
situations (argumentpassing and string formatting for example) where
tuples are required.Tuples are created in a similar fashion to lists, except
that there is noneed for square brackets surrounding the value. When the
python interpreter displays a tuple, it always surrounds it with
parentheses; you can useparentheses when inputting a tuple, but it’s not
necessary unless the tuple ispart of an expression. This creates a slight
syntactic problem when creatinga tuple with either zero or one element;
python will not know you’re creatinga tuple. For an empty (zero-element)
tuple, a pair of empty parentheseis (())can be used. But surrounding the
value with parentheses is not enough inthe case of a tuple with exactly
one element, since parentheses are used forgrouping in arithmetic
expression. To specify a tuple with only one elementin an assignment
statement, simply follow the element with a comma, arithmetic
expressions, you need to surround it with parentheses, and followthe
element with a comma before the closing parenthesis.
Working with Tuple:
>>>fruits=(‘apple’, ‘orange’ , ‘banana’, ‘mango’)
>>>type(fruits)
<type ‘tuple’>
>>>len(fruits)
4
>>>fruits[0]
‘apple’
>>>fruits [:3]
(‘apple’, ‘orange’, ‘banana’)
Dictionaries
Dictionaries (sometimes refered to as associative arrays or hashes) are
verysimilar to lists in that they can contain arbitrary objects and can be
nestedto any desired depth, but, instead of being indexed by integers,
they can beindexed by any immutable object, such as strings or tuples.
Since humans canmore easily associate information with strings than with
arbitrary numbers,dictionaries are an especially convenient way to keep
track of informationwithin a program.As a simple example of a dictionary,
consider a phonebook. We couldstore phone numbers as tuples inside a
list, with the first tuple element beingthe name of the person and the
second tuple element being the phone number:
>>>phonelist = [(’Fred’,’555-1231’),(’Andy’,’555-1195’),(’Sue’,’555-
2193’)]
However, to find, say, Sue’s phone number, we’d have to search each
elementof the list to find the tuple with Sue as the first element in order to
find thenumber we wanted. With a dictionary, we can use the person’s
name as theindex to the array. In this case, the index is usually refered to
as a key. Thismakes it very easy to find the information we’re looking for:
>>>phonedict = {’Fred’:’555-1231’,’Andy’:’555-1195’,’Sue’:’555-2193’}
>>>phonedict[’Sue’]
’555-2193’
As the above example illustrates, we can initialize a dictionary with a
comma-separated list of key/value pairs, separated by colons, and
surrounded bycurly braces. An empty dictionary can be expressed by a
set of empty curlybraces ({}).
Example of if...else
# Program checks if the number is positive or negative
# And displays an appropriate message
num = 3
# Try these two variations as well.
# num = -5
# num = 0
if num>= 0:
print("Positive or Zero")
else:
print("Negative number")
In the above example, when num is equal to 3, the test expression is true
and body of if is executed and body of else is skipped.
If num is equal to -5, the test expression is false and body of else is
executed and body of if is skipped.
If num is equal to 0, the test expression is true and body of if is executed
and body of else is skipped
Python if Statement
Syntax
if test expression:
statement(s)
Here, the program evaluates the test expression and will execute
statement(s) only if the text expression is True.If the text expression is
False, the statement(s) is not executed. In Python, the body of the if
statement is indicated by the indentation. Body starts with an indentation
and the first unindented line marks the end. Python interprets non-zero
values as True. None and 0 are interpreted as False.
Python if Statement Flowchart:
Flowchart of if...elif...else
Example of if...elif...else
# In this program,
# we check if the number is positive or
# negative or zero and
# display an appropriate message
num = 3.4# Try these two variations as well:
# num = 0
# num = -4.5
if num> 0:
print("Positive number")
elifnum == 0:
print("Zero")
else:
print("Negative number")
When variable num is positive, Positive number is printed.
If num is equal to 0, Zero is printed.
If num is negative, Negative number is printed.
Python Nested if statements
We can have a if...elif...else statement inside another if...elif...else
statement. This is called nesting in computer programming. Any number
of these statements can be nested inside one another. Indentation is the
only way to figure out the level of nesting. This can get confusing, so must
be avoided if we can.
Python Nested if Example
# In this program, we input a number
# check if the number is positive or negative or zero anddisplay an
appropriate message. This time we use nested if
Syntax
# Program to find the sum of all numbers stored in a list
# List of numbers
numbers = [6, 5, 3, 8, 4, 2, 5, 4, 11]
# variable to store the sum
sum = 0
# iterate over the list
for val in numbers:
sum = sum+val
# Output: The sum is 48
print("The sum is", sum)
when you run the program, the output will be:
The sum is 48
Introduction to raspberry pi
While it may look likethere’s a lot packed into thetiny board, the
RaspberryPi isvery simple to understand –starting with its components,the
inner workings that makethe device tick.This includes the central
processing unit (CPU), commonly thought ofas the ‘brain’ of a computer,
and the graphics processing unit (GPU), which handles the visualside of
things.A brain is no good without memory, however, and on the underside
of the Raspberry Pi you’llfind exactly that: another chip, which looks like a
small, black, plastic square. Thisis the Pi’s random access memory (RAM).
When you’re working on the Pi, it’s the RAM thatholds what you’re doing;
only when you save your work will it be written to the microSD
card.Together, these components form the Pi’s volatile and non-volatile
memories: the volatile RAMloses its contents whenever the Pi is powered
off, while the non-volatile microSD card keepsits contents.Turning the
board over again you’ll find another metal lid to the upper-right, this
onefeaturing an etched Raspberry Pi logo (Figure, overleaf). This covers
the radio, thecomponent which gives the Raspberry Pi the ability to
communicate with devices wirelessly.The radio itself acts as two main
components, in fact: a WiFi radio, for connecting to computernetworks;
and a Bluetooth radio, for connecting to peripherals like mice and for
sending data toor receiving data from nearby smart devices like sensors
or smartphones.Another black, plastic-covered chip can be seen to the
bottom edge of the board, just behindthe middle set of USB ports. This is
the network and USB controller, and is responsible forrunning the Ethernet
port and the four USB ports. A final black chip, much smaller than the
rest,can be found a little bit above the micro USB power connector to the
upper-left of the board(Figure 1); this is known as a power management
integrated circuit (PMIC), and handles turningthe power that comes in
from the micro USB port into the power the Pi needs to run.
To the left of the USB ports is an Ethernet port, also known as a network
port (Figure above).You can use this port to connect the Raspberry Pi to a
wired computer network using a cablewith what is known as an RJ45
connector on its end. If you look closely at the Ethernet port,you’ll see two
light-emitting diodes (LEDs) at the bottom; these are status LEDs, and let
youknow that the connection is working.Just above the Ethernet port, on
the left-hand edge of the Raspberry Pi, is a 3.5 mmaudio-visual (AV) jack
(Figure 2). This is also known as the headphone jack, and it can be usedfor
that exact purpose – though you’ll get better sound connecting it to
amplified speakers ratherthan headphones. It has a hidden, extra feature,
though: as well as audio, the 3.5 mm AV jackcarries a video signal which
can be connected to TVs, projectors, and other displays.
High-Definition Multimedia Interface (HDMI) port:
It is the same type of connector you’ll find on a gamesconsole, set-top
box, and TV. The multimedia part of its name tells you that it carries
bothaudio and video signals, while high-definition tells you that you can
expect excellent quality.You’ll use this to connect the Raspberry Pi to your
display device, whether that’s a computermonitor, TV, or projector.
Micro USB power port: which you’ll use to connectthe Raspberry Pi to a
power source. The micro USB port is a common sight on
smartphones,tablets, and other portable devices. So you could use a
standard mobile charger to power thePi, but for best results you should
use the official Raspberry Pi USB Power Supply.
Raspberry Pi’s peripherals
A Raspberry Pi by itself can’t do very much, just the same as a desktop
computer on its ownis little more than a door-stop. To work, the Raspberry
Pi needs peripherals: at the minimum,you’ll need a microSD card for
storage; a monitor or TV so you can see what you’re doing; akeyboard and
mouse to tell the Pi what to do; and a 5 volt (5 V) micro USB power supply
ratedat 2.5 amps (2.5 A) or better. With those, you’ve got yourself a fully
functional computer.
USB power supply: A power supply ratedat 2.5 amps (2.5A) or 12.5
watts (12.5W)and with a micro USB connector. TheOfficial Raspberry Pi
Power Supply is therecommended choice, as it can cope withthe quickly
switching power demands ofthe Raspberry Pi.
The GPIO pins on the Raspberry Pi are divided into the following
groups:
Power: Pins that are labeled 5.0v supply 5 volts of power and those
labeled 3V3 supply 3.3 volts of power. There are two 5V pins and two 3V3
pins.
GND: These are the ground pins. There are eight ground pins.
Input/Output pins: These are the pins labelled with the # sign, for
example, #17, #27, #22, etc. These pins can be used for input or output.
UART: The Universal Asynchronous Receiver/Transmitter allows your
Raspberry Pi to be connected to serial peripherals. The UART pins are
labelled TXD and RXD.
SPI: The Serial Peripheral Interface is a synchronous serial communication
interface specification used for short distance communication, primarily in
embedded systems. The SPI pins are labeled MOSI, MISO, SCLK, CE0, and
CE1.
MISO(Master In Slave Out): Master line for sending data to the
master.
MOSI(MasterOut Slave In): Slave line for sending data to the
Peripherals.
SCK( Serial Clock): Clock generated by master to synchronize data
transmission.
CE0( chip Enable 0): to enable or disable devices.
CE1( chip Enable 1): to enable or disable devices.
Program
Program:
Parallax PIR Motion Sensor (see fig). The PIR Sensor detects motion by
measuring changes in the infrared (heat) levels emitted by surrounding
objects of up to three meters.
The Parallax Motion sensor has three pins (see Figure ):
GND: The Ground pin. Connect this pin to the GND on the GPIO.
VCC: The voltage pin. Connect this pin to one of the 5V pins on the GPIO.
OUT: The output pin. Connect this to one of the Input/Output pins on the
GPIO.
previous_state = False #6
current_state = False
while True: #7
time.sleep(0.1) #8
previous_state = current_state #9
current_state = GPIO.input(pirsensor) #10
if current_state != previous_state: #11
if current_state: #12
print("Motion not Detected!") #13
#1: The latest version of Raspbian includes the RPI.GPIO Python library
pre-installed, so you can simply import that into your Python code. The
RPI.GPIO is a library that allows your Python application to easily access
the GPIO pins on your Raspberry Pi. The as keyword in Python allows you
to refer to the RPI.GPIO library using the shorter name of GPIO.
#2: The application is going to insert some delays in the execution, so you
need to import the time module.
#3: You declare a variable named pirsensor to indicate the pin number for
which the Output pin on the PIR sensor is connected to the GPIO pin. In
this example, it's GPIO pin #4.
#4: There are two ways to refer to the pins on the GPIO: either by physical
pin numbers (starting from pin 1 to 40 on the Raspberry Pi 2/3), or
Broadcom GPIO numbers (BCM). Using BCM is very useful with a ribbon
cable (such as the Adafruit T-Cobbler Plus) to connect the Raspberry Pi to
the breadboard. The BCM numbers refer to the labels printed on the T-
Cobbler Plus (see Figure 8). For this example, we're using the BCM
numbering scheme. That means that when we say we're getting the input
from pin 4, we're referring to the pin printed as #4 on the T-Cobbler Plus.
#5: Initialize the pin represented by the variable pinsensor as an input
pin. Also, we use a pull-down resistor (GPIO.PUD_DOWN) for this pin.
#6: There are two variables to keep track of the state of the sensor.
#7: We use an infinite loop to check the state of the sensor repeatedly.
#8: Inserts a slight delay of 1 second to the execution of the program
#9: Save the current state of the sensor.
#10: The GPIO.input() function reads the value of the GPIO pin (#4 in this
case). When motion is detected, it returns a value of true.
#11: Compare the previous state and the current state to see if the
motion sensor has a change in state. If there's a change, it means that
either the sensor has just detected motion (when the state changes from
false to true), or that the sensor is resetting itself (when the state changes
from true to false) a few seconds after motion has been detected.
#12: If the current state is true, it means that motion has been detected.
#13: Print out the string “Motion Detected!”
Motors programming:
Import RPi.GPIO as GPIO
from gpiozero import Motor
motor1 = Motor(4, 14) #to make it easier to see which pin is which,
you can use Motor(forward=4, backward=14) .
motor2 = Motor(17, 27) # forward=17, backward =27
motor1.forward()
motor2.forward()
motor1.backward()
motor2.backward()
while True: #The Motor class also allows you to reverse themotor’s
direction.
sleep(5)
motor1.reverse()
motor2.reverse()
motor1.stop() # Now stop the motors
motor2.stop()
Buzzer program:
from gpiozero import Button,Lights, buzzer.
buzzer = Buzzer(15)
while True:
lights.on()
buzzer.on()
button.wait_for_press()
lights.off()
buzzer.off()
button.wait_for_release()
Unit-4
Southbound Interface:
To program the data plane, the SDN controller has to communicate with
our network devices. This action is done through the southbound
interface, which is a software interface, often an Application Programming
Interface (API).
Northbound Interface:
The northbound interface is utilized to access the SDN controller. It allows
the administrator to access the SDN to configure it or to retrieve
information from it.
SDN focuses on the following key areas:
Separation of data plane from the control plane.
Centralization of the control plane.
Standardized interfaces between the device and controller.
Programmability of control plane by external applications.
SDN allows the user to treat all the devices equally by hiding the vendor
or device specifics of the data layer, thus representing the entire data
plane as a virtual abstract layer.SDN provides the flexibility to view the
entire data plane infrastructure as a virtual resource that can be
configured and controlled by an upper layer control plane. In an SDN
architecture, the network appears as one logical device to the
applications.
The control plane defines the controls and intelligence required by the
data plane. The data layer hardware devices are now free from their
individual control layers and can act as a collective resource.Centralizing
the control plane allows to inspect the state of the data layer and make
adjustments dynamically to respond to new demands and changing
conditions.The control layer provides a global view of all the network-wide
resources, representing all the network devices as one virtual logical
network.Control and Data layers are generally referred to as North and
Southbound interfaces. As you know, Southbound interfaces from the
controller communicate with lower-level hardware infrastructure and
northbound interfaces communicate with business
applications.Programming the control plane allows different parts of the
network to communicate absolutely and gives a network flexible adoption
control.
What Is OpenFlow Concept In SDN Network ? (Protocols Used In
Software Defined Network Technology)
OpenFlow is the protocol that allows the SDN controllers to communicate
with the forwarding plane of network devices. It is considered one of the
first software-defined networking (SDN) standards. An SDN Controller is
the “brain” of the SDN network.
Any device that wants to communicate to an SDN Controller must support
OpenFlow protocol. Through the OpenFlow, the SDN Controller pushes
down changes to the switch or router flow-table allowing network
administrators to segment traffic, control flows for optimal performance,
and start testing new configurations and applications.
Only one protocol is available for rule placement that is Open Flow
protocol. The match fields the protocol uses is :
Source IP
Destination IP
Source port
Priority
The amount of time that the flow rule has to be kept is given by :
Hard Timeout:
All the rules are deleted during this time in the switch
This can be used to reset the switch
Soft Timeout:
If no flow is received associated with a rule for particular time then
the rule is deleted.
This is used to empty the rule space by deleting an unused rule.
Controller Placement:
Controllers specify the flow rule based on the application specific
requirements.
The controllers must be able to handle all incoming requests from
the switches.
Rule should be placed without incurring much delay.
Typically, a controller can handle 200 request in a second.
The controllers are logically connected to the switches in one Hop -
distance.
If we have a very small number of controllers for a large network,
the network might be congested with control packets.
Challenges
Real-time programming of sensor nodes
Vendor-specific architecture
Resource constrained - heavy computation cannot be performed
Limited memory - cannot insert too many control programs
Opportunities
Can we program the sensor nodes in real-time?
Can we change the forwarding path in real-time?
Can we integrate different sensor nodes in a WSN?
Sensor OpenFlow
→ Value-centric data forwarding
Forward the sensed data if exceeds a certain value.
→ ID-centric data forwarding
Forward the sensed data based on the ID of the source node.
Sensor management
Multiple sensors can be implemented in a single sensor board.
Sensors can be used depending on application-specific
requirements.
→ Delay management
Delay for sensing can be changed dynamically in real-time.
→ Active-Sleep Management
States of active and sleep mode can be changed dynamically.
Soft-WSN
Topology Management
- Node-specific management - forwarding logic of a particular sensor
can be modified
- Network-specific management
Forward all traffic of a node in the network.
Drop all traffic of a node in the network.
What is Data?
The quantities, characters, or symbols on which operations are performed
by a computer, which may be stored and transmitted in the form of
electrical signals and recorded on magnetic, optical, or mechanical
recording media.
What is Big Data?
Big Data is a collection of data that is huge in volume, yet growing
exponentially with time. It is a data with so large size and complexity that
none of traditional data management tools can store it or process it
efficiently. Big data is also a data but with huge size.
Types Of Big Data
Following are the types of Big Data:
Structured
Unstructured
Semi-structured
Structured:
Any data that can be stored, accessed and processed in the form of fixed
format is termed as a 'structured' data. Over the period of time, talent in
computer science has achieved greater success in developing techniques
for working with such kind of data (where the format is well known in
advance) and also deriving value out of it. However, nowadays, we are
foreseeing issues when a size of such data grows to a huge extent, typical
sizes are being in the rage of multiple zettabytes.10 21 bytes equal to 1
zettabyte or one billion terabytes forms a zettabyte.
Examples Of Structured Data
An 'Employee' table in a database is an example of Structured Data.
Unstructured:
Any data with unknown form or the structure is classified as unstructured
data. In addition to the size being huge, un-structured data poses multiple
challenges in terms of its processing for deriving value out of it. A typical
example of unstructured data is a heterogeneous data source containing a
combination of simple text files, images, videos etc. Now day
organizations have wealth of data available with them but unfortunately,
they don't know how to derive value out of it since this data is in its raw
form or unstructured format.
Examples Of Un-structured Data
The output returned by 'Google Search'.
Semi-structured
Semi-structured data can contain both the forms of data. We can see
semi-structured data as a structured in form but it is actually not defined
with e.g. a table definition in relational DBMS. Example of semi-structured
data is a data represented in an XML file.
Examples Of Semi-structured Data
Personal data stored in an XML file-
Characteristics Of Big Data:
Big data can be described by the following characteristics:
Volume
Variety
Velocity
Variability
(i) Volume – The name Big Data itself is related to a size which is
enormous. Size of data plays a very crucial role in determining value out
of data. Also, whether a particular data can actually be considered as a
Big Data or not, is dependent upon the volume of data. Hence, 'Volume' is
one characteristic which needs to be considered while dealing with Big
Data.
(ii) Variety – The next aspect of Big Data is its variety.
Variety refers to heterogeneous sources and the nature of data, both
structured and unstructured. During earlier days, spreadsheets and
databases were the only sources of data considered by most of the
applications. Nowadays, data in the form of emails, photos, videos,
monitoring devices, PDFs, audio, etc. are also being considered in the
analysis applications. This variety of unstructured data poses certain
issues for storage, mining and analysing data.
(iii) Velocity – The term 'velocity' refers to the speed of generation of data.
How fast the data is generated and processed to meet the demands,
determines real potential in the data.
Big Data Velocity deals with the speed at which data flows in from sources
like business processes, application logs, networks, and social media sites,
sensors, Mobile devices, etc. The flow of data is massive and continuous.
(iv) Variability – This refers to the inconsistency which can be shown by
the data at times, thus hampering the process of being able to handle and
manage the data effectively.
Distributed analytics
Distributed analytics is necessary in IoT systems to analyse data at
scale, particularly when dealing with historical data that is too vast to be
stored or processed by a single node. Data can be spread across multiple
databases; for example, device data might be bucketed into databases for
each device per time period, such as hourly, daily, or monthly, like the
IBM Watson IoT Historian Service that connects to Cloudant NoSQL
database that stores the IoT data. Analytics may involve aggregating
results which are distributed across multiple geographical locations. You’ll
want to adopt a storage driver or analytics framework that bridges
distributed storage and compute infrastructure to allow seamless querying
across distributed databases.Of particular note for processing of
distributed data are the ecosystem of frameworks arising from the
Hadoop community. Apache Hadoop is a batch processing framework that
uses a MapReduce engine to process distributed data. Hadoop is very
mature and was one of the first open-source frameworks to take off for big
data analytics. There’s also Apache Spark, which was started later with an
intention to improve on some of the weak points of Hadoop.Hadoop and
Spark are ideal for historical IoT data analytics for batch-processing where
time sensitivity is not an issue, such as performing analysis over a
complete set of data and producing a result at a later time.
Real-time analytics
Analytics for high-volume IoT data streams is often performed in real-time,
particularly if the stream includes time-sensitive data, where batch
processing of data would produce results too late to be useful or any other
application where latency is a concern.
Real-time analytics are also ideal for time series data, because unlike
batch processing, real-time analytics tools usually support controlling the
window of time analysis, and calculating rolling metrics, for example, to
track hourly averages over time rather than calculating a single average
across an entire dataset.
Frameworks that are designed for real-time stream analytics include
Apache Storm and Apache Samza (usually used with Kafka and Hadoop
YARN). Hybrid engines that can be used for either stream or batch
analytics include Apache Apex, Apache Spark, and Apache Flink. Apache
Kafka acts as an ingestion layer that can sit over the top of an engine like
Spark, Storm or Hadoop. For a guide to selecting between these open
source frameworks, read Choosing the right platform for high-
performance, cost-effective stream processing applications.
Edge analytics
IoT analytics is not usually applied to raw device data. The data is
pre-processed to filter out duplicates or to re-order, aggregate or
normalize the data prior to analysis. This processing typically occurs at
the point of acquisition, on the IoT devices themselves or on gateway
devices that aggregate the data, to determine which data needs to be
sent upstream.
Analytics applied at the edges of the network, as close as possible
to the devices generating the data is known as edge analytics. Linux
Foundation’s EdgeX Foundry, an open source IoT edge computing
framework, also supports edge analytics.
Edge analytics is low-latency and reduces bandwidth requirements
because not as much data needs to be transmitted from the device.
However, constrained devices have limited processing capacity, so most
IoT solutions use a hybrid approach involving edge analytics and
upstream analytics.
Machine learning
Using traditional mathematical statistical models for analytics
provides value as they can be used to track goals, create reports and
insights, predict trends, and create simulations that are used to predict
and optimize for specific outcomes. For example, you can predict the
outcome of applying a specific action, predict the time to failure for a
given piece of equipment, or optimize the configuration of an IoT system
in terms of cost or performance.
However, the value of statistical analytics models diminishes when
applied to dynamic data that contains many variables that change over
time, when you don’t know what factors to look for, or what variables to
change to achieve a desired outcome like reducing cost or improving
efficiency. In these cases, instead of using a statistical model, machine
learning algorithms that learn from the data can be applied.
Machine learning can be applied to historic or real-time data.
Machine learning techniques can be used to identify patterns, identify key
variables and relationships between them to automatically create and
refine analytics models, and then use those model for simulations or to
produce decisions. Machine learning approaches have the advantage over
static statistical analytics models that as new data comes in, the models
can be improved over time, which leads to improved results.The state of
the art Machine learning techniques mostly come in the domain of Deep
learning using neural networks (Convolutional Neural Networks, Long
Short Term Memory networks). Emerging and promising areas of research
include Active learning, Multi modal and Multi-Task learning, and
Transformer-based language models. That being said, the traditional
machine learning methods like Regression, Support Vector Machines, and
Decision trees can still prove to be effective in a lot of applications.
Unit -5
Cloud Computing
Sensor Cloud:
The advancement and application of wireless sensor networks
become an invincible trend into the various industrial, environmental, and
commercial fields. A typical sensor network may consist of a number of
sensor nodes acting upon together to monitor a region and fetch data
about the surroundings. A WSN contains spatially distributed self-
regulated sensors that can cooperatively monitor the environmental
conditions, like sound, temperature, pressure, motion, vibration, pollution,
and so forth. Each node in a sensor network is loaded with a radio
transceiver or some other wireless communication device, a small
microcontroller, and an energy source most often cells/battery. The nodes
of sensor network have cooperative capabilities, which are usually
deployed in a random manner. These sensor nodes basically consist of
three parts: sensing, processing, and communicating. Some of the most
common sensor devices deployed in sensor network as sensor nodes are
camera sensor, accelerometer sensor, thermal sensor, microphone
sensor, and so forth.
Currently, WSNs are being utilized in several areas like healthcare,
defence such as military target tracking and surveillance, government and
environmental services like natural disaster relief, hazardous environment
exploration, and seismic sensing, and so forth. These sensors may provide
various useful data when they are closely attached to each of their
respective applications and services directly. However, sensor networks
have to face many issues and challenges regarding their communications
(like short communication range, security and privacy, reliability, mobility,
etc.) and resources (like power considerations, storage capacity,
processing capabilities, bandwidth availability, etc.). Besides, WSN has its
own resource and design constraints. Design constraints are application
specific and dependent on monitored environment. Based on the
monitored environment, network size in WSN varies. For monitoring a
small area, fewer nodes are required to form a network whereas the
coverage of a very large area requires a huge number of sensor nodes.
For monitoring large environment, there is limited communication
between nodes due to obstructions into the environment, which in turn
affects the overall network topology (or connectivity). All these limitations
on sensor networks would probably impede the service performance and
quality. In the midst of these issues, the emergence of cloud computing is
seen as a remedy.
A Sensor-Cloud collects and processes information from several
sensor networks, enables information sharing on big scale, and
collaborates with the applications on cloud among users. It integrates
several networks with a number of sensing applications and cloud
computing platform by allowing applications to be cross-disciplinary that
may span over multiple organizations. Sensor-Cloud enables users to
easily gather, access, process, visualize, analyse, store, share, and search
for a large number of sensor data from several types of applications and
by using the computational IT and storage resources of the cloud.
In a sensor network, the sensors are utilized by their specific
application for a special purpose, and this application handles both the
sensor data and the sensor itself such that other applications cannot use
this. This makes wastage of valuable sensor resources that may be
effectively utilized when integrating with other application's infrastructure.
To realize this scenario, Sensor-Cloud infrastructure is used that enables
the sensors to be utilized on an IT infrastructure by virtualizing the
physical sensor on a cloud computing platform. These virtualized sensors
on a cloud computing platform are dynamic in nature and hence facilitate
automatic provisioning of its services as and when required by users.
Furthermore, users need not to worry about the physical locations of
multiple physical sensors and the gapping between physical sensors;
instead, they can supervise these virtual sensors using some standard
functions.
Within the Sensor-Cloud infrastructure, to obtain QoS, the virtual
sensors are monitored regularly so users can destroy their virtual sensors
when they becomes meaningless. A user interface is provisioned by this
Sensor-Cloud infrastructure for administering, that is, for controlling or
monitoring the virtual sensors, provisioning and destroying virtual
sensors, registering and deleting of physical sensors, and for admitting
the deleting users. For example, in a health monitoring environment, a
patient may use a wearable computing system (that may include
wearable accelerometer sensors, proximity sensors, temperature sensors,
etc.) like Life Shirt and Smart Shirt or may use a handheld device loaded
with sensors, and consequently the data captured by the sensors may be
made accessible to the doctors. But out of these computing systems,
active continuous monitoring is most demanding, and it involves the
patient wearing monitoring devices to obtain pervasive coverage without
being inputted or intervened.
Sensor Network Architecture:
Sensor Network Architecture is used in Wireless Sensor Network (WSN). It
can be used in various places like schools, hospitals, buildings, roads, etc
for various applications like disaster management, security management,
crisis management, etc.
Advantages of Sensor-Cloud
Cloud computing is very encouraging solution for Sensor-Cloud
infrastructure due to several reasons like the agility, reliability, portability,
real-time, flexibility, and so forth. Structural health and environment-
based monitoring contains highly sensitive data and applications of these
types cannot be handled by normal data tools available in terms of data
scalability, performance, programmability, or accessibility. So a better
infrastructure is needed that may contain tools to cope with these highly
sensitive applications in real time. In the following, we describe the
several advantages and benefits of Sensor-Cloud infrastructure that may
be the cause of its glory, and these are as follows.
Analysis: The integration of huge accumulated sensor data from
several sensor networks and the cloud computing model make it
attractive for various kinds of analyses required by users through
provisioning of the scalable processing power.
Scalability: Sensor-Cloud enables the earlier sensor networks to
scale on very large size because of the large routing architecture of
cloud. It means that as the need for resources increases,
organizations can scale or add the extra services from cloud
computing vendors without having to invest heavily for these
additional hardware resources.
Collaboration: Sensor-Cloud enables the huge sensor data to be
shared by different groups of consumers through collaboration of
various physical sensor networks. It eases the collaboration among
several users and applications for huge data sharing on the cloud.
Free Provisioning of Increased Data storage and Processing Power : It
providesfree data storage and organizations may put their data
rather than putting onto private computer systems without hassle. It
provides enormous processing facility and storage resources to
handle data of large-scale applications.
Dynamic Provisioning of Services: Users of Sensor-Cloud can access
their relevant information from wherever they want and whenever
they need rather than being stick to their desks.
Automation: Automation played a vital role in provisioning of
Sensor-Cloud computing services. Automation of services improved
the delivery time to a great extent.
Flexibility: Sensor-Cloud provides more flexibility to its users than
the past computing methods. It provides flexibility to use random
applications in any number of times and allows sharing of sensor
resources under flexible usage environment.
Agility of Services: Sensor-Cloud provides agile services and the
users can provision the expensive technological infrastructure
resources with less cost. The integration of wireless sensor networks
with cloud allows the high-speed processing of data using immense
processing capability of cloud.
Connected City
A common definition for a smart city is using ICT to make a city
(administration, education, transportation, etc.) more intelligent and
efficient. The definitions and concepts of smart cities are still emerging,
and there is currently no clear and consistent definition of a smart city
among the different stakeholders. In order to implement and assess smart
cities in practice, a deeper understanding of the ‘smart city’ still needs to
be defined. Many countries and cities have launched their own smart city
projects to resolve urbanization issues and challenges. The USA was one
of the first countries to launch a smart city project with a high compliment
of smarter planet notions from President Barack Obama. In particular, for
developing countries, the speed of urbanization is considerably faster and,
as a consequence, the infrastructure problems faced are much greater. In
2014, India declared an intention to build more than 100 smart cities, with
high-technology communication capabilities, throughout the country. ICT
plays an important role in smart city construction. Top-level architecture
research plays a considerable role in guiding technology development in
every domain of a smart city and improving research into resource
configuration. Now let’s extrapolate the potential use cases to an entire
city in which we have many objects that are capable of capturing
information and interacting with other objects. The street lamp can now
not only communicate with the devices that are closest but with other
objects that are connected to the Internet and process this information to
make decisions, for example, about the intensity of the light that is the
most appropriate. The objects can also send information about what is
happening in their environment or process different information. If the
information from the street lamp is processed alongside with information
from a nearby traffic light, we can start talking about the IoT use cases in
the smart city environment.
When it comes to smart cities and the management of public space,
the scope of possibilities, that IoT offers, is infinite. In other words, the IoT
comes with considerable possibilities and room for manoeuvre within the
field of smart cities. It is one of the aspects that we will touch in the
Master’s in Global Smart City Manager. IoT is a technology that is already
there, that has been developed for a long time, but whose implantation in
the public space will prevail in the years to come.
And depending on the way we approach our smart city project or
the implementation of this technology in public space, smart city projects
will be developed in one way, or another, they will be able to achieve
common objectives in one way or another.
Smart Home:
Cloud computing and its contribution to IoT and smart home: Cloud
computing is a shared pool of computing resources ready to provide
a variety of computing services in different levels, from basic
infrastructure to most sophisticated application services, easily
allocated and released with minimal efforts or service provider
interaction. In practice, it manages computing, storage, and
communication resources that are shared by multiple users in a
virtualized and isolated environment. IoT and smart home can
benefit from the wide resources and functionalities of cloud to
compensate its limitation in storage, processing, communication,
support in pick demand, backup and recovery. For example, cloud
can support IoT service management and fulfillment and execute
complementary applications using the data produced by it. Smart
home can be condensed and focus just on the basic and critical
functions and so minimize the local home resources and rely on the
cloud capabilities and resources. Smart home and IoT will focus on
data collection, basic processing, and transmission to the cloud for
further processing. To cope with security challenges, cloud may be
private for highly secured data and public for the rest.
Challenges:
Security
Privacy
Scalability
Reliability
Quality of service
Lack of Global Standards
What is Vehicle to Everything (V2X)?
Vehicle to Everything (V2X) is a vehicular communication system that
supports the transfer of information from a vehicle to moving parts of the
traffic system that may affect the vehicle. The main purpose of V2X
technology is to improve road safety, energy savings, and traffic efficiency
on the roads.
Smart Grid:
What is the Smart Grid?
The “grid” is the electrical network serving every resident, business and
infrastructure service in a city. The “smart grid” is the next generation of
those energy systems, which have been updated with communications
technology and connectivity to drive smarter resource use.
The technologies that make today’s IoT-enabled energy grid “smart”
include wireless devices such as sensors, radio modules, gateways and
routers. These devices provide the sophisticated connectivity and
communications that empower consumers to make better energy usage
decisions, allow cities to save electricity and expense, and enables power
authorities to more quickly restore power after a blackout.
The Smart Grid is critical to building a secure, clean, and more efficient
future, according to the International Energy Agency (IEA). The Smart Grid
is part of an IoT framework, which can be used to remotely monitor and
manage everything from lighting, traffic signs, traffic congestion, parking
spaces, road warnings, and early detection of things like power influxes as
the result of earthquakes and extreme weather. The Smart Grid does this
through a network of transmission lines, smart meters, distribution
automation, substations, transformers, sensors, software and more that
are distributed to businesses and homes across the city.
Smart Grid technologies all contribute to efficient IoT energy management
solutions that are currently lacking in the existing framework. What makes
the IoT Smart Grid better is two-way communication between connected
devices and hardware that can sense and respond to user demands.
These technologies mean that a Smart Grid is more resilient and less
costly than the current power infrastructure.
The main advantages identified in this document are:
Energy savings through reducing consumption
One of the advantages of smart grids is that they can tell us the
consumption at an energy meter at any time, so users are better informed
of their real consumption. Moreover, with better consumption monitoring,
contracted power can be adjusted to meet the real need of each
consumer. These two factors result in users reducing their consumption
and tailoring their contracted power to their real needs.
Better customer service and more accurate bills
Another key advantage offered by tele-management systems is that bills
are more accurate. They always reflect the real consumption of each
month instead of estimates, reducing the cost of the old system of manual
energy meter readings. In addition to being able to access information
about the installation remotely, problems become easier to diagnose and
solutions can therefore be implemented faster, improving customer
service.Nowadays customers have to notify companies for them to take
action. But with remote management the system itself automatically
reports all incidents to the electric company so it can respond faster to
users.
Reduced balancing cost
Smart Grids can collect much more data than the manual energy meter
reading system. This permits the use of data analysis techniques and the
preparation of highly realistic consumption forecasts as many more
variables are taken into account.Utilities can then better tailor their
production to consumption (balances) and reduce energy surpluses.
Reduction of carbon emissions
All the benefits above involve reducing consumption, which entails a
reduction in CO2 emissions.We can thus say that Smart Grids lead to a
more sustainable future. All this will directly contribute to the future
integration of electric vehicle charging systems on the mains. The
deployment of renewable energy systems is also made easier as utilities
gain greater control of their grids.
Smart Grid Enables Renewable Energy Generation
Traditional energy grids are designed to transmit electricity from a large,
centralized power station to a wide network of homes and businesses in
the area. At this stage, the electric grid is not designed to accept inputs
from homes and businesses that are generating power via solar panels or
windmills. A smart grid is designed to accept power from renewable
resources.Crucially, the smart grid in conjunction with wirelessly enabled
smart meters can keep track of how much energy a net-positive
establishment is generating and reimburse them accordingly. The smart
grid also allows for monitoring of solar panels and equipment as well.We
mentioned earlier that a smart grid can mitigate the effects of a disaster
such as a terrorist attack or natural disaster on a power station, a feat
that’s possible due to decentralized energy generation. Under the
traditional model, a small number of power plants powered a city. This left
these services vulnerable to threats that would result in widespread
blackouts and energy shortages. With a decentralized model, even if the
centralized power plant is taken offline, multiple alternative sources,
including wind and solar, can supplant the resources in the grid. This
decentralized system is much harder to take offline and can provide a
robustness that’s not possible when one plant is powering an entire city.
Smart Grid for the Future
Smart grid technology can be expressed in a single sentence: a new
electric grid with two-way communication. For the first time, businesses
and consumers can get real time billing information while utility
companies can better meet the needs of their customers as they react to
demand spikes and fix or manage blackouts and other challenges. Smart
grid is resilient, efficient and green which is good for the consumer, the
utility company and the environment. Wireless technology will replace
thousands of miles of cable that would have been needed to advance the
smart grid to where it is today.
Challenges:
High Investment
Cyber attacks
Industrial IoT:
The Industrial Internet of Things (IIoT), which is considered as the
main future IoT-application area, is defined bythe Industrial Internet
Consortium asmachines, computers and people enabling intelligent
industrial operationsusing advanced data analytics for transformational
business outcomes” (“Industrial Internet Consortium,” 2017).Generally,
IIoT is one basis of Industry 4.0 and the digital transformation. The IIoT is
the connection between IT(information technology) and OT (operational
technology). IIoT is the most important segment in IoT, much morethan
consumer applications. The Industrial Internet of Things is related to the
Industry 4.0: all IoTapplications in Industry 4.0 are forms of IIoT but not all
IIoT use cases are about the industries which are categorizedas Industry
4.0. Typical use cases of theIndustrial Internet of Things include intelligent
machine applications, industrial control applications, factory flooruse
cases, condition monitoring, use cases in agriculture or smart grid
applications. It is important to know that the IIoT is not just about
savingcosts and optimizing efficiency though. Companies also have the
possibility to realize important transformationsand can find new
opportunities, e.g., entirely new business models in Industry 4.0.
Benefits of IIoT
These are 5 of the biggest benefits of adopting a fully connected IIoT
manufacturing operation.
Increase efficiency
The biggest benefit of IIoT is that it gives manufacturers the ability to
automate, and therefore optimize their operating efficiency. Robotics and
automated machinery can work more efficiently and accurately, boosting
productivity and helping manufacturers streamline their functions.
Additionally, physical machinery can be connected to software via sensors
that monitor performance on a constant basis. This enables
manufacturers to have better insights into the operational performance of
individual pieces of equipment as well as entire fleets.
IIoT-enabled data systems empower manufacturers to improve operating
efficiencies by:
Bypassing manual tasks and functions and implementing
automated, digital ones
Making data-driven decisions regarding all manufacturing functions
Monitoring performance from anywhere – on the manufacturing floor
or from thousands of miles away
Reduce Errors
Industrial IoT empowers manufacturers to digitize nearly every part of
their business. By reducing manual process and entries, manufacturers
are able to reduce the biggest risk associated with manual labor – human
error.
This goes beyond just operational and manufacturing errors. IIoT solutions
also can reduce the risk of cyber and data breaches caused by human
error. A Cyber Security Trend report cited people as the biggest cause of
cyber security breaches, with human error being the culprit 37% of the
time. AI and machine learning-enabled programs and machinery can do
much of the required computing themselves, eliminating the potential for
someone to make a simple mistake, and put the manufacturer’s data at
risk.
Predictive Maintenance
Nothing negatively impacts a manufacturing operation more than
machine downtime. When maintenance in the manufacturing world is
reactive rather than proactive, manufacturers are stuck trying to identify
what the issue is, how it can be repaired, and what it will cost. With
predictive maintenance powered by industrial IoT solutions, all of those
issues are alleviated.
When machinery performance and function is monitored consistently,
manufacturers can create a baseline. This baseline and the corresponding
data empowers companies with the information they need to see any
issue before it occurs. They can then schedule maintenance prior to
downtime, which benefits them in that they:
Improve Safety
All of the data and sensors required of a fully functioning IIoT
manufacturing operation are also helping to bolster workplace safety.
“Smart manufacturing” is turning into “smart security” when all of the IIoT
sensors work together to monitor workplace and employee safety.
Integrated safety systems are protecting workers on the floor, on the line,
and in distribution. If an accident occurs, everyone in the facility can be
alerted, operations can cease, and company leadership can intervene and
make sure the accident and incident is resolved. This incident can also
generate valuable data that can help prevent a repeat occurrence in the
future.
A newer option some manufacturers are utilizing is the use of wearable
technology among their employees. Wearables have been part of IoT
since its infancy, and it are just now being utilized in industrial IoT
operations.
Wearables help leadership keep tabs on things like employee posture and
the surrounding noise levels, and they can then improve work conditions
and potentially improve performance. They can also alert employees
when they aren’t following proper workplace safety procedures, so they
can correct their actions and stay safe on the job.
Reduce Costs
Knowledge is power, and the knowledge provided to manufacturers via
IIoT solutions is giving them the tools they need to reduce costs and
generate more revenue. Data-driven insights into operations, production,
marketing, sales, and more can steer businesses in a profitable direction.
All of the aforementioned benefits of IIoT – predictive maintenance, fewer
errors, improved quality control, and maximized efficiencies – will all boost
profits for a manufacturer. Industrial IoT also offers arguably the most
valuable tool for leaders of a manufacturing company – insights from
anywhere, anytime.
Remote monitoring of manufacturing operations is now possible 365 days
a year, 24/7, from anywhere in the world. This 360-degree view into the
entire manufacturing process, and the follow-up service provided to
customers in their buying journey, is an invaluable asset.
CASE STUDY: