Professional Readiness forInnovation, Employability & Entrepreneurship
Naan Mudhalvan - Project Based Experiential Learning
IBM | career.education@ibm.com
Technical Training Session - Internet of Things
Powered by
2.
Program Understanding
Program aimsto develop employability, innovation and entrepreneurship skills in the students through
project-based experiential learning in collaborative learning environments under the guidance of industry
mentoring. Program assists students in developing technical and professional competencies as they create
innovative solutions to problem statements. Students are taught to think technically and with an open mind.
Normally, companies provide such training after recruiting students, but under this project, skills are
provided in colleges.
Objectives:
❑ To empower the students with technical skills to require solving a real-world challenge
❑ To train the students on the approach to building solutions by applying critical thinking and
problem-solving capabilities in a collaborative environment.
❑ To mentor the students to build innovative solutions by applying design thinking concepts.
❑ To introduce the standard project development methodologies followed in the industry to the students
❑ To develop the professional skills like teamwork, leadership qualities, communication in the students
❑ To enhance the employability of students in order to get them internships and job opportunities
3.
Project Based ExperientialLearning
Project based learning helps students to understand the concepts by applying them on real-world
usecases. Hands-on learning experiences help them build following professional and technical
competencies required for job readiness and innovation
PROFESSIONAL COMPETENCIES
TECHNICAL COMPETENCIES
Ideation & Innovation
Solution architecture,
Demos & presentation
Critical Thinking &
Problem Solving
Teamwork &
Inclusivity
Communication Skills
Research &
Project planning
Technology Stack
(use APIs, tools,
techniques)
Coding & Solutioning
Agile & Design
Thinking practices
IoT Course Objectives
Oncompletion of the 30 hours course the learner will be able to:
● Know the basis of Internet of Things
● Have knowledge of Building blocks of IoT
● Able to Design IoT Devices
● Able to communicate IoT Devices using various protocols
● Understand Cloud protocols
● Know about Computer Vision using Python
6.
IoT Prerequisites
Participants should
●Have a basic understanding of C programming and Python programming
● Have a computer with basic configuration and good internet connectivity
● Python 3.7 version should be installed (Python latest version is not recommended)
7.
Content
Introduction to Internetof Things (IoT)
● What is IoT & Industrial IoT
● Evolution of IoT
● Unblock Business Value with IoT
● Societal Impacts of IoT
● IoT Applications
● IoT Applications in various Sectors
Content
Design an IoTDevice
● IoT Device Design Considerations
● Proof of Concept (PoC) Development
● Open IoT Hardware
● Sensors & Actuators
● Network Considerations
● Power Management
10.
Content
Getting Started withArduino UNO & Tinkercad Platform
● Introduction to Arduino UNO
● Getting Started with TinkerCad Platform
● Blink an LED using Arduino UNO
● Integrating Push Button with Arduino UNO
● Integrating Analog Input with Arduino UNO
● Integrating Analog Output with Arduino UNO
11.
Content
Getting started withESP32 and Wokwi platform
● Specifications of ESP32 Development Board
● Installation of Arduino IDE & ESP32 Packages
Integrate TMP36 Sensor with Arduino UNO
● What is a DHT11 & TMP36 Sensor & How it works
● Integrate TMP36 sensor with ESP32
12.
Content
Integrate Ultrasonic Sensorwith Arduino UNO
● What is an Ultrasonic Sensor & How it Works
● Integrate Ultrasonic sensor with Arduino UNO
Integrate Servo Motor with Arduino UNO
● What is the Servo motor & How it works?
● Integrate Servo Motor with Arduino UNO
13.
Content
IoT Communication Technologies
●Wired vs. Wireless Technologies
● Short range vs. Long range communication
● Understand Bluetooth Low Energy (BLE)
● Understand Wi-Fi Communication
● Understand Zigbee Communication
14.
Content
Long Range WirelessCommunication Technologies
● LoRa & LoRaWAN for IoT Communication
● Narrow Band-Internet of Things (NB-IoT) Communication
● Compare LoRAWAN & NB IoT Communication
IoT protocols
● Understand HTTP Protocol
● Understand HTTPS Protocol
● Understand MQTT Protocol
● Understand CoAP Protocol
15.
Content
HTTP & MQTTPractical’s
● Get Weather Info from Open Weather API using HTTP
● Hands-on with MQTT - Hive MQ Publish Broker
Introduction to Python
● Python Environment setup
Python basics
● Python-Variable Types
● Python- Basic Operators
● Python- Strings
Content
Getting started withRaspberry PI
● Introduction to Raspberry PI
● Compare different models of Raspberry PI
● Explore Raspberry PI GPIO pins
● OS installation
Raspberry Pi as a Gateway
● Raspberry Pi as a gateway
● Configuring Raspberry Pi as a gateway
18.
Content
Introduction to Cloud
●What is Cloud Technology?
● Understand Different Service models (SaaS, PaaS, IaaS)
Firebase Cloud & IoT Platform Architecture
● Introduction to Firebase Cloud Platform & its services
● Explore IoT Platform Architecture
19.
Content
Getting Started Node-REDService
● Introduction to Node-RED Service
● Installation of local Node-Red
● Getting Started with Node-RED
Web Application Development using Node-RED Service
● Develop a web UI to display the Sensor data
● Configure the buttons in UI to send the commands
● Publish and Subscribe data from Firebase IoT Platform using Python Code
20.
Content
Mobile Application Developmentusing MIT App Inventor
● Develop the User Interface to display the sensor data
● Configure the API's using Node-RED service to get the sensor data
● Display the Data in the UI and Install the Mobile App
● Configure the API's using Node-RED service to receive commands from Mobile App
● Configure the mobile App to send commands to Firebase Cloud
Case study 1
Case study 2
When? Where? Who?
●A Coke Machine at Carnegie Mellon
University, in 1982
● Mike Kazar, David Nichols, John Zsarnay,
and Ivor Durham
● They could check from their desks if the
machine was loaded with cold coke
24.
When? Where? Who?
●The Internet Toaster by John Romkey in
1989
● Connected to the internet with TCP/IP
● Controlled via SNMP MIB (Simple
Networking Management Protocol
Management Information Base)
● Control to turn on/off
WHAT IS ARDUINO?
●Arduino is an open-source platform used for building electronics
projects .
● Easy tool for fast prototyping.
● consists of both a physical programmable circuit board and a piece
of software.
45.
WHY ARDUINO?
● Opensource Platform.
● Inexpensive
● Does not need a separate piece of hardware
● Arduino IDE uses a simplified version of C++
● Cross-platform
● Provides a standard form factor
46.
WHAT CAN ANARDUINO DO?
● Interacts with buttons, LEDs, motors, speakers, GPS units, cameras,
the internet, and even your smart-phone or your TV
● designed for artists, designers, hobbyists, hackers, newbie's, and
anyone interested in creating interactive objects or environments
ARDUINO UNO Specifications
•Operating Voltages - 5V and 3.3V
• Input Voltage (recommended) - 5-12V
• Input Voltage (limits) - 6-20V
• Digital I/O Pins - 14 (6 provide PWM output)
• Analog Input Pins - 6
• DC Current per I/O Pin - 40 mA
• DC Current for 3.3V Pin - 50 mA
• Flash Memory - 32 KB (ATmega328)
• SRAM - 2 KB (ATmega328)
• EEPROM - 1 KB (ATmega328)
• Clock Speed - 16 MHz
• Microcontroller - ATmega328
53.
ARDUINO UNO Software
●Check out: http://arduino.cc/en/Guide/HomePage
● Download & install the Arduino environment (IDE)
● Connect the board to your computer via the USB cable
● If needed, install the drivers (not needed in lab)
● Launch the Arduino IDE
● Select your board
● Select your serial port
● Open the example
● Upload the program
Digital Input Code(Button):
const int buttonPin = 2; // the number of the pushbutton pin
int buttonState = 0; // variable for reading the pushbutton status
void setup() {
pinMode(buttonPin, INPUT);
Serial.begin(9600);
}
void loop() {
buttonState = digitalRead(buttonPin);
Serial.println(buttonState);
}
67.
Try to GlowLED when the Button is
pressed and off LED when button is
released
68.
(Button with LED):
constint buttonPin = 2; // the number of the pushbutton pin
const int ledPin = 13; // the number of the LED pin
int buttonState = 0; // variable for reading the pushbutton status
void setup() {
pinMode(ledPin, OUTPUT);
pinMode(buttonPin, INPUT);
}
void loop() {
buttonState = digitalRead(buttonPin);
if (buttonState == LOW) {
digitalWrite(ledPin, HIGH);
} else {
digitalWrite(ledPin, LOW);
}
}
(Potentiometer with LED):
constint potPin = A0; // the number of the pushbutton pin
const int ledPin = 13; // the number of the LED pin
int potState = 0; // variable for reading the pushbutton status
void setup() {
pinMode(ledPin, OUTPUT);
pinMode(potPin, INPUT);
}
void loop() {
int potState = analogRead( potPin );
Serial.print("Analog value: ");
Serial.println(potState);
if (potState >= 500 ) {
digitalWrite(ledPin, HIGH);
} else {
digitalWrite(ledPin, LOW);
}
}
Ultrasonic Sensor Intro
UltrasonicSensor (HC-SR04) can measure
distance.
It emits an ultrasound at 40 kHz which
travels through the air and if there is an
object or obstacle on its path It will bounce
back to the module.
Can detect between 2 cm to 450 cm range.
79.
Ultrasonic Sensor working
Consideringthe travel time and the speed of
the sound you can calculate the distance.
Distance = (Duration/2) * Velocity of sound
(340 m/s)
80.
Ultrasonic Sensor Specifications
OperatingVoltage : DC 5V
Operating Current : 15mA
Operating Frequency : 40KHz
Max Range : 4m
Min Range : 2cm
Ranging Accuracy : 3mm
Measuring Angle : 15 degree
Trigger Input Signal : 10µS TTL pulse
Dimension : 45 x 20 x 15mm
try to writelogic for car reverse
functionality, led should glow with
max intensity if there is an object
near, and glow less when there is
object at some distance and should
not glow when it is far
83.
Temperature Sensor Intro
TheDHT11 is a basic, ultra low-cost digital
temperature and humidity sensor.
It uses a resistive type humidity sensor and a
thermistor to measure the surrounding air, and
spits out a digital signal on the data pin (no
analog input pins needed.
84.
Temperature Sensor working
Humidity
sensingcomponent
● Two electrodes
● Substrate
As humidity changes substrate conductivity
changes and the change is measured by ic
Thermistor
● Variable resistor
As the temperature changes the resistance value
is changes and the result is measured
85.
Temperature Sensor Specifications
●3 to 5V power and I/O
● 2.5mA max current use during conversion (while requesting data)
● Good for 20-80% humidity readings with 5% accuracy
● Good for 0-50°C temperature readings ±2°C accuracy
● No more than 1 Hz sampling rate (once every second)
● Body size 15.5mm x 12mm x 5.5mm
● 4 pins with 0.1" spacing
86.
Temperature Sensor Code
voidsetup() {
Serial.begin(9600); }
void loop() {
double a = analogRead(A0);
Serial.print("Analog value: ");
Serial.println(a);
double ca = a/1024;
Serial.print("converted Analog value: ");
Serial.println(ca);
double v = ca*5;
Serial.print("voltage value: ");
Serial.println(v);
double o = v-0.5;
Serial.print("offset value: ");
Serial.println(o);
double c = o*100;
Serial.print("celsius value: ");
Serial.println(c);
delay(1000);
}
87.
Optimized Temperature SensorCode
void setup() {
Serial.begin(9600); }
void loop() {
double a = analogRead(A0);
a =(( (a/1024)*5)-0.5)*100;
Serial.print("celsius value: ");
Serial.println(a);
delay(1000);
}
88.
Glow LED whenTemp sensor detects
more than 30 degree C
89.
PIR Sensor Intro
PIRsensors allow you to sense motion, almost
always used to detect whether a human has
moved in or out of the sensors range.
They are small, inexpensive, low-power, easy to
use and don't wear out. For that reason they are
commonly found in appliances and gadgets used
in homes or businesses.
They are often referred to as PIR, "Passive
Infrared", "Pyroelectric", or "IR motion" sensors.
90.
PIR Sensor Working
ThePyro-electric Infra-Red (PIR) sensor is an
extremely useful device for detecting the
presence of a moving body.
PIR is simply sensitive to the infrared energy
emitted by every living thing.
When an intruder walks into the detector’s field
of vision, the detector “sees” a sharp increase in
infrared energy.
91.
PIR Sensor Specifications
Size:Rectangular
Output: Digital pulse high (3V) when triggered (motion detected) digital low when idle (no
motion detected).
Sensitivity range: up to 20 feet (6 meters) 110° x 70° detection range
Power supply: 3V-9V input voltage, but 5V is ideal.
92.
PIR Sensor Code
voidsetup()
{
pinMode(4, INPUT);
Serial.begin(9600);
}
void loop()
{
int p = digitalRead(4);
Serial.println(4);
}
DESIGN CONSIDERATIONS
● Cost
●Network
● Features
● User interface
● Power
● Size
● Antenna
● Cloud
● Interoperability
● Security
● Applicability
● Software Updates
● Support
● Data Collection
● Data Management
● Analytics
● Market Trends
100.
Proof Of Concept(POC)
DEFINE DEVELOP EXECUTE EVALUATE
The purpose is to design and test an IoT solution in your own
environment
101.
What is prototyping?
Prototypingis a limited representation of a design that
allows users to interact with it and explore more
possibilities.
It also allows stakeholders to interact with the envisioned
product and get some user experience.
102.
Goals of Prototyping
●Exploring requirements
● Choosing among alternatives
● Empirical usability testing
● Evolutionary development
Why should you go for a
prototype?
103.
● Evaluation andfeedback
● Team members can communicate effectively
● You can test your ideas
● It encourages reflection
Why should you go for a
prototype?
104.
● Mockup
● Storyboard
●Sketches
● Scenarios
● Screenshots
● Function interface
How to represent a prototype?
105.
A device whosetask is to detect events or changes in its
immediate environment and convert these physical
phenomena (like temperature, light, air humidity,
movement, presence of chemical substances and many
others) into electrical impulses
SENSOR
107.
Electrical impulses sentfrom the control system and
converting them into mechanical motion, it actually
introduces changes to its physical surroundings by means
of a variety of simple actions, including but not limited to
opening and closing valves, changing other devices’
position or angle
ACTUATOR
The IoT deviceyou develop must be able to perform its full
functionality as long as possible, Relying on high capacity
battery, super/ultra-capacitors or energy harvesting
technology
POWER MANAGEMENT
112.
● Energy consumption
●Battery capacity
● Power generation
Power Management Key Principles