SlideShare a Scribd company logo
eAcademy.ps Internet of Things
Course: Internet of Things (IoT)
eAcademy.ps Internet of Things
Course: Internet of Things (IoT)
2
Notes:
• This course is heavily based on the Cisco Networking
Academy course: IoT Fundamentals: Connecting Things
version 2.01. It is recommended to enroll in this course
to gain full access to online materials.
• Parts of this content is copyrighted by Cisco.
• Main changes from original course:
• Removed the business canvas model
• Added a project instead of the hackathon.
eAcademy.ps Internet of Things
Session 4
Software is Everywhere
Course: Internet of Things (IoT)
eAcademy.ps Internet of Things
• 4.1 Programming revisited
• 4.2 The Raspberry Pi Single Board Computer (SBC)
• 4.3 Blockly and Python
• 4.4 A Model of an IoT System
• 4.4 Summary
4
Session Outline
Software is Everywhere
eAcademy.ps Internet of Things
4.1 Programming revisited
5
Software is Everywhere
eAcademy.ps Internet of Things
What is Coding?
6
Software is everywhere
Programming revisited
• What is a Program
• Code is a set of ordered instructions created to accomplish a specific
task.
• A bread recipe can be seen as a program.
• Computer programs can be written in different programming
languages.
• Programs are Everywhere
• All computers need programs.
• Operating Systems, firmware, and applications are examples of
programs.
• Why Learn Coding?
• Programmers are valued in the job market.
• Today, programmers may work on firmware, device drivers, mobile
applications, web interfaces, data analysis, and more.
• Programmers can create their own tools.
eAcademy.ps Internet of Things
Code Does the Job!
7
Software is everywhere
Programming revisited
• What Makes Up a Program?
• Programs allow people impart logic to computers and are made out of logic
structures.
• IF-THEN, FOR Loops, and WHILE Loops are a few logical structures
commonly found in programs.
• Interpreted Vs. Compiled
• Interpreted languages rely on another program to read, parse, and execute
the code.
• Compiled languages rely on a compiler, another program, to turn the
human-readable code into a binary executable code.
• Computer Languages
• There are several different computer languages.
• Some computer languages are better than others at certain types of tasks.
• JavaScript, Python, Blockly, C, and Java are examples of computer
languages.
eAcademy.ps Internet of Things
Interpreted Vs. Compiled
8
Software is everywhere
Programming revisited
eAcademy.ps Internet of Things
Interpreted Vs. Compiled
9
Software is everywhere
Programming revisited
eAcademy.ps Internet of Things
Lending Intelligence
10
Software is everywhere
Programming revisited
• IoT Devices and Data Processing
• A common IoT application uses sensors to collect data.
• Data is often not useful until it has been processed.
• Collected data is often transported and stored in the cloud for processing at a later
date.
eAcademy.ps Internet of Things
Lending Intelligence (Cont.)
11
Software is everywhere
Programming revisited
• IoT Devices Make
Decisions
• Software must be
written and
uploaded onto IoT
devices to allow
them to make
decisions.
• Decisions can be
as simple as
triggering an alarm
or as complex as
facial recognition.
eAcademy.ps Internet of Things
Software APIs
12
Software is everywhere
Programming revisited
• Application Program Interface (API) is a set of routines and
software tools that facilitate one application
communicating with another.
• Different types of APIs exist: operating system APIs,
application APIs, website APIs.
• APIs allow applications to communicate, share data, or ask
for specific services from another application.
eAcademy.ps Internet of Things
REST APIs
13
Software is everywhere
Programming revisited
• REST APIs use HTTP based calls between applications to access
and manipulate information stored on powerful databases.
• Web resources used to be identified using a URL. Now resources
can be any entity or thing that can be addressed:
• today’s step goal,
• house temperature setting,
• glucose setting,
• etc.
• A unique Uniform Resource Identifier (URI) can identify an
entity. A typical resource name begins with a slash (/steps)
• REST API requests trigger responses in well-defined formats such
as XML or JSON
eAcademy.ps Internet of Things
Securing the Code
14
Software is everywhere
Programming revisited
• Devices should protect themselves from attacks that impair
their function or allow them to be used for unintended
purposes without authorization.
• Devices should protect the private authentication
credentials and key material from disclosure to
unauthorized parties.
• Devices should protect the information
received, transmitted, or stored locally
on the device, from inappropriate
disclosure to unauthorized parties.
• Devices should protect themselves
from being used as a vector to attack
other devices or hosts on the Internet.
eAcademy.ps Internet of Things
4.2 The Raspberry Pi Single Board Computer (SBC)
15
Software is Everywhere
eAcademy.ps Internet of Things
Raspberry Pi Hardware
16
Software is Everywhere
The Raspberry Pi Single Board Computer (SBC)
• The Pi is a small and inexpensive computer.
• It has a number of USB ports - can be used to connect various
devices including keyboards, mice, external drives and cameras.
• The Pi includes an 10/100Mbps Ethernet port.
• It has 40 GPIO pins, operating at 3.3V.
• Other Pi ports include an audio out, a micro SD card slot, and a
micro USB (used for power) connector.
• The Pi can run a number of operating systems, including:
• Linux
• Windows
eAcademy.ps Internet of Things
Raspberry Pi Hardware
17
Software is Everywhere
The Raspberry Pi Single Board Computer (SBC)
• The Pi3 adds:
• 1.2 GHz 64-bit quad-core
Cortex-A53 ARMv8 CPU
• 802.11n Wireless LAN
• Bluetooth 4.1
• Bluetooth Low Energy (BLE)
• Restricted Gigabit Ethernet
• The Pi4 adds:
• 1.5 GHz 64-bit quad-core
Cortex-A72 ARMv8 CPU
• 1, 2, or 4GB LPDDR4 SDRAM
• Bluetooth 5.0
• USB 3.0
• Unrestricted Gigabit Ethernet
eAcademy.ps Internet of Things
Accessing the Raspberry Pi Locally
18
Software is Everywhere
The Raspberry Pi Single Board Computer (SBC)
1. Install an operating system image on the micro SD card.
2. Place the card in the micro SD card slot of the RaPi.
3. Connect a USB keyboard.
4. Connect a monitor or TV using the HDMI port.
5. Power the device with a power adapter.
eAcademy.ps Internet of Things
Accessing the Raspberry Pi remotely
19
Software is Everywhere
The Raspberry Pi Single Board Computer (SBC)
• The Raspberry Pi can be accessed remotely using the PL-App
eAcademy.ps Internet of Things
Bootable SD Card
20
Software is Everywhere
The Raspberry Pi Single Board Computer (SBC)
• The Raspberry Pi 3 includes a micro SD Card slot to be used as a storage
device for the system.
• Before the Raspberry Pi 3 can be used, an operating system must be
installed on micro SD card and then placed in the SD slot for booting.
• The most common (and arguably the fastest) way to install OS on SD Card
is to use an image file.
• Common image file formats
• .iso
• .img
• Several options are available
for image transfer tools.
• The one used in this course is part of
the PL-App Launcher.
eAcademy.ps Internet of Things
Steps to setup a new device
21
Software is Everywhere
The Raspberry Pi Single Board Computer (SBC)
eAcademy.ps Internet of Things
Connect a new device using the PL-App Launcher
22
Software is Everywhere
The Raspberry Pi Single Board Computer (SBC)
eAcademy.ps Internet of Things
Example Uses of the Raspberry Pi
23
Software is Everywhere
The Raspberry Pi Single Board Computer (SBC)
• Artificial Raspberry Pi
Pancreas
• Dana Lewis and her
husband used a
Raspberry Pi to build an
artificial pancreas.
• It was possible due to
the Pi’s small size and
low power
requirements.
eAcademy.ps Internet of Things
Example Uses of the Raspberry Pi
24
Software is Everywhere
The Raspberry Pi Single Board Computer (SBC)
• 4Borg Pi Robot
• PiBorg is an affordable
robot kit built around a
Raspberry Pi.
• It is both fun and
educational.
eAcademy.ps Internet of Things
Controlling the Arduino Through the Pi
25
Software is Everywhere
The Raspberry Pi Single Board Computer (SBC)
• While the Pi is powerful, it
may not be the best option
for all projects.
• The Pi doesn’t include
analog GPIO pins.
• The Pi’s power requirements
and size may be too large,
depending on the
application.
• The Pi is not real-time.
• To adjust to these
limitations, an Arduino may
be used.
eAcademy.ps Internet of Things
4.3 Blockly and Phyton
26
Software is Everywhere
Blockly is a visual programming tool created to help beginners understand
the concepts of programming. By using a number of block types, Blockly
allows a user to create a program without entering any lines of code.
eAcademy.ps Internet of Things
Variables and Basic Statements
27
Software is Everywhere
Blockly and Python
• Blockly allows the creation of a program without entering any
lines of code; it uses colored blocks.
• Blocks can be connected together by dragging and attaching
the appropriate blocks.
• Creating a new variable in Blockly is a simple matter of
dragging the variable block and filling in the value slot.
eAcademy.ps Internet of Things
IF-THEN
28
Software is Everywhere
Blockly and Python
• Used to allow the code to make decisions.
eAcademy.ps Internet of Things
FOR Loops
29
Software is Everywhere
Blockly and Python
• Used to
repeat the
execution
of a block
of code for
a specific
number of
times.
eAcademy.ps Internet of Things
WHILE Loops
30
Software is Everywhere
Blockly and Python
• Used to execute a block of code while a condition is true.
eAcademy.ps Internet of Things
Using Blockly to Learn Python
31
Software is Everywhere
Blockly and Python
• Blockly can be used to enhance Python understanding.
• Beginners can create Blockly programs, convert them to
Python and study the result.
• The core philosophy of the language is summarized by the
document: The Zen of Python:
• Beautiful is better than ugly
• Explicit is better than implicit
• Simple is better than complex
• Complex is better than complicated
• Readability counts
eAcademy.ps Internet of Things
The Python Interpreter
32
Software is Everywhere
Blockly and Python
• The Python interpreter understands and executes Python code.
• Python code can be created in any text editor and Python
interpreters are available for many operating systems.
• Python developers can create and deploy Python programs in
practically any operating system.
• When called with no arguments, the Python interpreter displays
the “>>>” prompt and waits for commands; this is called
interactive mode.
eAcademy.ps Internet of Things
Variables and Basic Statements in Python
33
Software is Everywhere
Blockly and Python
• Variables are labeled
memory areas used to
store runtime program
data.
• To assign values to
variables in Python, use the
= (equal to) sign.
• Python’s interactive mode
implements the special
variable “_”.
eAcademy.ps Internet of Things
Useful Functions and Data Types in Python
34
Software is Everywhere
Blockly and Python
• Python supports many useful functions and data types such
as range(), tuples, lists, sets, and dictionary
• When the above code is executed, it produces the following:
list[0]: car
list[1:5]: [2, 3, 4, 5]
eAcademy.ps Internet of Things
Python on the Raspberry Pi
35
Software is Everywhere
Blockly and Python
• Importing Modules Into Your Code
• Use the import <module> keyword to import pre-written
code into your programs.
• IF THEN In Python
• Allows the execution a block of code based on the result
of an expression.
• FOR Loops in Python
• Iterates through the items of any sequence
• WHILE Loops in Python
• Executes a block of code while the expression is true
• Indentation is important in Python!
eAcademy.ps Internet of Things
4.4 A Model of an IoT System
36
Software is Everywhere
eAcademy.ps Internet of Things
Introducing The Home Automation Model
37
Software is Everywhere
A Model of an IoT System
• PT7.0 supports a wide range of IoT devices, such as sensors,
actuators, microcontrollers, single board computers, and fog
computing devices.
• PT7.0 allows the design, configuration, programming, and
troubleshooting of sophisticated models of IoT systems.
eAcademy.ps Internet of Things
The Components of the Systems
38
Software is Everywhere
A Model of an IoT System
• In the Smart Home example, all devices connect to the Home
Gateway, which acts as a concentrator for all devices.
• Sensors monitor the environment while code makes sure
values stay within a pre-defined threshold.
• The code also takes
appropriated actions if the
monitored values fall out of
the pre-defined threshold.
• The cable modem and splitter
pair is what provides Internet
connectivity to the Home
Gateway and consequently,
to the entire home.
eAcademy.ps Internet of Things
The SBC Code in Packet Tracer
39
Software is Everywhere
A Model of an IoT System
• PT 7.0 also introduces a single board computer (SBC) and a
microcontroller unit (MCU).
• PT SBC simulates an SBC such as a Raspberry Pi.
• PT SBC provides 2 USB ports and 10 digital I/O ports which can
be used to connect IoT sensors and devices.
• PT SBC has a Python interpreter built in, accessible via PT
SBC’s Programming tab.
• PT 7.0 also supports an MCU emulator.
• PT MCU can be programmed similarly to real-word MCUs.
• PT MCU has one USB port, six digital I/O ports,
and four analog I/O ports.
• PT MCU can also be programmed with Python.
eAcademy.ps Internet of Things
Activities
• Lab – Setting up the PL-App with a Raspberry Pi
• Lab – Using a PL-App Notebook
• Lab – Writing Python Scripts Using Blockly
• Lab – Writing Python Scripts Using a Text Editor
• Lab – Blinking an LED using Raspberry Pi and PL-App
• Lab - Interacting with a Physical World from Webex Teams
• Lab - Interfacing Arduino Code and Python Code
• Lab – Control LEDs from the PL-App Dashboard
40
Software is Everywhere
eAcademy.ps Internet of Things
Lab – Setting up the PL-App with a Raspberry Pi
41
Software is Everywhere
© 2007 – 2010, Cisco Systems, Inc. All rights reserved.
eAcademy.ps Internet of Things
Lab – Using a PL-App Notebook
42
Software is Everywhere
© 2007 – 2010, Cisco Systems, Inc. All rights reserved.
eAcademy.ps Internet of Things
Lab – Writing Python Scripts Using Blockly
43
Software is Everywhere
© 2007 – 2010, Cisco Systems, Inc. All rights reserved.
eAcademy.ps Internet of Things
Lab – Writing Python Scripts Using a Text Editor
44
Software is Everywhere
© 2007 – 2010, Cisco Systems, Inc. All rights reserved.
eAcademy.ps Internet of Things
Lab – Blinking an LED using Raspberry Pi and PL-App
45
Software is Everywhere
© 2007 – 2010, Cisco Systems, Inc. All rights reserved.
eAcademy.ps Internet of Things
Lab - Interacting with a Physical World from Webex Teams
46
Software is Everywhere
© 2007 – 2010, Cisco Systems, Inc. All rights reserved.
eAcademy.ps Internet of Things
Lab - Interfacing Arduino Code and Python Code
47
Software is Everywhere
© 2007 – 2010, Cisco Systems, Inc. All rights reserved.
eAcademy.ps Internet of Things
Lab – Control LEDs from the PL-App Dashboard
48
Software is Everywhere
© 2007 – 2010, Cisco Systems, Inc. All rights reserved.
eAcademy.ps Internet of Things
4.5 Summary
• Programs (also called code) are used in IoT to provide logic and
intelligence to the devices. A programmer can create code to allow an
IoT device to perform tasks such as monitoring, communicating to
others, data processing and more.
• The Raspberry Pi, single board computer, is designed to be small and
consume very little power.
• The Cisco PL-App allows access to the Raspberry Pi directly from the
network without the need for a monitor, keyboard or mouse to be
directly connected to the Pi.
• The Raspberry Pi runs Raspbian, a modified version of the open
source and wide-spread Linux operating system.
• The Raspberry Pi supports many different programming languages
including Blockly, a visual programming language, designed to help
beginners learn how to program. This course focuses on Python, a
popular, simple and powerful programming language.
• With added support to Python, Cisco Packet Tracer is a great tool to
model, prototype and test entire IoT systems.
49
Software is Everywhere
eAcademy.ps Internet of Things
References
1. Cisco Networking Academy course: IoT Fundamentals:
Connecting Things version 2.01, Chapter 3.
2. The Zen of Python -
https://www.python.org/dev/peps/pep-0020/#id3
3. Artificial Raspberry Pi Pancreas -
https://www.raspberrypi.org/blog/artificial-raspberry-pi-
pancreas/
50
Software is Everywhere
eAcademy.ps Internet of Things
Thank you
51
Software is Everywhere

