Internet of Things from Scratch Build IoT Solutions for Industry 4. 0 with ESP32, Raspberry Pi, and AWS
Kickstart your IoT design and implementation journey with this comprehensive book, covering basics to advanced concepts through practical examples and industry-standard practices Key Features Master the different components that make up an IoT system to design and implement solutions Unlock the powe...
Otros Autores: | |
---|---|
Formato: | Libro electrónico |
Idioma: | Inglés |
Publicado: |
Birmingham, England :
Packt Publishing Ltd
[2024]
|
Edición: | First edition |
Materias: | |
Ver en Biblioteca Universitat Ramon Llull: | https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009801533806719 |
Tabla de Contenidos:
- Cover
- Title Page
- Copyright and Credits
- Contributors
- Table of Contents
- Preface
- Part 1: Getting Started with the Internet of Things
- Chapter 1: An Introduction to IoT Architecture, Hardware, and Real-Life Applications
- Technical requirements
- What is IoT?
- The vision of the IoT
- The evolution of the IoT
- The four pillars of IoT
- Setting up the development environment of the book
- Setting up your Arduino IDE environment
- Setting up your GitHub repository
- Choosing between IoT hardware
- Data acquisition
- Data processing and storage
- Connectivity
- Power management
- Designing a simple IoT system diagram
- A high-level design flow for a smart lightbulb
- A high-level design flow for AWS
- Defining systems and processes for smart objects
- Defining a problem
- The three-step model for working on IoT systems
- Creating the flow
- Practical exercise - creating a mini weather station
- Hardware
- Working with the BME680
- ESP32 Wi-Fi auto-configuration
- ESPAsync_WiFiManager installation
- ESP32 programming OTA with a web server and mDNS
- ESP32 reading the BME680 sensor
- Summary
- Further reading
- Chapter 2: Understanding and Designing IoT Networks
- Technical requirements
- Understanding the fundamentals of network design
- Ranges
- Topology
- Understanding the seven-layer architecture of IoT
- Defining the design of an IoT network
- Defining what constitutes a smart object
- The components of a generic IoT network
- Putting it together
- Designing wired and wireless IoT networks
- Wired and wireless networks
- Cellular networks
- Machine-to-machine IoT networks
- Other IoT networks
- Practicing forming your own networks
- Practical - creating a Raspberry Pi Wi-Fi extender
- Hardware setup
- Coding it up
- Summary
- Further reading.
- Chapter 3: Integrating Application Protocols
- Technical requirements
- Installing Mosquitto
- Installing Client for URL (cURL)
- Application protocols and they fit into the picture
- The different types of application protocols
- An exercise to create a pub/sub MQTT broker
- Requirements for application protocols
- Reliability
- Power usage
- Security
- Integrating application protocols into the design
- A simple integration into the smart thermostat network
- A cloud scenario
- Multiple clients
- Practical - creating an MQTT pub and sub communication between an ESP32 and a Raspberry Pi
- Setting up Mosquitto as the broker on Raspberry Pi
- Subscribing and publishing from MQTTX
- Summary
- Further reading
- Chapter 4: Examining Communication and Connectivity Technologies
- Technical requirements
- The role of short- and long-range protocols within IoT
- Design factors
- Long-range communication protocols
- Allocating resources
- Infrastructure protocols
- Mesh networking, RFID, and Bluetooth
- RFID
- Mesh networking
- Bluetooth
- Examining edge cases for protocol selection and operation
- Understanding the fundamental rules of architecting for different areas
- A look at a water utility IoT network
- Practice forming more networks
- Practical scenario - working with multiple communication protocols with ESP32
- Making the connections
- Summary
- Further reading
- Part 2: Developing and Optimizing IoT Systems for Smart Environments
- Chapter 5: Realizing Wireless Sensor Networks within Smart Spaces
- Technical requirements
- Choosing between different sensor technologies
- Classes of sensor networks
- Routing for WSNs
- Design considerations
- Architecting the hardware and software
- Managing APIs
- How they integrate within the system
- Types of APIs
- Evaluating WSNs
- Metrics.
- Models of delivery
- A case study
- Practical scenario - step-by-step smart energy monitoring and management system
- Requirements
- Connection diagram
- Setting up and connecting the hardware
- Configuring the connection for the access point
- Summary
- Further reading
- Chapter 6: Creating Applications on the Edge
- Technical requirements
- TensorFlow
- Edge computing fundamentals and its benefits for IoT
- Edge computing architecture
- Benefits of edge computing
- A sample edge computing exercise
- Requirements of IoT for edge computing
- Resource management
- The three laws of IoT
- Optimizing edge computing on networks
- Strategies for optimizing edge computing workloads
- Evaluating edge networks
- Smart city case study
- Practical - smart traffic control with edge computing
- Assembling the circuit
- Writing the code
- Testing the system
- Summary
- Further reading
- Chapter 7: Working with Cloud Computing to Power IoT Solutions
- Technical requirements
- Setting up your AWS account
- Fundamentals of cloud computing with IoT
- The main advantages of cloud computing
- Cloud computing deployment models
- Services to work with for IoT
- Identity Access Manager (IAM)
- Amazon Elastic Compute Cloud (Amazon EC2)
- AWS IoT Core
- AWS IoT Greengrass
- AWS IoT SiteWise
- AWS Lambda
- Amazon Simple Queue Service (SQS)
- Amazon Simple Notification Service (SNS)
- Other notable AWS services for IoT
- A practical exercise utilizing the services
- Optimizing for resilience and low latency
- A simple architecture
- Evaluating your solution
- Practical-creating a cloud proximity detector
- Assembling the circuit
- Writing the code
- Testing the installation
- Troubleshooting and optimization
- Summary
- Further reading
- Chapter 8: Designing for Interoperability
- Technical requirements.
- The Telegram app
- The current state of IoT platforms and their interoperability
- Defining interoperability in IoT
- Why interoperate?
- Costs and trade-offs of interoperability
- ESP32-H2
- Interoperability concept, approaches, and principles for building with IoT
- Concepts, approaches, and principles
- Types of interoperability
- Layers of IoT
- Architecting for interoperability
- Projects working toward greater interoperability
- Global interoperability
- Interoperability within the cloud
- E-health platform case study
- Advancing the interoperability of IoT platforms
- Practical - Creating a Telegram household motion detector
- Creating a chatbot
- Getting a Telegram user ID
- Working with the Arduino IDE
- Hardware setup
- Coding it up
- Outcome
- Summary
- Further reading
- Part 3: Operating, Maintaining, and Securing IoT Networks
- Chapter 9: Operating and Monitoring IoT Networks
- Technical requirements
- Continuous operation of IoT systems
- Challenges and benefits of maintaining continuous operation
- Strategies for achieving continuous operation
- Automation and machine learning in monitoring
- Exercise on simulating monitoring networks
- Setting KPIs and the metrics for success
- Setting clear objectives and goals for monitoring
- Different types of KPIs
- Selecting, analyzing, and monitoring KPIs
- Monitoring capabilities on-premises and on the cloud
- Monitoring for security purposes
- Creating a unified monitoring solution
- Practical - operating and monitoring a joke creator with IoT Greengrass
- Setting up your OpenAI account
- Spinning up an Amazon EC2 instance
- Configure AWS Greengrass on Amazon EC2
- Monitoring the EC2 Thing when publishing messages
- Summary
- Further reading
- Chapter 10: Working with Data and Analytics
- Technical requirements.
- Introduction to data analysis at scale
- Data analysis on AWS
- AWS services
- Analysis on the cloud and outside
- Third-party data services
- Designing AWS flow diagrams with data analysis
- Practical - smart home insights with AWS IoT Analytics
- Industrial data analytics
- Evaluating performance
- Use cases within industry
- A case study for data analytics
- Practical - creating a data pipeline for end-to-end data ingestion and analysis
- Creating a channel
- Creating a data store
- Creating a pipeline
- Ingesting data
- Monitoring ingested data
- Creating a dataset from the data
- Summary
- Further reading
- Chapter 11: Examining Security and Privacy in IoT
- Technical requirements
- The current state of risk and security within IoT
- Challenges within security on IoT networks
- Security recommendations
- Security and privacy controls within the cloud management landscape
- Types of attacks
- Security on AWS
- Automated security remediation with AWS IoT Device Defender
- Risk management within the IoT landscape
- Threat modeling for IoT systems
- Security controls
- IR
- Privacy and compliance within IoT networks
- Cryptography controls for the IoT landscape
- Schneider Electric's implementation of an IoT solution security architecture
- Practical - Creating a secure smart lock system
- Materials
- Part 1 - Setting up the Arduino board and RFID reader
- Part 2 - Arduino code for encrypted RFID communication
- Part 3 - AWS server-side setup
- Configuring the Lambda function to be triggered by AWS IoT Core
- Updating the Arduino code to receive the authentication result from AWS IoT Core
- Summary
- Further reading
- Chapter 12: Exploring and Innovating with Open Source IoT
- Technical requirements
- Introduction to community innovations within IoT
- Open source as a standard.
- Open source as a culture.