Embedded Devices- internet of things unit 2 notes
Embedded Devices- internet of things unit 2 notes
Low Power Consumption: Many IoT devices are battery-powered and must operate
for long periods without recharging. This makes energy efficiency crucial.
Real-Time Operation: Embedded devices often need to respond to external inputs or
events in real time.
Connectivity: IoT embedded devices use communication protocols like Wi-Fi,
Bluetooth, Zigbee, LoRa, or cellular networks to exchange data with cloud services or
other devices.
Limited Resources: Embedded devices usually have limited computing power,
memory, and storage compared to general-purpose computers.
Security: With millions of IoT devices connected to networks, securing data and
preventing breaches are major concerns.
Interoperability: Many different communication protocols are used, so ensuring
compatibility between various devices and platforms is crucial.
Scalability: As IoT systems grow, embedded devices must be able to scale, process
more data, and maintain performance.
Electronics:
In the Internet of Things (IoT), various electronic components work together to sense,
process, communicate, and act on data. Some of the essential electronics that power IoT
devices are:
1. Sensors
Sensors collect data from the environment, which is critical to IoT applications. Each sensor
converts physical signals (like temperature or motion) into electrical signals.
2. Microcontrollers (MCUs)
Microcontrollers are the brains of IoT devices, responsible for processing sensor data,
controlling actuators, and managing communication.
3. Microprocessors (MPUs)
More powerful than microcontrollers, microprocessors are used in complex IoT systems
where higher computing power is required.
4. Communication Modules
IoT devices need to send and receive data wirelessly, making communication modules crucial
for connecting devices to each other and to the cloud.
5. Actuators
Actuators convert electrical signals into physical actions, allowing IoT devices to interact
with their surroundings.
Sensors often produce analog signals, which must be converted into digital form for the
microcontroller to process.
Some IoT devices use DACs to convert digital signals into analog outputs, often for
controlling actuators like motors or lights.
9. Memory Modules
IoT devices require memory for data storage, firmware, and logging:
The PCB is the platform that connects all the electronic components in an IoT device. It’s
designed to ensure efficient power distribution and signal routing.
In IoT, embedded systems are the core of connected devices, responsible for sensing,
controlling, and communicating with other devices or servers over a network. IoT devices
rely on embedded computing to operate autonomously and efficiently in environments with
limited power and bandwidth. Two Categories of embedded computing basics are
1. Microcontrollers
2. System-on-chips
Low Power Consumption: MCUs are designed for low-power tasks, which is important for
IoT devices that run on batteries.
Cost-Effective: They are relatively cheap, making them ideal for large-scale deployment of
IoT devices.
Real-time Control: MCUs are often used for real-time applications, such as controlling
sensors, actuators, and handling small tasks.
Examples: Popular microcontrollers in IoT include Arduino (based on AVR or ARM), STM32,
ESP8266, ESP32, and PIC microcontrollers.
Applications in IoT:
Smart Home Devices: Controlling lights, thermostats, and home security sensors.
Wearables: Heart rate monitors, fitness trackers, and smartwatches.
Industrial IoT: Controlling machines and collecting sensor data in factories.
Key Features:
More Processing Power: SoCs often have more powerful processors, allowing them to run
more complex algorithms, such as AI/ML models.
Integrated Connectivity: Many IoT-focused SoCs include wireless communication modules
(Wi-Fi, BLE, Zigbee, etc.), reducing the need for external chips.
Multifunctional: SoCs can handle more complex tasks such as data processing, video
streaming, and encryption/decryption.
Examples: Popular SoCs in IoT include Qualcomm Snapdragon, NXP i.MX, Broadcom
BCM2837 (used in Raspberry Pi), and Nordic nRF52 series.
Applications in IoT:
Smartphones and Tablets: Many SoCs like Qualcomm Snapdragon power mobile devices,
which are crucial for IoT ecosystems.
Smart Cameras: Handling video processing and transmission to cloud servers.
Edge Devices: Devices like Raspberry Pi or Google Coral used for edge computing in IoT.
Integration Less integrated, needs peripherals Highly integrated, often includes CPU,
Feature Microcontroller (MCU) System on Chip (SoC)
Connectivity Often requires external module Typically integrated (Wi-Fi, BLE, LTE)
Microcontroller (MCU):
o Best for simple, low-power tasks like reading sensor data, controlling lights, or
handling input from basic devices.
o Ideal for battery-powered IoT devices that need to operate for long periods.
System on Chip (SoC):
o Suitable for more complex applications that require advanced processing, like edge
computing, AI/ML, or multimedia processing.
o Ideal when devices need built-in connectivity and handle large data volumes, video
streams, or secure transactions.
Arduino:
Arduino is an open-source electronics platform that consists of both hardware and software
components designed for building digital devices and interactive objects. It is widely used in
a variety of applications, particularly in prototyping for the Internet of Things (IoT).
1. Arduino Hardware
a. Arduino Boards
Arduino boards are microcontroller-based hardware that serve as the core of an Arduino
project. Some popular boards include:
Arduino Uno: The most commonly used board, great for beginners.
Arduino Nano: A compact version suitable for small projects.
Arduino Mega: Offers more input/output pins for larger projects.
Arduino MKR Series: Includes boards like the MKR Wi-Fi 1010 and MKR GSM 1400, designed
specifically for IoT applications with built-in connectivity.
b. Components
Microcontroller: The brain of the board, processing inputs and controlling outputs.
Digital I/O Pins: Used for interfacing with various components like sensors and actuators.
Analog Input Pins: Used to read varying voltages from sensors.
Power Supply: Can be powered via USB, battery, or external power supply.
Communication Interfaces: Such as UART, SPI, I2C for connecting with other devices.
2. Arduino Software
The primary software used for writing, compiling, and uploading code to Arduino boards.
It features a simple interface with a code editor, a message area, and tools for uploading
code.
Supports libraries that simplify coding for different sensors, actuators, and communication
protocols.
3. Programming Languages
C/C++: The primary programming languages used in Arduino. The Arduino IDE simplifies the
syntax, making it easier for beginners.
Python: Can be used with certain Arduino boards or through additional libraries for specific
tasks, especially in conjunction with Raspberry Pi or cloud platforms.
JavaScript: Can be used for web-based applications and with frameworks like Johnny-Five
for robotics.
4. Operating System
Arduino has its own cloud platform, Arduino IoT Cloud, which facilitates data storage,
visualization, and remote control of devices.
Can also integrate with other cloud platforms such as AWS IoT, Google Cloud, and Microsoft
Azure for more advanced data processing and analytics.
Raspberrry Pi:
1. Raspberry Pi Hardware
a. Models
There are several models of Raspberry Pi, each with varying specifications:
Raspberry Pi 4 Model B: Offers up to 8GB RAM, multiple USB ports, dual HDMI outputs, and
Gigabit Ethernet. Ideal for resource-intensive applications.
Raspberry Pi 3 Model B+: Features built-in Wi-Fi and Bluetooth, suitable for many IoT
projects.
Raspberry Pi Zero: A smaller, lower-cost version, great for lightweight applications and
embedded projects.
b. Components
CPU: ARM-based processor that runs at different clock speeds depending on the model.
Memory (RAM): Varies by model; more RAM allows for better performance in multitasking
and running complex applications.
Storage: Typically uses a microSD card for the operating system and data storage.
GPIO Pins: General-purpose input/output pins allow for interfacing with sensors, actuators,
and other components.
USB Ports: Used for connecting peripherals like keyboards, mice, and external storage.
HDMI Port: For connecting to displays, enabling visual output.
Networking: Ethernet port and/or built-in Wi-Fi for internet connectivity.
2. Raspberry Pi Software
a. Operating Systems
b. Programming Environments
Python: The most popular language for Raspberry Pi projects due to its simplicity and
extensive libraries.
Scratch: A visual programming language aimed at beginners, particularly in education.
Java: Useful for building cross-platform applications and Android development.
Node.js: Commonly used for web applications and IoT projects that require real-time
communication.
Connectivity Options: Raspberry Pi can connect to the internet via Ethernet or Wi-Fi,
enabling cloud integration and remote control.
GPIO Pins: Allows interfacing with a wide range of sensors, actuators, and other hardware
components, making it suitable for a variety of IoT applications.
Processing Power: More powerful than typical microcontrollers, allowing it to run complex
applications, handle multiple tasks, and process data locally.
Community and Ecosystem: A large and active community contributes libraries, tutorials,
and projects, making it easier to get started with IoT.
AWS IoT: For connecting devices to the AWS cloud for analytics and management.
Google Cloud IoT: Enables integration with Google's data processing and machine learning
services.
Microsoft Azure IoT Hub: Provides device management, data analytics, and secure
communication for IoT applications.
Mobile phones and tablets play a crucial role in the Internet of Things (IoT) ecosystem,
serving as both control interfaces and data collection devices. They enhance the connectivity,
accessibility, and functionality of IoT applications, making it easier for users to interact with
smart devices and services.
1. Control Interfaces
Remote Control: Mobile phones and tablets can be used to control smart home
devices, such as lights, thermostats, security cameras, and appliances, from anywhere
via mobile apps.
User-Friendly Interfaces: Many IoT applications come with intuitive mobile
interfaces, allowing users to monitor and manage their devices with ease.
Sensor Integration: Mobile devices are equipped with various sensors (e.g., GPS,
accelerometer, gyroscope) that can collect real-time data, contributing to IoT
applications such as fitness tracking, location-based services, and smart navigation.
Health Monitoring: Many health and fitness apps use mobile devices to track metrics
like heart rate, steps taken, and sleep patterns, often syncing this data with IoT-
enabled wearables.
Network Access: Mobile phones and tablets provide internet connectivity to other
IoT devices, especially in remote or mobile scenarios. They can act as gateways,
enabling communication between IoT devices and cloud services.
Bluetooth and NFC: These technologies allow mobile devices to connect directly
with nearby IoT devices, facilitating easy setup and data exchange.
4. Cloud Integration
Data Synchronization: Mobile applications can sync data with cloud platforms,
enabling centralized storage and analysis of data collected from various IoT devices.
Remote Access: Users can access and control their IoT devices through cloud-based
applications from their mobile devices, providing convenience and flexibility.
Plug computing refers to a computing paradigm that involves small, energy-efficient devices
that can be plugged directly into an electrical outlet and connected to the internet. These
devices are designed to provide always-on connectivity and computing capabilities, making
them ideal for Internet of Things (IoT) applications.
Plug computing devices typically take the form of small computers or IoT gateways that can
run applications, process data, and communicate with other devices. They are often designed
to be user-friendly, allowing for easy setup and management.
2. Key Features
a. Always-On Connectivity
Continuous Operation: Plug computing devices are designed to be always on, providing
constant internet access and enabling real-time data processing and communication.
Remote Access: Users can remotely access and control these devices, facilitating
management of IoT applications from anywhere.
b. Energy Efficiency
Low Power Consumption: Many plug computing devices are optimized for low power usage,
making them suitable for always-on applications without significantly increasing energy
costs.
Space-Saving Design: Plug computing devices are typically small and unobtrusive, allowing
them to fit easily into existing electrical outlets without requiring additional space.
Home Automation Hubs: Plug computing devices can serve as central hubs for managing
smart home devices, enabling control of lighting, security systems, thermostats, and more.
Energy Monitoring: Devices can monitor and optimize energy usage in homes, providing
insights and control over appliances.
b. Environmental Monitoring
Raspberry Pi: While not exclusively a plug computing device, it can be used as a low-cost,
energy-efficient solution for various IoT applications when plugged into a power source.
Intel NUC: A compact PC that can run various operating systems and applications, suitable
for more demanding IoT tasks.
Smart Plugs: Devices like smart plugs allow users to control appliances remotely and
monitor energy usage, effectively converting standard devices into IoT-enabled ones.