More Related Content

Similar to ch4-Software is Everywhere

Build IoT Applications with C#
Build IoT Applications with C#Build IoT Applications with C#
Build IoT Applications with C#
Ken Samson, MISM
 
Null mumbai-iot-workshop
Null mumbai-iot-workshopNull mumbai-iot-workshop
Null mumbai-iot-workshop
Nitesh Malviya
 
Exploring the ABC's of Raspberry Pi with Python
Exploring the ABC's of Raspberry Pi with PythonExploring the ABC's of Raspberry Pi with Python
Exploring the ABC's of Raspberry Pi with Python
Shahed Mehbub
 
Building Embedded Linux Full Tutorial for ARM
Building Embedded Linux Full Tutorial for ARMBuilding Embedded Linux Full Tutorial for ARM
Building Embedded Linux Full Tutorial for ARM
Sherif Mousa
 
Up and running with Raspberry Pi
Up and running with Raspberry PiUp and running with Raspberry Pi
Up and running with Raspberry Pi
Shahed Mehbub
 
Srikanth_PILLI_CV_latest
Srikanth_PILLI_CV_latestSrikanth_PILLI_CV_latest
Srikanth_PILLI_CV_latest
Srikanth Pilli
 
Building Embedded Linux Systems Introduction
Building Embedded Linux Systems IntroductionBuilding Embedded Linux Systems Introduction
Building Embedded Linux Systems Introduction
Sherif Mousa
 
