COSC111 Midterm Reviewer PDF
Document Details
Tags
Summary
This document provides a review of Internet of Things (IoT) concepts. It covers topics such as the components of IoT, communication protocols, and various applications in different sectors, including smart homes, healthcare, and agriculture. It also touches on the history and evolution of IoT.
Full Transcript
**COSC111 Midterm Reviewer** **Lesson 1: Introduction to IoT** **Internet of Things (IoT)** \- network of physical objects or \"things\" embedded with sensors, software, and other technologies \- network of interconnected devices that communicate with each other over the internet **Components o...
**COSC111 Midterm Reviewer** **Lesson 1: Introduction to IoT** **Internet of Things (IoT)** \- network of physical objects or \"things\" embedded with sensors, software, and other technologies \- network of interconnected devices that communicate with each other over the internet **Components of IoT** **1. Sensors/Devices** \- collect data from environment \- ex: temperature sensors, cameras, GPS trackers **2. Connectivity** \- transmits data to cloud services \- Wi-Fi, Bluetooth, cellular networks **3. Data Processing** \- analyzes collected data to extract meaningful information **4. User Interface** \- allows users to interact with the IoT system **Architecture of IoT:** **Perception Layer**: Comprises sensors and actuators that collect data. **Network Layer**: Responsible for transferring data from the perception layer to processing systems. **Processing Layer**: AKA the middleware layer; processes the data and makes decisions based on analysis. **Application Layer**: Provides the specific application-oriented services to users. **Communication Protocols** \- used in IoT systems to facilitate interaction between devices and the internet \- examples: - **MQTT** (Message Queuing Telemetry Transport) - **HTTP/HTTPS** - **CoAP** (Constrained Application Protocol) - **Zigbee** **History and Evolution of IoT** **Early Beginnings** \- early 1980s \- modified Coca-Cola vending machine at Carnegie Mellon University, which reported its inventory and whether drinks were cold. **1990s** \- the term \"Internet of Things\" was coined by Kevin Ashton in 1999; described a system where the internet would be connected to the physical world via ubiquitous sensors. **2000s** \- advancements in wireless communication technologies \- ex: Wi-Fi and RFID (Radio-Frequency Identification) **2010s and Beyond** \- rapid growth of smartphone usage and cloud computing \- smart home devices like Amazon Echo and Google Home **IoT Applications and Market Trends** **1. Smart Homes** \- smart thermostats (ex: Nest), smart lights (ex: Philips Hue), smart security cameras (ex: Ring), and voice-activated assistants (ex: Amazon Alexa, Google Assistant) **2. Healthcare** \- wearable fitness trackers (ex: Fitbit), smart medical devices (ex: connected inhalers, heart monitors), and remote patient monitoring systems **3. Industrial IoT (IIoT)** \- predictive maintenance of machinery, real-time monitoring of industrial processes, supply chain optimization, and inventory management **4. Agriculture** \- precision farming, including soil moisture sensors, automated irrigation systems, and livestock monitoring. **5. Smart Cities** \- enhance urban infrastructure \- smart traffic management systems, smart parking solutions, waste management, and energy-efficient buildings **6. Market Trends** \- key trends include integration of AI and machine learning with IoT, edge computing for faster data processing **Benefits of IoT** Improved Efficiency Enhanced Data Collection Convenience Improved Safety and Security Innovation **Challenges of IoT** Security Risks Privacy Concerns Interoperability Scalability Cost **Lesson 2: IoT Architecture and Design Principles** **Basic Architecture of IoT Systems** \- typically divided into three layers: **1. Perception Layer (Device Layer)** \- includes all physical devices such as sensors and actuators that interact with the environment **2. Network Layer** \- responsible for transmitting data from the perception layer to the processing systems and back to the devices \- ex: Wi-Fi or cellular networks that transmit data from the sensor to the cloud **3. Application Layer** \- where the data is processed and utilized to perform specific tasks \- ex: a mobile app that allows users to control the smart thermostat remotely **IoT Reference Models (4-layer, 7-layer models)** **A. Four Layer Model** 1. **Perception Layer** - sensing and actuating components 2. **Network Layer** - communication protocols and network hardware 3. **Middleware Layer** - data management, storage, and processing 4. **Application Layer** - end-user applications and services **B. Seven Layer Model (Based on the OSI Model)** 1. **Perception Layer** - sensing and actuating components 2. **Network Layer** - communication protocols (e.g., TCP/IP) 3. **Data Link Layer** - manages data transfer and error detection 4. **Transport Layer** - ensures reliable data transmission 5. **Session Layer** -- manages sessions and data exchange 6. **Presentation Layer** - data formatting and encryption 7. **Application Layer** - user-facing applications and services **Key Components in IoT Systems** **1. Sensors** \- devices that detect and measure physical phenomena \- ex: pressure sensor in a smart irrigation system that measures soil moisture levels **2. Actuators** \- devices that perform actions based on commands received from system \- ex: valve in the smart irrigation system that opens or closes based on the moisture level **3. Microcontrollers** \- small computing devices that process sensor data and control actuators \- ex: Arduino board **4. Communication Protocols** \- standards and rules that define how data is transmitted between devices \- ex: **MQTT (Message Queuing Telemetry Transport)** - a lightweight protocol used in IoT for efficient data transmission, especially in environments with low bandwidth **Example Smart Agriculture System** **Perception Layer** - Soil moisture sensors and temperature sensors measure environmental data. **Network Layer** - LoRaWAN (Long Range Wide Area Network) transmits sensor data to a central hub. **Middleware Layer** - A cloud platform processes the data, storing historical trends and triggering actions. **Application Layer** - A mobile app displays real-time soil moisture levels and allows farmers to automate irrigation. **Lesson 3: Sensors and Actuators** **Sensors** \- devices that detect and measure physical properties from the environment **Types of Sensors** **1. Temperature Sensors** \- measure temperature using thermocouples, thermistors, or resistance temperature detectors (RTDs) \- ex: **DS18B20**, a digital temperature sensor - use a thermistor to measure temperature - the thermistor changes its resistance with temperature **2. Humidity Sensors** \- detect amount of water vapor in the air \- capacitive or resistive methods are often used \- ex: **DHT11**, a sensor that measures both humidity and temperature - based on changes in electrical capacitance when humidity levels fluctuate - contains moisture-absorbing substrate that changes capacitance based on water vapor **3. Motion Sensors** \- detect movement with technologies like infrared, ultrasonic, or accelerometers \- ex: **PIR (Passive Infrared) sensors** detect human movement by sensing changes in infrared radiation - detect changes in infrared radiation in their surroundings - when a warm object (like a human) passes, the sensor detects this change and triggers an output **4. Light Sensors** \- measure intensity of light using photodiodes or **light-dependent resistors (LDRs)** \- ex: LDR changes its resistance based on the intensity of light falling on it - resistance of an LDR decreases as light intensity increases **5. Proximity Sensors** \- detect nearby objects without physical contact using ultrasonic or infrared. \- ex: **HC-SR04**, an ultrasonic sensor **Actuators** \- convert electrical signals into physical actions (motion, heat, etc.) \- enable system to interact with the physical world. **Types of Actuators** **1. Motors (DC/Stepper Motors)** \- convert electrical energy into mechanical motion. \- ex: **DC motor** rotates when voltage is applied to it - current passes through a wire coil inside the motor, generating a magnetic field. **2. Servos** \- offer precise control of angular position, commonly used in robotics and automation \- ex: **Servo motor** is controlled by Pulse Width Modulation (PWM), allowing it to move to a specific angle - uses an electromagnetic coil to move a plunger inside, creating linear motion **3. Solenoids** \- electromagnetic devices that convert electrical signals into linear motion \- often used for pushing or pulling actions in locks - controlled by sending a PWM signal to rotate the motor to a specific angle **Lesson 4: Microcontrollers and IoT Platforms** **Microcontrollers** \- small computing devices designed to perform specific tasks in embedded systems \- can interface with sensors, control actuators, and communicate with other devices via the internet. **Popular Microcontrollers Used in IoT** **Arduino** \- widely used open-source microcontroller platform; known for its simplicity and ease of use **Raspberry Pi** \- often used as a microcontroller in IoT applications; technically a single-board computer \- more powerful than typical microcontrollers \- runs a full operating system like Linux **ESP8266** \- low-cost microcontroller with built-in Wi-Fi capability \- widely used in IoT projects where internet connectivity is essential **ESP32** \- successor to the ESP8266 \- offers more power, dual-core processors, Bluetooth, and additional GPIO pins \- ideal for IoT projects that require both Wi-Fi and Bluetooth communication **Lesson 5: IoT Communication Protocols** **IoT communication protocols** \- essential for connecting devices and enabling data exchange between them and the cloud or other IoT systems \- different protocols are used based on the requirements like power consumption, bandwidth, and range. **Widely Used IoT Communication Protocols** **1. MQTT (Message Queuing Telemetry Transport)** \- lightweight publish/subscribe messaging protocol; ideal for low-bandwidth and high-latency networks \- commonly used in remote monitoring applications **2. CoAP (Constrained Application Protocol)** \- specialized web transfer protocol designed for resource-constrained devices in IoT systems \- similar to HTTP but optimized for low-power devices; supports methods like GET, POST, PUT, and DELETE **3. HTTP (HyperText Transfer Protocol)** \- widely used application layer protocol for sending data over the web **4. WebSockets** \- provide full-duplex communication between a client and server; enables real-time data exchange \- ideal for IoT systems requiring continuous communication **Wireless Communication Technologies** \- enable devices to connect without physical cables **1. WiFi** - high-speed communication for devices that are near a WiFi router **2. Bluetooth** - short-range, low-power communication protocol; often used for personal devices like wearables and smart home appliances. **3. Zigbee** - low-power, low-data-rate **4. LoRa (Long Range)** - long-range, low-power technology; used for IoT systems that require communication over large distances **Lesson 6: Networking Technologies for IoT** **Network topology** \- the arrangement of different elements (links, nodes, etc.) in a network. **Network Topologies in IoT** **Star Topology** - each node connects to a central hub; often used in home automation systems where all devices connect to a WiFi router **Mesh Topology** - each node connects to multiple other nodes, allowing for redundancy and extended range; useful in larger areas **IPv6** \- latest version of the Internet Protocol \- crucial for IoT due to its vast address space, which can support billions of devices **Low-Power WAN (LPWAN)** \- designed for long-range communication with low power consumption \- ideal for IoT devices that require long battery life **Lesson 7: IoT Data Management and Storage** **IoT Data Management and Storage** \- processes and technologies involved in collecting, storing, processing, and analyzing the vast amounts of data generated by IoT devices **Data Generation** - occurs when devices collect data from their environment or from user interactions; can include metrics like temperature, humidity, location, or user activity **Data Collection Process** - involves transmitting the information to a central system for further analysis or action **Examples:** **Smart Home Devices** - A smart thermostat collects temperature and humidity data to optimize heating and cooling based on user preferences and external weather conditions. **Wearable Health Monitors** - Fitness trackers generate data on heart rate, steps taken, and sleep patterns, which is then collected and sent to a mobile app for user insights. **Industrial IoT Sensors** - In a manufacturing environment, sensors on machinery monitor performance, wear and tear, and environmental conditions, generating data that can be used for predictive maintenance. **Cloud Storage Solutions** \- provide scalable and flexible environments for storing and managing IoT data \- can handle large volumes of data generated by numerous devices; support advanced analytics and machine learning **Examples of Cloud Storage** **Amazon Web Services (AWS) IoT Core** \- enables the connection of IoT devices to the cloud, allowing secure data transmission and storage in Amazon S3 (Simple Storage Service) for later analysis **Microsoft Azure IoT Hub** \- provides cloud storage and management capabilities for IoT data, allowing developers to build, connect, and manage IoT applications effectively **Google Cloud IoT** \- offers tools for ingesting, processing, and analyzing IoT data **Edge Computing** \- processing data near the source of generation (i.e., at the \"edge\" of the network) rather than relying on a centralized cloud \- reduces latency, conserves bandwidth, and allows for real-time data processing **Cloud Computing** \- sending data to centralized servers for processing and storage \- can be beneficial for extensive data analytics and historical data storage but may introduce delays due to network latency **Lesson 8: IoT Analytics and Data Processing** **IoT Analytics** \- techniques and methods used to analyze data generated from IoT devices. \- ex: - **Smart Homes**: Analyzing energy consumption data from smart thermostats to optimize heating and cooling, thus reducing energy costs. - **Wearable Devices**: Collecting and analyzing health metrics (like heart rate and activity levels) to provide personalized health recommendations. - **Smart Cities**: Analyzing traffic data from connected vehicles and sensors to improve traffic management and reduce congestion. **Data Processing Techniques for IoT** \- manage and analyze the large volumes of data generated \- **key techniques** include: **Data Filtering** - removing unnecessary data points before analysis **Data Aggregation** - combining data from multiple sources to provide a unified view **Data Transformation** - modifying data into a format suitable for analysis **Machine Learning** - applying algorithms to discover patterns and make predictions based on IoT data **Real-time Processing** \- analyzing data as it is generated, allowing for immediate insights and actions \- for applications requiring instant responses. **Batch Processing** \- collecting data over a period, then processing it all at once \- for applications where immediate responses are not necessary **Lesson 9: IoT Security and Privacy** **IoT Security** \- focuses on protecting IoT devices and their networks from malicious attacks, unauthorized access, and data breaches **Privacy** \- ensuring that personal data collected by IoT devices is protected and handled according to relevant laws and user consent **Security Challenges in IoT** Lack of standardization Resource constraints Connectivity Lifecycle management Data management **Common Threats and Vulnerabilities** **1. Unauthorized access** \- hackers can gain control over IoT devices, often due to weak authentication mechanisms, leading to data breaches or device manipulation **2. Distributed Denial-of-Service (DDoS) attacks** \- malicious actors can target IoT devices to launch DDoS attacks, overloading systems and causing network outages \- ex: **Mirai botnet**, which used IoT devices like security cameras to perform large-scale DDoS attacks **3. Data interception and leakage** \- sensitive data transferred between IoT devices and servers can be intercepted if not properly encrypted **4. Malware and botnets** \- vulnerable IoT devices can be infected with malware, turning them into part of a botnet to execute malicious actions **5. Firmware vulnerabilities** \- exploiting weaknesses in IoT firmware can allow attackers to execute arbitrary code, gaining control over devices **Security Protocols and Best Practices** **Encryption** \- encrypting data at rest and in transit ensures that even if intercepted, the data remains unreadable \- ex: using **TLS (Transport Layer Security)** for encrypting communication between IoT devices and servers **Authentication and Access Control** \- strong authentication mechanisms, such as **multi-factor authentication (MFA)**, help prevent unauthorized access to IoT devices and networks **Regular Updates and Patching** \- IoT devices should receive frequent software and firmware updates to patch known vulnerabilities **Network Segmentation** \- isolating IoT devices from other critical parts of a network reduces the risk of lateral movement if one device is compromised **Secure Booting** \- ensuring that IoT devices only run authenticated and trusted code during startup **Device Hardening** \- deactivating unused features, changing default credentials, and applying minimal necessary configurations reduce vulnerabilities **Data Anonymization** \- if personal data is collected, it should be anonymized or pseudonymized to protect user privacy **Addtl:** **Components of Arduino Kit** **Arduino Board** \- the core of the kit \- microcontroller board (often an Arduino Uno) used to control electronic components \- can be programmed to read inputs and control outputs by executing the code uploaded to it ![https://www.tutorialspoint.com/arduino/images/board\_description.jpg](media/image2.png) **1**. Power USB **2**. Power (Barrel Jack) **3**. Voltage Regulator - controls voltage given to the Arduino board; stabilizes the DC voltages **4**. Crystal Oscillator - helps Arduino in dealing with time issues **5, 17**. Arduino Reset **6, 7, 8, 9**. Pins (3.3, 5, GND, Vin) Vin - used to power the Arduino board from an external power source **10**. Analog pins **11**. Main microcontroller **12**. ICSP pin - AKA SPI (Serial Peripheral Interface); programming header for the Arduino **13**. Power LED indicator **14**. TX and RX LEDs **15**. Digital I/O **16**. AREF - Analog Reference; used to set an external reference voltage for the analog input pins