IoT and Cybersecurity
As more and more devices are connected to the internet, Internet of Things (IoT) has become a pervasive trend in manufacturing, transportation, energy generation, smart buildings and homes, among others. We intend to take a general approach similar to our cybersecurity curriculum with WiFi enabled robots. We will interface a number of open source sensors with NetsBlox. The students will be able to control the devices remotely (e.g., set configuration parameters for the sensors, turn the alarm on/off, receive sensor reports and measurement data, etc). Initially, all communication will be in the open, i.e., unencrypted. Students will see how to eavesdrop on messages and even how to falsify data and alarms. The curriculum will then introduce various cybersecurity concepts like Denial of Service (DoS) attacks, encryption, secure key exchange, and authentication.
Table of Contents
- Unit 1: Introduction to the Internet of Things (IoT)
- Unit 2: Your Phone as a Sensor with PhoneIoT
- Unit 3: Graphical User Interface (GUI) using PhoneIoT
- Unit 4: Introduction to RoboScape Online
- Unit 5: Controlling Remote Robots
- Unit 6: Introduction to Cybersecurity
- Unit 7: Cybersecurity with Robots
- Unit 8: Individual or Team Project
Unit 1: Introduction to the Internet of Things (IoT)
Estimated time | 45 minutes x 5 days |
Lesson summary | Students will learn about the Internet of Things (IoT), which refers to physical objects (or groups of such objects) that are equipped with sensors, processing ability, software, and other technologies in order to be able to connect to and exchange data with other devices and systems. This flow of data can occur either over the Internet or by using other communications networks. Thingspeak, an IoT analytics platform provided by Mathworks, is one particular method for accessing the data being collected by these IoT devices and will be the focus of this lesson. |
Learning objectives | The students will be able to:
|
Vocabulary | IoT, sensors, RPC’s |
Activities |
|
Lesson Resources |
Unit 2: Your Phone as a Sensor with PhoneIoT
Estimated time | 45 minutes x 5 days |
Lesson summary | Students will learn about PhoneIoT, which is an app that lets students connect their phones/tablets to NetsBlox and access their sensor data as IoT devices over the internet. |
Learning objectives | The students will be able to:
|
Vocabulary | Polling, streaming |
Activities |
|
Lesson Resources |
Unit 3: Graphical User Interface (GUI) using PhoneIoT
Estimated time | 45 minutes x 5 days |
Lesson summary | Students will learn about how to make GUIs with PhoneIoT. This allows useful virtual controls like buttons, text boxes, joysticks, etc. to be added to the PhoneIoT app display and used to control NetsBlox projects through event-based message passing. |
Learning objectives | The students will be able to:
|
Vocabulary | GUI, widget/control, canvas |
Activities |
|
Lesson Resources |
Unit 4: Introduction to RoboScape Online
Estimated time | 45 minutes x 5 days |
Lesson summary | Students will learn how to control a robot through NetsBlox, and how to accomplish basic tasks using its motors and sensors. |
Learning objectives | The students will be able to:
|
Vocabulary | Robotics, autonomy, sensors |
Activities |
|
Lesson Resources |
Unit 5: Controlling Remote Robots
Estimated time | 45 minutes x 5 days |
Lesson summary | Students will learn how to accomplish more advanced tasks with their robots. |
Learning objectives | The students will be able to:
|
Vocabulary | LIDAR |
Activities |
|
Lesson Resources |
Unit 6: Introduction to Cybersecurity
Estimated time | 45 minutes x 5 days |
Lesson summary | Students will learn about how the simplest way to send messages is not resistant to some similarly simple attacks. To keep their robot secure, they will also learn how to defend it from spoofed messages and brute force attacks. |
Learning objectives | The students will be able to:
|
Vocabulary | Encryption, Brute Force attacks |
Activities |
|
Lesson Resources |
Unit 7: Cybersecurity with Robots
Estimated time | 45 minutes x 5 days |
Lesson summary | Students will learn about more advanced topics in cybersecurity. |
Learning objectives | The students will be able to:
|
Vocabulary | Key exchange, replay attack, sequence number |
Activities |
|
Lesson Resources |
Unit 8: Individual or Team Project
Estimated time | 45 minutes x 5 – 10 days |
Lesson summary | Students will break into small teams of 1 (individual) to 4 and brainstorm/implement some large project in NetsBlox using concepts learned so far. Projects should be related to IoT, which includes PhoneIoT and RoboScape Online, as well as any other IoT-related services available in NetsBlox, even if they have not been covered in previous activities (see below for examples). |
Project Ideas | This is meant to be a creative project where students all come up with their own unique project concepts, but here are some general examples of directions that could be taken if students are struggling to come up with one:
|
Data Sources | The following is a list of additional data sources (in no particular order) that can be used for data-driven projects:
|
Student Resources |