2018 02 20-jeg_index
2018 02 20-jeg_index2018 02 20-jeg_index
2018 02 20-jeg_index
Chester Chen
 
Basic of computers
Basic of computers Basic of computers
Basic of computers
Harsh Porwal
 
Basic computers for DIU laptop project students
Basic computers for DIU laptop project studentsBasic computers for DIU laptop project students
Basic computers for DIU laptop project students
Alauddin Azad
 
Open Source Automated Documentation in a Development Environment
Open Source Automated Documentation in a Development EnvironmentOpen Source Automated Documentation in a Development Environment
Open Source Automated Documentation in a Development Environment
nealemorison
 
Raspberry pi
Raspberry piRaspberry pi
Raspberry pi
Prashant Kumar
 
IoT for data science Module 5 - Raspberry Pi.pptx
IoT for data science Module 5 - Raspberry Pi.pptxIoT for data science Module 5 - Raspberry Pi.pptx
IoT for data science Module 5 - Raspberry Pi.pptx
MadhurimaDas52
 
Top 10 python ide
Top 10 python ideTop 10 python ide
Top 10 python ide
Saravanakumar viswanathan
 
Building IoT devices with ARM mbed - RISE Manchester
Building IoT devices with ARM mbed - RISE ManchesterBuilding IoT devices with ARM mbed - RISE Manchester
Building IoT devices with ARM mbed - RISE Manchester
Jan Jongboom
 
