SlideShare uma empresa Scribd logo
1 de 51
Baixar para ler offline
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

Mais conteĂşdo relacionado

Semelhante a 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-workshopNitesh 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 PythonShahed 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 ARMSherif Mousa
 
Up and running with Raspberry Pi
Up and running with Raspberry PiUp and running with Raspberry Pi
Up and running with Raspberry PiShahed Mehbub
 
Srikanth_PILLI_CV_latest
Srikanth_PILLI_CV_latestSrikanth_PILLI_CV_latest
Srikanth_PILLI_CV_latestSrikanth Pilli
 
Building Embedded Linux Systems Introduction
Building Embedded Linux Systems IntroductionBuilding Embedded Linux Systems Introduction
Building Embedded Linux Systems IntroductionSherif Mousa
 
2018 02 20-jeg_index
2018 02 20-jeg_index2018 02 20-jeg_index
2018 02 20-jeg_indexChester 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 studentsAlauddin 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 Environmentnealemorison
 
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.pptxMadhurimaDas52
 
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 ManchesterJan 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.pptVGaneshKarthikeyan
 
Reproducibility in artificial intelligence
Reproducibility in artificial intelligenceReproducibility in artificial intelligence
Reproducibility in artificial intelligenceCarlos Toxtli
 
Raspberry pi robotics
Raspberry pi roboticsRaspberry pi robotics
Raspberry pi roboticsLloydMoore
 
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 OpenCVVishal Polley
 
Kubernetes Robotics Edge Cluster System
Kubernetes Robotics Edge Cluster SystemKubernetes Robotics Edge Cluster System
Kubernetes Robotics Edge Cluster SystemTomoya Fujita
 

Semelhante a 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
 

Mais de ssuser06ea42

ch7-Create an IoT Solution
ch7-Create an IoT Solutionch7-Create an IoT Solution
ch7-Create an IoT Solutionssuser06ea42
 
ch6-Industrial IoT Applications
ch6-Industrial IoT Applicationsch6-Industrial IoT Applications
ch6-Industrial IoT Applicationsssuser06ea42
 
ch5-Fog Networks and Cloud Computing
ch5-Fog Networks and Cloud Computingch5-Fog Networks and Cloud Computing
ch5-Fog Networks and Cloud Computingssuser06ea42
 
chp3-Sensors, Actuators, and Microcontroller
chp3-Sensors, Actuators, and Microcontrollerchp3-Sensors, Actuators, and Microcontroller
chp3-Sensors, Actuators, and Microcontrollerssuser06ea42
 
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
 

Mais de 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?
 

Último

IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024Mark Billinghurst
 
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Study on Air-Water & Water-Water Heat Exchange in a Finned ďťżTube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned ďťżTube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned ďťżTube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned ďťżTube ExchangerAnamika Sarkar
 
main PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidmain PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidNikhilNagaraju
 
Correctly Loading Incremental Data at Scale
Correctly Loading Incremental Data at ScaleCorrectly Loading Incremental Data at Scale
Correctly Loading Incremental Data at ScaleAlluxio, Inc.
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxJoĂŁo Esperancinha
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girlsssuser7cb4ff
 
An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...Chandu841456
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort servicejennyeacort
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxwendy cai
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...VICTOR MAESTRE RAMIREZ
 
Churning of Butter, Factors affecting .
Churning of Butter, Factors affecting  .Churning of Butter, Factors affecting  .
Churning of Butter, Factors affecting .Satyam Kumar
 
Introduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxIntroduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxk795866
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AIabhishek36461
 
Introduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHIntroduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHC Sai Kiran
 
Heart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptxHeart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptxPoojaBan
 

Último (20)

Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptxExploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024
 
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
 
Study on Air-Water & Water-Water Heat Exchange in a Finned ďťżTube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned ďťżTube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned ďťżTube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned ďťżTube Exchanger
 
main PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidmain PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfid
 
young call girls in Green Park🔝 9953056974 🔝 escort Service
young call girls in Green Park🔝 9953056974 🔝 escort Serviceyoung call girls in Green Park🔝 9953056974 🔝 escort Service
young call girls in Green Park🔝 9953056974 🔝 escort Service
 
Correctly Loading Incremental Data at Scale
Correctly Loading Incremental Data at ScaleCorrectly Loading Incremental Data at Scale
Correctly Loading Incremental Data at Scale
 
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girls
 
An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptx
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...
 
Churning of Butter, Factors affecting .
Churning of Butter, Factors affecting  .Churning of Butter, Factors affecting  .
Churning of Butter, Factors affecting .
 
Introduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxIntroduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptx
 
POWER SYSTEMS-1 Complete notes examples
POWER SYSTEMS-1 Complete notes  examplesPOWER SYSTEMS-1 Complete notes  examples
POWER SYSTEMS-1 Complete notes examples
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AI
 
Introduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHIntroduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECH
 
Heart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptxHeart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptx
 

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