This document includes instructor led class overview and objectives, identifies target student and prerequisites, course outline, and course specific software and hardware requirements.
Course Number: CNX0002
Course Length: 3 days
Certified Internet of Things Practitioner (CIoTPTM): Exam ITP-110
The Internet of Things (IoT) promises a wide range of benefits for industry, energy and utility companies, municipalities, healthcare, and consumers. Data can be collected in extraordinary volume and detail regarding almost anything worth measuring, such as public health and safety, the environment, industrial and agricultural production, energy, and utilities. New data analysis tools have been optimized for the massive amounts of data that IoT produces, enabling well-informed decisions to be made quickly.
But putting IoT systems into place can be a complicated proposition, and fraught with hazards. Solutions may involve devices and technologies from many different vendors, requiring a good understanding of software and hardware and strategies to integrate them, as well as the risks associated with security, privacy, and the safety of those whose working and living environments are managed by these systems.
IT professionals often have little or no experience working with embedded systems, sensor networks, actuators, real-time systems, and other components that are common to IoT, so this course provides a foundation for understanding how these components work with other systems that IT professionals typically have more experience working with—such as networks, cloud computing, and applications running on servers, desktop
computers, and mobile devices.
In this course, students will learn general strategies for planning, designing, developing, implementing, and maintaining an IoT system through various case studies and by assembling and configuring an IoT device to work in a sensor network. Students will create an IoT device based on an ESP8266 microcontroller, implementing various common IoT features, such as analog and digital sensors, a web-based interface, MQTT messaging, and data
encryption.
In this course, you will learn how to apply Internet of Things technologies to solve real-world problems.
You will:
• Plan an IoT implementation.
• Construct and program an IoT device.
• Communicate with an IoT device using wired and wireless connections.
• Process sensor input and control an actuator on an IoT device.
• Manage security, privacy, and safety risks on IoT projects.
• Manage an IoT prototyping and development project throughout the development lifecycle.
Course Content:
Lesson 1: Planning an IoT Implementation
Topic A: Select a General Architecture for an IoT Project
– Dawn of a New Day
– IoT
– IoT Ingredients
– Enabling Technologies
– IoT Infrastructure
– IoT Devices
– Example IoT Devices
– Case Study: Smart Outlet
– Selecting Attributes to Include in an IoT Device
– IoT Gateway
– Cloud Services
– User Interface
– Software Stacks
– Selecting an IoT Architecture
Topic B: Identify Benefits and Challenges of IoT
– IoT in Industry
– Industrial Controllers
– Industry 4.0
– Four Ps of Planned Maintenance
– Identifying Business Benefits of IoT
– Business Benefits
– Business Challenges
– Differences from Traditional IT
– Technical Challenges
– Societal Impact
– Identifying Potential Challenges of IoT
Lesson 2: Constructing and Programming an IoT Device
Topic A: Select and Configure a Processing Unit
– Microcontrollers
– Comparison Between Microprocessors and Microcontrollers
– Common Microcontroller Products
– FPGAs
– Selecting Processors for an IoT Project
– Development Boards and Shields
– Maker/Hobbyist Platforms
– On-Chip Peripherals
– I/O
– Digital Representation of On or Off State Values
– Analog Representation of Continuous Values
– Analog to Digital Conversion
– Signal Conditioning
– Transmission of Digital Values
– Differential Signaling
– Digital Sensors
– Microcontroller I/O Pins
– Components Used for Digital and Analog Conversion
– PWM
– Quadrature Encoder
– Guidelines for Selecting and Configuring a Microcontroller
– Case Study: ESP8266 MCU
– Preparing a Microcontroller for IoT Prototyping
Topic B: Select a Microcontroller Power Source
– Power Requirements
– Logic Level Voltage and Power Regulation
– Voltage, Current, and Resistance
– Semiconductors
– Semiconductor Care and Handling
– USB Power During Development and Testing
– USB Specifications
– Power After Deployment
– Power Grid
– Conversion Between AC and DC
– Backup Generators
– PoE
– Batteries
– Lithium Cells
– Solar Panels
– Wind Power
– Water Power
– Energy Harvesting
– Power Management
– Guidelines for Reducing Power Consumption
– Attaching a Microcontroller to a Power Source
Topic C: Use a Software Development Kit to Program an IoT Device
– Embedded Devices vs. General Purpose Computers
– Embedded Systems Programming
– Development Toolkits
– Programming Languages
– IoT Operating Systems
– Real-Time Operations
– Embedded Device Operating Systems
– Microcontroller Firmware
– The Build Process
– Debugging
– Guidelines for Selecting a Software Development Kit
– Case Study: ESP8266 SDKs
– Uploading a Program to an IoT Device
Lesson 3: Communicating with an IoT Device
Topic A: Communicate Using Wired Connections
– Wired Data Communication Standards
– Industrial Ethernet Standards
– Industrial Data and Information Management Standards
– OPC
– DDS
– OPC-UA vs. DDS
– Legacy Field Buses
– Legacy Serial Communication
– Data Communication During Development and Testing
– Guidelines for Communication Using Wired Connections
– Communicating over a Wired Serial Connection
Topic B: Communicate Using Wireless Connections
– Wireless Communication
– Near Range Wireless Communication
– Medium Range Wireless Communication
– Zigbee
– Zigbee Topologies
– Z-Wave
– 6LoWPAN and Thread
– WirelessHART
– Long Range Wireless Communication
– Guidelines for Communication Using Wireless Connections
– Testing Wi-Fi Communication with a Microcontroller
– Wireless IoT Device Configuration
– Guidelines for Providing a Wi-Fi Configuration Manager
– Providing a Wi-Fi Configuration Manager
Topic C: Communicate Using Internet Protocols
– The Internet Protocol Suite
– HTTP and HTTPS Web Protocols
– Send Data with a Request
– Web Protocols in IoT
– IP Addressing
– Encapsulation
– Connect Different Networks
– IoT Gateway as a Means to Connect Different Networks
– Smart Home Hubs
– Routing and QoS
– Networking Abstraction
– SDN
– Network Function Virtualization
– Communicating with an IoT Device Using HTTP
Lesson 4: Processing IoT Data
Topic A: Process IoT Device Input and Output
– DAQ
– Sensors
– Multiplexing
– Location, Bearing, and Speed Sensors
– Proximity Sensors
– Environment and Weather Sensors
– Cameras and Imaging Sensors
– Energy and Force Sensors
– Chemical Sensors
– Timer
– Guidelines for Selecting Sensors
– Selecting Sensors for IoT Applications
– Location Awareness
– Actuators and Other Output Devices
– Case Study: Analog Light Sensor
– Reading Analog Sensor Data
– Case Study: Digital Humidity and Temperature Sensor
– Reading Digital Sensor Data
Topic B: Process Data in the Cloud
– Deployment Models
– Cloud Computing
– Cloud Service Models
– Cloud Platforms
– Virtualization Technologies
– Guidelines for Evaluating Cloud Platforms
– IoT Services Performed in the Cloud
– Device Registry and Management
– Data Management
– IoT Data Analytics Tools
– Components of a Real-Time Analytics System
– AI
– AI Tools
– Drawbacks of Centralized Cloud Computing in IoT
– Where to Perform Processing Tasks
– Guidelines for IoT Processing and Analytics
– Planning IoT Processing
Topic C: Provide Machine to Machine Communication
– Industrial M2M Communication
– IoT M2M Communication
– Communication Patterns
– Messaging Protocols
– AMQP
– MQTT
– Premises Underlying MQTT
– MQTT Communication Process
– Message Persistence
– Web-Based Communication
– REST APIs
– WebSocket
– CoAP
– Guidelines for M2M Communication
– Case Study: MQTT
– Launching and Testing an MQTT Broker
– Using MQTT to Send Data from an IoT Device
– Using MQTT to Receive Control Instructions
Lesson 5: Managing Risks on IoT Projects
Topic A: Identify IoT Security and Privacy Risks
– The Rationale for IoT Security
– Case Study: Mirai Botnet
– Fronts of Attack
– Attack Phases and Techniques
– The OWASP Top Ten
– Identifying the Rationale for IoT Security
– Builders and Breakers
– Case Study: Threats to MQTT Messaging
– Building Security In
– Identifying Security Problems in an IoT Application
Topic B: Manage IoT Security and Privacy Risks
– Cybersecurity Strategies
– CIA Triad
– AAA
– Defense in Depth
– Layered Defenses for Constrained Devices
– Encryption on Constrained Devices
– Encoding
– Data Integrity
– Blockchain
– Privacy
– Privacy by Design
– Data Anonymization
– Firmware and Software Countermeasures
– Case Study: Protecting MQTT Messaging
– Guidelines to Prevent IoT Vulnerability Defects
– Protecting Data in Transit
– Preventing Unauthorized Use of Messaging Services
Topic C: Manage IoT Safety Risks
– Physical/Loss of Life Accidents
– Infrastructure Outages
– Supply Chain Risks
– IoT Safety Risk Management
– Identifying Safety Risks and Remediations
Lesson 6: Undertaking an IoT Project
Topic A: Identify Real World Applications for IoT
– IoT Market Sectors
– Smart City
– Industry
– Buildings
– Connected Cars
– Energy and Utilities
– Health, Medical, and Life Science
– Supply Chain
– Agriculture
– Retail
– Defense
– Connected Services
– Guidelines for Using IoT to Solve Problems
– Using IoT to Solve Problems
Topic B: Follow the IoT Development Lifecycle
– Complexity of IoT Projects
– The IoT Development Lifecycle
– Return on Investment
– Focus on Business Goals
– Cybersecurity Throughout the IoT Lifecycle
– Guidelines to Prepare for an IoT Initiative
– Preparing for an IoT Initiative
Appendix A: Mapping Course Content to Certified Internet of Things Practitioner (CIoTP) (Exam ITP-110)
Course-specific Technical Requirements
Hardware
For this course, you will need one computer for each student and one for the instructor. Each computer will need
the following minimum hardware configurations:
• 1 GHz or faster 32-bit (x86) or 64-bit (x64) processor
• 2 gigabyte (GB) RAM (32-bit) or 4 GB RAM (64-bit)
• 20 GB available hard disk space (32-bit) or 24 GB (64-bit)
• Keyboard and mouse (or other pointing device)
• 1,024 x 768 or higher resolution monitor
• Network cards and cabling for local network access
• Internet access
• Projection system to display the instructor’s computer screen
Please note that this class should not be run on VMs.
Electronics Kit
In this course, the instructor and each student will require a small kit of
electronic components that they will use to prototype and program an Internet of Things device. The kit is provided
as part of the courseware and has been partially assembled and tested to save time in class.
The course was designed around specific components that you can obtain through a variety of sources. If you
source the components yourself, be careful to obtain the exact components specified below. Otherwise, you may
have to make slight adjustments in the course activities and code.
Components include:
• NodeMCU ESP8266 CP2102 microcontroller with pre-soldered header pins
• 400 tie points prototyping breadboard
• Tinned 24 AWG bus wire to make jumper connections on breadboard
• Short micro USB 3.0 data cable
• GL5516 photoresistor
• 10K-ohm 1⁄4 watt carbon film resistor
• DHT11 digital humidity and temperature sensor with three-pin circuit board that includes onboard resistor
and male to female DuPont wires to connect to breadboard
Software
The following software will be used in this course:
• Windows® 10 (64-bit). This course was successfully keyed on Windows 10. Some activity steps may not key
exactly as written if students key on a different version of Windows.
• If necessary, software for viewing the course slides. (Instructor machine only.)
• Arduino IDE, available for download from the Windows Store or from
https://www.arduino.cc/en/Main/Software
• Microsoft Message Analyzer, available for download from https://www.microsoft.com/en-
us/download/details.aspx?id=44226
• Mosquitto 3.1 MQTT Broker, included in the course data files.
This course is designed for IT professionals with baseline skills in computer hardware, software support, and development who want to learn how to design, develop, implement, operate, and manage Internet of Things devices and related systems. The student is interested in learning more about embedded systems, microcontroller programming, IoT security, and the development life cycle for IoT projects.
While students will gain hands-on experience assembling a prototype IoT device and using software development tools, these activities are closely guided, so previous experience in electronics assembly and programming are not required. This course prepares students for taking the CertNexus Certified Internet of Things (IoT) Practitioner (Exam ITP-110).
To ensure your success in this course you should be an experienced computer user who is comfortable setting up and configuring computers and electronic devices.