Python_basics_tuples_sets_lists_control_loops.ppt
Python_basics_tuples_sets_lists_control_loops.pptPython_basics_tuples_sets_lists_control_loops.ppt
Python_basics_tuples_sets_lists_control_loops.ppt
VGaneshKarthikeyan
 
Reproducibility in artificial intelligence
Reproducibility in artificial intelligenceReproducibility in artificial intelligence
Reproducibility in artificial intelligence
Carlos Toxtli
 
Raspberry pi robotics
Raspberry pi roboticsRaspberry pi robotics
Raspberry pi robotics
LloydMoore
 
License Plate Recognition System using Python and OpenCV
License Plate Recognition System using Python and OpenCVLicense Plate Recognition System using Python and OpenCV
License Plate Recognition System using Python and OpenCV
Vishal Polley
 
Kubernetes Robotics Edge Cluster System
Kubernetes Robotics Edge Cluster SystemKubernetes Robotics Edge Cluster System
Kubernetes Robotics Edge Cluster System
Tomoya Fujita
 

Similar to ch4-Software is Everywhere (20)

Build IoT Applications with C#
Build IoT Applications with C#Build IoT Applications with C#
Build IoT Applications with C#
 
Null mumbai-iot-workshop
Null mumbai-iot-workshopNull mumbai-iot-workshop
Null mumbai-iot-workshop
 
Exploring the ABC's of Raspberry Pi with Python
Exploring the ABC's of Raspberry Pi with PythonExploring the ABC's of Raspberry Pi with Python
Exploring the ABC's of Raspberry Pi with Python
 
Building Embedded Linux Full Tutorial for ARM
Building Embedded Linux Full Tutorial for ARMBuilding Embedded Linux Full Tutorial for ARM
Building Embedded Linux Full Tutorial for ARM
 
Up and running with Raspberry Pi
Up and running with Raspberry PiUp and running with Raspberry Pi
Up and running with Raspberry Pi
 
Srikanth_PILLI_CV_latest
Srikanth_PILLI_CV_latestSrikanth_PILLI_CV_latest
Srikanth_PILLI_CV_latest
 
Building Embedded Linux Systems Introduction
Building Embedded Linux Systems IntroductionBuilding Embedded Linux Systems Introduction
Building Embedded Linux Systems Introduction
 
2018 02 20-jeg_index
2018 02 20-jeg_index2018 02 20-jeg_index
2018 02 20-jeg_index
 
Basic of computers
Basic of computers Basic of computers
Basic of computers
 
Basic computers for DIU laptop project students
Basic computers for DIU laptop project studentsBasic computers for DIU laptop project students
Basic computers for DIU laptop project students
 
Open Source Automated Documentation in a Development Environment
Open Source Automated Documentation in a Development EnvironmentOpen Source Automated Documentation in a Development Environment
Open Source Automated Documentation in a Development Environment
 
Raspberry pi
Raspberry piRaspberry pi
Raspberry pi
 
IoT for data science Module 5 - Raspberry Pi.pptx
IoT for data science Module 5 - Raspberry Pi.pptxIoT for data science Module 5 - Raspberry Pi.pptx
IoT for data science Module 5 - Raspberry Pi.pptx
 
Top 10 python ide
Top 10 python ideTop 10 python ide
Top 10 python ide
 
Building IoT devices with ARM mbed - RISE Manchester
Building IoT devices with ARM mbed - RISE ManchesterBuilding IoT devices with ARM mbed - RISE Manchester
Building IoT devices with ARM mbed - RISE Manchester
 
Python_basics_tuples_sets_lists_control_loops.ppt
Python_basics_tuples_sets_lists_control_loops.pptPython_basics_tuples_sets_lists_control_loops.ppt
Python_basics_tuples_sets_lists_control_loops.ppt
 
Reproducibility in artificial intelligence
Reproducibility in artificial intelligenceReproducibility in artificial intelligence
Reproducibility in artificial intelligence
 
Raspberry pi robotics
Raspberry pi roboticsRaspberry pi robotics
Raspberry pi robotics
 
License Plate Recognition System using Python and OpenCV
License Plate Recognition System using Python and OpenCVLicense Plate Recognition System using Python and OpenCV
License Plate Recognition System using Python and OpenCV
 
Kubernetes Robotics Edge Cluster System
Kubernetes Robotics Edge Cluster SystemKubernetes Robotics Edge Cluster System
Kubernetes Robotics Edge Cluster System
 

More from ssuser06ea42

ch7-Create an IoT Solution
ch7-Create an IoT Solutionch7-Create an IoT Solution
ch7-Create an IoT Solution
ssuser06ea42
 
