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...

Descripción completa

Detalles Bibliográficos
Otros Autores: Gondosubroto, Renaldi, author (author)
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.