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 Arduino, Raspberry pi , ESP8266 microcontroller, implementing various common IoT features, such as analog and digital sensors, a web-based interface, MQTT messaging, and data encryption.
Lesson 1: Planning an IoT Implementation Topic A: Select a General Architecture for an IoT Project Topic B: Identify Benefits and Challenges of IoT Lesson 2: Constructing and Programming an IoT Device Topic A: Select and Configure a Processing Unit Topic B: Select a Microcontroller Power Source Topic C: Use a Software Development Kit to Program an IoT Device Lesson 3: Communicating with an IoT Device Topic A: Communicate Using Wired Connections Topic B: Communicate Using Wireless Connections Topic C: Communicate Using Internet Protocols Lesson 4: Processing IoT Data Topic A: Process IoT Device Input and Output Topic B: Process Data in the Cloud Topic C: Provide M2M Communication Lesson 5: Managing Risks on IoT Projects Topic A: Identify IoT Security and Privacy Risks Topic B: Manage IoT Security and Privacy Risks Topic C: Manage IoT Safety Risks Lesson 6: Undertaking an IoT Project Topic A: Identify Real World Applications for IoT Topic B: Follow the IoT Development Lifecycle
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.