ch6-Industrial IoT Applications
ch6-Industrial IoT Applicationsch6-Industrial IoT Applications
ch6-Industrial IoT Applications
ssuser06ea42
 
ch5-Fog Networks and Cloud Computing
ch5-Fog Networks and Cloud Computingch5-Fog Networks and Cloud Computing
ch5-Fog Networks and Cloud Computing
ssuser06ea42
 
chp3-Sensors, Actuators, and Microcontroller
chp3-Sensors, Actuators, and Microcontrollerchp3-Sensors, Actuators, and Microcontroller
chp3-Sensors, Actuators, and Microcontroller
ssuser06ea42
 
ch2-What are Connections?
ch2-What are Connections?ch2-What are Connections?
ch2-What are Connections?
ssuser06ea42
 
ch1-What are Things?
ch1-What are Things?ch1-What are Things?
ch1-What are Things?
ssuser06ea42
 

More from ssuser06ea42 (6)

ch7-Create an IoT Solution
ch7-Create an IoT Solutionch7-Create an IoT Solution
ch7-Create an IoT Solution
 
ch6-Industrial IoT Applications
ch6-Industrial IoT Applicationsch6-Industrial IoT Applications
ch6-Industrial IoT Applications
 
ch5-Fog Networks and Cloud Computing
ch5-Fog Networks and Cloud Computingch5-Fog Networks and Cloud Computing
ch5-Fog Networks and Cloud Computing
 
chp3-Sensors, Actuators, and Microcontroller
chp3-Sensors, Actuators, and Microcontrollerchp3-Sensors, Actuators, and Microcontroller
chp3-Sensors, Actuators, and Microcontroller
 
ch2-What are Connections?
ch2-What are Connections?ch2-What are Connections?
ch2-What are Connections?
 
ch1-What are Things?
ch1-What are Things?ch1-What are Things?
ch1-What are Things?
 

Recently uploaded

Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
Sinan KOZAK
 
IEEE Aerospace and Electronic Systems Society as a Graduate Student Member
IEEE Aerospace and Electronic Systems Society as a Graduate Student MemberIEEE Aerospace and Electronic Systems Society as a Graduate Student Member
IEEE Aerospace and Electronic Systems Society as a Graduate Student Member
VICTOR MAESTRE RAMIREZ
 
International Conference on NLP, Artificial Intelligence, Machine Learning an...
International Conference on NLP, Artificial Intelligence, Machine Learning an...International Conference on NLP, Artificial Intelligence, Machine Learning an...
International Conference on NLP, Artificial Intelligence, Machine Learning an...
gerogepatton
 
Literature Review Basics and Understanding Reference Management.pptx
Literature Review Basics and Understanding Reference Management.pptxLiterature Review Basics and Understanding Reference Management.pptx
Literature Review Basics and Understanding Reference Management.pptx
Dr Ramhari Poudyal
 
Textile Chemical Processing and Dyeing.pdf
Textile Chemical Processing and Dyeing.pdfTextile Chemical Processing and Dyeing.pdf
Textile Chemical Processing and Dyeing.pdf
NazakatAliKhoso2
 
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
ecqow
 
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODELDEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
gerogepatton
 
Curve Fitting in Numerical Methods Regression
Curve Fitting in Numerical Methods RegressionCurve Fitting in Numerical Methods Regression
Curve Fitting in Numerical Methods Regression
Nada Hikmah
 
22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt
KrishnaveniKrishnara1
 
132/33KV substation case study Presentation
132/33KV substation case study Presentation132/33KV substation case study Presentation
132/33KV substation case study Presentation
kandramariana6
 
Generative AI leverages algorithms to create various forms of content
Generative AI leverages algorithms to create various forms of contentGenerative AI leverages algorithms to create various forms of content
Generative AI leverages algorithms to create various forms of content
Hitesh Mohapatra
 
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
171ticu
 
官方认证美国密歇根州立大学毕业证学位证书原版一模一样
官方认证美国密歇根州立大学毕业证学位证书原版一模一样官方认证美国密歇根州立大学毕业证学位证书原版一模一样
官方认证美国密歇根州立大学毕业证学位证书原版一模一样
171ticu
 
Transformers design and coooling methods
Transformers design and coooling methodsTransformers design and coooling methods
Transformers design and coooling methods
Roger Rozario
 
Manufacturing Process of molasses based distillery ppt.pptx
Manufacturing Process of molasses based distillery ppt.pptxManufacturing Process of molasses based distillery ppt.pptx
Manufacturing Process of molasses based distillery ppt.pptx
Madan Karki
 
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressionsKuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
Victor Morales
 
gray level transformation unit 3(image processing))
gray level transformation unit 3(image processing))gray level transformation unit 3(image processing))
gray level transformation unit 3(image processing))
shivani5543
 
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
Yasser Mahgoub
 
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
IJECEIAES
 
Computational Engineering IITH Presentation
Computational Engineering IITH PresentationComputational Engineering IITH Presentation
Computational Engineering IITH Presentation
co23btech11018
 

Recently uploaded (20)

Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
 
IEEE Aerospace and Electronic Systems Society as a Graduate Student Member
IEEE Aerospace and Electronic Systems Society as a Graduate Student MemberIEEE Aerospace and Electronic Systems Society as a Graduate Student Member
IEEE Aerospace and Electronic Systems Society as a Graduate Student Member
 
International Conference on NLP, Artificial Intelligence, Machine Learning an...
International Conference on NLP, Artificial Intelligence, Machine Learning an...International Conference on NLP, Artificial Intelligence, Machine Learning an...
International Conference on NLP, Artificial Intelligence, Machine Learning an...
 
Literature Review Basics and Understanding Reference Management.pptx
Literature Review Basics and Understanding Reference Management.pptxLiterature Review Basics and Understanding Reference Management.pptx
Literature Review Basics and Understanding Reference Management.pptx
 
Textile Chemical Processing and Dyeing.pdf
Textile Chemical Processing and Dyeing.pdfTextile Chemical Processing and Dyeing.pdf
Textile Chemical Processing and Dyeing.pdf
 
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
 
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODELDEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
 
