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 courseprovides 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-specific Technical Requirements
HardwareFor this course, you will need one computer for each student and one for theinstructor. Each computer will need the following minimum hardware configurations:
1 GHz or faster 64-bit (x64) processor
4 GB RAM
24 GB available hard disk space
Keyboard and mouse (or other pointing device)
One open USB port after connecting other devices
1,024 x 768 or higher resolution monitor
Projection system to display the instructor's computer screen
Wi-Fi is required because students will use Wi-Fi to configure the IoT device. A cabled Ethernet connection will not work for this purpose.
Computers will also need Internet access, which you can provide through the Wi-Fi connection, or you can provide Ethernet in addition to Wi-Fi.
Please note that this class should not be run on VMs.
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 providedas part of the courseware andhas been partially assembled and tested to save time in class.
The following software will be used in this course.Windows® 10 (64-bit). This course was developed and tested on Windows 10 Pro, Build 1803. If necessary, software for viewing the course slides. (Instructor machine only.) Microsoft Message Analyzer, available for download from https://www.microsoft.com/en-us/download/details.aspx?id=44226
Arduino IDEand Mosquitto 3.1 MQTT Brokerare includedin the course data files for this course. You do not have to download them separately.If the instructor plans to use Microsoft Word for students to open work sheets used in discussion activities, then Word 2010 or a later version will be needed to open the documents.