Curve Fitting in Numerical Methods Regression
Curve Fitting in Numerical Methods RegressionCurve Fitting in Numerical Methods Regression
Curve Fitting in Numerical Methods Regression
 
22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt
 
132/33KV substation case study Presentation
132/33KV substation case study Presentation132/33KV substation case study Presentation
132/33KV substation case study Presentation
 
Generative AI leverages algorithms to create various forms of content
Generative AI leverages algorithms to create various forms of contentGenerative AI leverages algorithms to create various forms of content
Generative AI leverages algorithms to create various forms of content
 
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
 
官方认证美国密歇根州立大学毕业证学位证书原版一模一样
官方认证美国密歇根州立大学毕业证学位证书原版一模一样官方认证美国密歇根州立大学毕业证学位证书原版一模一样
官方认证美国密歇根州立大学毕业证学位证书原版一模一样
 
Transformers design and coooling methods
Transformers design and coooling methodsTransformers design and coooling methods
Transformers design and coooling methods
 
Manufacturing Process of molasses based distillery ppt.pptx
Manufacturing Process of molasses based distillery ppt.pptxManufacturing Process of molasses based distillery ppt.pptx
Manufacturing Process of molasses based distillery ppt.pptx
 
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressionsKuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
 
gray level transformation unit 3(image processing))
gray level transformation unit 3(image processing))gray level transformation unit 3(image processing))
gray level transformation unit 3(image processing))
 
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
 
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
 
Computational Engineering IITH Presentation
Computational Engineering IITH PresentationComputational Engineering IITH Presentation
Computational Engineering IITH Presentation
 

ch4-Software is Everywhere

  • 1. eAcademy.ps Internet of Things Course: Internet of Things (IoT)
  • 2. eAcademy.ps Internet of Things Course: Internet of Things (IoT) 2 Notes: • This course is heavily based on the Cisco Networking Academy course: IoT Fundamentals: Connecting Things version 2.01. It is recommended to enroll in this course to gain full access to online materials. • Parts of this content is copyrighted by Cisco. • Main changes from original course: • Removed the business canvas model • Added a project instead of the hackathon.
  • 3. eAcademy.ps Internet of Things Session 4 Software is Everywhere Course: Internet of Things (IoT)
  • 4. eAcademy.ps Internet of Things • 4.1 Programming revisited • 4.2 The Raspberry Pi Single Board Computer (SBC) • 4.3 Blockly and Python • 4.4 A Model of an IoT System • 4.4 Summary 4 Session Outline Software is Everywhere
  • 5. eAcademy.ps Internet of Things 4.1 Programming revisited 5 Software is Everywhere
  • 6. eAcademy.ps Internet of Things What is Coding? 6 Software is everywhere Programming revisited • What is a Program • Code is a set of ordered instructions created to accomplish a specific task. • A bread recipe can be seen as a program. • Computer programs can be written in different programming languages. • Programs are Everywhere • All computers need programs. • Operating Systems, firmware, and applications are examples of programs. • Why Learn Coding? • Programmers are valued in the job market. • Today, programmers may work on firmware, device drivers, mobile applications, web interfaces, data analysis, and more. • Programmers can create their own tools.
  • 7. eAcademy.ps Internet of Things Code Does the Job! 7 Software is everywhere Programming revisited • What Makes Up a Program? • Programs allow people impart logic to computers and are made out of logic structures. • IF-THEN, FOR Loops, and WHILE Loops are a few logical structures commonly found in programs. • Interpreted Vs. Compiled • Interpreted languages rely on another program to read, parse, and execute the code. • Compiled languages rely on a compiler, another program, to turn the human-readable code into a binary executable code. • Computer Languages • There are several different computer languages. • Some computer languages are better than others at certain types of tasks. • JavaScript, Python, Blockly, C, and Java are examples of computer languages.
  • 8. eAcademy.ps Internet of Things Interpreted Vs. Compiled 8 Software is everywhere Programming revisited
  • 9. eAcademy.ps Internet of Things Interpreted Vs. Compiled 9 Software is everywhere Programming revisited
  • 10. eAcademy.ps Internet of Things Lending Intelligence 10 Software is everywhere Programming revisited • IoT Devices and Data Processing • A common IoT application uses sensors to collect data. • Data is often not useful until it has been processed. • Collected data is often transported and stored in the cloud for processing at a later date.
  • 11. eAcademy.ps Internet of Things Lending Intelligence (Cont.) 11 Software is everywhere Programming revisited • IoT Devices Make Decisions • Software must be written and uploaded onto IoT devices to allow them to make decisions. • Decisions can be as simple as triggering an alarm or as complex as facial recognition.
  • 12. eAcademy.ps Internet of Things Software APIs 12 Software is everywhere Programming revisited • Application Program Interface (API) is a set of routines and software tools that facilitate one application communicating with another. • Different types of APIs exist: operating system APIs, application APIs, website APIs. • APIs allow applications to communicate, share data, or ask for specific services from another application.
  • 13. eAcademy.ps Internet of Things REST APIs 13 Software is everywhere Programming revisited • REST APIs use HTTP based calls between applications to access and manipulate information stored on powerful databases. • Web resources used to be identified using a URL. Now resources can be any entity or thing that can be addressed: • today’s step goal, • house temperature setting, • glucose setting, • etc. • A unique Uniform Resource Identifier (URI) can identify an entity. A typical resource name begins with a slash (/steps) • REST API requests trigger responses in well-defined formats such as XML or JSON
  • 14. eAcademy.ps Internet of Things Securing the Code 14 Software is everywhere Programming revisited • Devices should protect themselves from attacks that impair their function or allow them to be used for unintended purposes without authorization. • Devices should protect the private authentication credentials and key material from disclosure to unauthorized parties. • Devices should protect the information received, transmitted, or stored locally on the device, from inappropriate disclosure to unauthorized parties. • Devices should protect themselves from being used as a vector to attack other devices or hosts on the Internet.
  • 15. eAcademy.ps Internet of Things 4.2 The Raspberry Pi Single Board Computer (SBC) 15 Software is Everywhere
  • 16. eAcademy.ps Internet of Things Raspberry Pi Hardware 16 Software is Everywhere The Raspberry Pi Single Board Computer (SBC) • The Pi is a small and inexpensive computer. • It has a number of USB ports - can be used to connect various devices including keyboards, mice, external drives and cameras. • The Pi includes an 10/100Mbps Ethernet port. • It has 40 GPIO pins, operating at 3.3V. • Other Pi ports include an audio out, a micro SD card slot, and a micro USB (used for power) connector. • The Pi can run a number of operating systems, including: • Linux • Windows
  • 17. eAcademy.ps Internet of Things Raspberry Pi Hardware 17 Software is Everywhere The Raspberry Pi Single Board Computer (SBC) • The Pi3 adds: • 1.2 GHz 64-bit quad-core Cortex-A53 ARMv8 CPU • 802.11n Wireless LAN • Bluetooth 4.1 • Bluetooth Low Energy (BLE) • Restricted Gigabit Ethernet • The Pi4 adds: • 1.5 GHz 64-bit quad-core Cortex-A72 ARMv8 CPU • 1, 2, or 4GB LPDDR4 SDRAM • Bluetooth 5.0 • USB 3.0 • Unrestricted Gigabit Ethernet
  • 18. eAcademy.ps Internet of Things Accessing the Raspberry Pi Locally 18 Software is Everywhere The Raspberry Pi Single Board Computer (SBC) 1. Install an operating system image on the micro SD card. 2. Place the card in the micro SD card slot of the RaPi. 3. Connect a USB keyboard. 4. Connect a monitor or TV using the HDMI port. 5. Power the device with a power adapter.
  • 19. eAcademy.ps Internet of Things Accessing the Raspberry Pi remotely 19 Software is Everywhere The Raspberry Pi Single Board Computer (SBC) • The Raspberry Pi can be accessed remotely using the PL-App
  • 20. eAcademy.ps Internet of Things Bootable SD Card 20 Software is Everywhere The Raspberry Pi Single Board Computer (SBC) • The Raspberry Pi 3 includes a micro SD Card slot to be used as a storage device for the system. • Before the Raspberry Pi 3 can be used, an operating system must be installed on micro SD card and then placed in the SD slot for booting. • The most common (and arguably the fastest) way to install OS on SD Card is to use an image file. • Common image file formats • .iso • .img • Several options are available for image transfer tools. • The one used in this course is part of the PL-App Launcher.
  • 21. eAcademy.ps Internet of Things Steps to setup a new device 21 Software is Everywhere The Raspberry Pi Single Board Computer (SBC)
  • 22. eAcademy.ps Internet of Things Connect a new device using the PL-App Launcher 22 Software is Everywhere The Raspberry Pi Single Board Computer (SBC)
  • 23. eAcademy.ps Internet of Things Example Uses of the Raspberry Pi 23 Software is Everywhere The Raspberry Pi Single Board Computer (SBC) • Artificial Raspberry Pi Pancreas • Dana Lewis and her husband used a Raspberry Pi to build an artificial pancreas. • It was possible due to the Pi’s small size and low power requirements.
  • 24. eAcademy.ps Internet of Things Example Uses of the Raspberry Pi 24 Software is Everywhere The Raspberry Pi Single Board Computer (SBC) • 4Borg Pi Robot • PiBorg is an affordable robot kit built around a Raspberry Pi. • It is both fun and educational.
  • 25. eAcademy.ps Internet of Things Controlling the Arduino Through the Pi 25 Software is Everywhere The Raspberry Pi Single Board Computer (SBC) • While the Pi is powerful, it may not be the best option for all projects. • The Pi doesn’t include analog GPIO pins. • The Pi’s power requirements and size may be too large, depending on the application. • The Pi is not real-time. • To adjust to these limitations, an Arduino may be used.
  • 26. eAcademy.ps Internet of Things 4.3 Blockly and Phyton 26 Software is Everywhere Blockly is a visual programming tool created to help beginners understand the concepts of programming. By using a number of block types, Blockly allows a user to create a program without entering any lines of code.
  • 27. eAcademy.ps Internet of Things Variables and Basic Statements 27 Software is Everywhere Blockly and Python • Blockly allows the creation of a program without entering any lines of code; it uses colored blocks. • Blocks can be connected together by dragging and attaching the appropriate blocks. • Creating a new variable in Blockly is a simple matter of dragging the variable block and filling in the value slot.
  • 28. eAcademy.ps Internet of Things IF-THEN 28 Software is Everywhere Blockly and Python • Used to allow the code to make decisions.
  • 29. eAcademy.ps Internet of Things FOR Loops 29 Software is Everywhere Blockly and Python • Used to repeat the execution of a block of code for a specific number of times.
  • 30. eAcademy.ps Internet of Things WHILE Loops 30 Software is Everywhere Blockly and Python • Used to execute a block of code while a condition is true.
  • 31. eAcademy.ps Internet of Things Using Blockly to Learn Python 31 Software is Everywhere Blockly and Python • Blockly can be used to enhance Python understanding. • Beginners can create Blockly programs, convert them to Python and study the result. • The core philosophy of the language is summarized by the document: The Zen of Python: • Beautiful is better than ugly • Explicit is better than implicit • Simple is better than complex • Complex is better than complicated • Readability counts
  • 32. eAcademy.ps Internet of Things The Python Interpreter 32 Software is Everywhere Blockly and Python • The Python interpreter understands and executes Python code. • Python code can be created in any text editor and Python interpreters are available for many operating systems. • Python developers can create and deploy Python programs in practically any operating system. • When called with no arguments, the Python interpreter displays the “>>>” prompt and waits for commands; this is called interactive mode.
  • 33. eAcademy.ps Internet of Things Variables and Basic Statements in Python 33 Software is Everywhere Blockly and Python • Variables are labeled memory areas used to store runtime program data. • To assign values to variables in Python, use the = (equal to) sign. • Python’s interactive mode implements the special variable “_”.
  • 34. eAcademy.ps Internet of Things Useful Functions and Data Types in Python 34 Software is Everywhere Blockly and Python • Python supports many useful functions and data types such as range(), tuples, lists, sets, and dictionary • When the above code is executed, it produces the following: list[0]: car list[1:5]: [2, 3, 4, 5]
  • 35. eAcademy.ps Internet of Things Python on the Raspberry Pi 35 Software is Everywhere Blockly and Python • Importing Modules Into Your Code • Use the import <module> keyword to import pre-written code into your programs. • IF THEN In Python • Allows the execution a block of code based on the result of an expression. • FOR Loops in Python • Iterates through the items of any sequence • WHILE Loops in Python • Executes a block of code while the expression is true • Indentation is important in Python!
  • 36. eAcademy.ps Internet of Things 4.4 A Model of an IoT System 36 Software is Everywhere
  • 37. eAcademy.ps Internet of Things Introducing The Home Automation Model 37 Software is Everywhere A Model of an IoT System • PT7.0 supports a wide range of IoT devices, such as sensors, actuators, microcontrollers, single board computers, and fog computing devices. • PT7.0 allows the design, configuration, programming, and troubleshooting of sophisticated models of IoT systems.
  • 38. eAcademy.ps Internet of Things The Components of the Systems 38 Software is Everywhere A Model of an IoT System • In the Smart Home example, all devices connect to the Home Gateway, which acts as a concentrator for all devices. • Sensors monitor the environment while code makes sure values stay within a pre-defined threshold. • The code also takes appropriated actions if the monitored values fall out of the pre-defined threshold. • The cable modem and splitter pair is what provides Internet connectivity to the Home Gateway and consequently, to the entire home.
  • 39. eAcademy.ps Internet of Things The SBC Code in Packet Tracer 39 Software is Everywhere A Model of an IoT System • PT 7.0 also introduces a single board computer (SBC) and a microcontroller unit (MCU). • PT SBC simulates an SBC such as a Raspberry Pi. • PT SBC provides 2 USB ports and 10 digital I/O ports which can be used to connect IoT sensors and devices. • PT SBC has a Python interpreter built in, accessible via PT SBC’s Programming tab. • PT 7.0 also supports an MCU emulator. • PT MCU can be programmed similarly to real-word MCUs. • PT MCU has one USB port, six digital I/O ports, and four analog I/O ports. • PT MCU can also be programmed with Python.
  • 40. eAcademy.ps Internet of Things Activities • Lab – Setting up the PL-App with a Raspberry Pi • Lab – Using a PL-App Notebook • Lab – Writing Python Scripts Using Blockly • Lab – Writing Python Scripts Using a Text Editor • Lab – Blinking an LED using Raspberry Pi and PL-App • Lab - Interacting with a Physical World from Webex Teams • Lab - Interfacing Arduino Code and Python Code • Lab – Control LEDs from the PL-App Dashboard 40 Software is Everywhere
  • 41. eAcademy.ps Internet of Things Lab – Setting up the PL-App with a Raspberry Pi 41 Software is Everywhere © 2007 – 2010, Cisco Systems, Inc. All rights reserved.
  • 42. eAcademy.ps Internet of Things Lab – Using a PL-App Notebook 42 Software is Everywhere © 2007 – 2010, Cisco Systems, Inc. All rights reserved.
  • 43. eAcademy.ps Internet of Things Lab – Writing Python Scripts Using Blockly 43 Software is Everywhere © 2007 – 2010, Cisco Systems, Inc. All rights reserved.
  • 44. eAcademy.ps Internet of Things Lab – Writing Python Scripts Using a Text Editor 44 Software is Everywhere © 2007 – 2010, Cisco Systems, Inc. All rights reserved.
  • 45. eAcademy.ps Internet of Things Lab – Blinking an LED using Raspberry Pi and PL-App 45 Software is Everywhere © 2007 – 2010, Cisco Systems, Inc. All rights reserved.
  • 46. eAcademy.ps Internet of Things Lab - Interacting with a Physical World from Webex Teams 46 Software is Everywhere © 2007 – 2010, Cisco Systems, Inc. All rights reserved.
  • 47. eAcademy.ps Internet of Things Lab - Interfacing Arduino Code and Python Code 47 Software is Everywhere © 2007 – 2010, Cisco Systems, Inc. All rights reserved.
  • 48. eAcademy.ps Internet of Things Lab – Control LEDs from the PL-App Dashboard 48 Software is Everywhere © 2007 – 2010, Cisco Systems, Inc. All rights reserved.
  • 49. eAcademy.ps Internet of Things 4.5 Summary • Programs (also called code) are used in IoT to provide logic and intelligence to the devices. A programmer can create code to allow an IoT device to perform tasks such as monitoring, communicating to others, data processing and more. • The Raspberry Pi, single board computer, is designed to be small and consume very little power. • The Cisco PL-App allows access to the Raspberry Pi directly from the network without the need for a monitor, keyboard or mouse to be directly connected to the Pi. • The Raspberry Pi runs Raspbian, a modified version of the open source and wide-spread Linux operating system. • The Raspberry Pi supports many different programming languages including Blockly, a visual programming language, designed to help beginners learn how to program. This course focuses on Python, a popular, simple and powerful programming language. • With added support to Python, Cisco Packet Tracer is a great tool to model, prototype and test entire IoT systems. 49 Software is Everywhere
  • 50. eAcademy.ps Internet of Things References 1. Cisco Networking Academy course: IoT Fundamentals: Connecting Things version 2.01, Chapter 3. 2. The Zen of Python - https://www.python.org/dev/peps/pep-0020/#id3 3. Artificial Raspberry Pi Pancreas - https://www.raspberrypi.org/blog/artificial-raspberry-pi- pancreas/ 50 Software is Everywhere
  • 51. eAcademy.ps Internet of Things Thank you 51 Software is Everywhere