You'll begin with the key concepts and components used in an edge analytics app. Moving ahead, you'll delve into communication protocols to understand how sensors send their data to computers or microcontrollers. Next, the book will demonstrate how to design modern edge analytics apps that take advantage of the processing power of modern single-board computers and microcontrollers. Later, you'll explore Microsoft Azure IoT Edge, MicroPython, and the OpenCV visual recognition library. As you progress, you'll cover techniques for processing AI functionalities from the server side to the sensory side of IoT. You'll even get hands-on with designing a smart doorbell system using the technologies you've learned. To remove vulnerabilities in the overall edge analytics architecture, you'll discover ways to overcome security and privacy challenges. Finally, you'll use tools to audit and perform real-time monitoring of incoming data and generate alerts for the infrastructure.
Author(s): Colin Dow
Publisher: Packt Publishing Ltd.
Year: 2020
Language: English
Pages: vi+240
Cover
Title Page
Copyright and Credits
Dedication
About Packt
Contributors
Table of Contents
Preface
Section 1: Getting Started with Edge Analytics
Chapter 1: Introduction to Edge Analytics
What is edge analytics?
Early computers
The rise of the personal computer
Peer-to-peer networks
Cloud computing
Edge computing
Early IoT applications
Edge analytics
Applying and comparing architectures
The standard IoT solution
Edge analytics-based IoT solution
Key benefits of edge analytics
Privacy
Latency
Reliability
Edge analytics architectures
Basic edge analytics architecture
Azure IoT Edge-based edge analytics architecture
Understanding Microsoft Azure IoT
Understanding Microsoft Azure IoT Edge
Using edge analytics in the real world
Summary
Questions
Chapter 2: How Does IoT Edge Analytics Work?
What are the components used in an edge analytics application?
Basic edge analytics components
Sensors
DHT11 temperature and humidity sensor
Soil moisture sensor
Laser sensor
Microcontrollers and computers
The ESP8266
Arduino
PyCom boards
The Raspberry Pi
Personal computers
Microsoft Azure IoT Edge components
Devices
Azure IoT Edge
IoT Edge modules
Azure IoT Edge runtime
Cloud-based interface
How do the components fit together?
Connecting a sensor to the ESP-12F microcontroller
More examples of real-world edge analytics applications
KOM-MICS smart factory platform
Summary
Questions
Further reading
Chapter 3: Communications Protocols Used in Edge Analytics
Wi-Fi communication for edge analytics
Understanding the RF spectrum
VLF and LF
Medium frequency
High frequency
Very high frequency
Ultra high frequency
Super high frequency
Extremely high frequency
What is bandwidth?
Using Wi-Fi for our edge analytics applications
Bluetooth for edge analytics communication
What is Bluetooth?
Enhancing our smart heater application with Bluetooth
Cellular technologies for edge analytics communication
The generations of cellular network technology
What is 5G?
How would 5G enhance our edge analytics applications?
Long-distance communication using LoRa and Sigfox for edge analytics
The Friis transmission equation
Sigfox
LoRa and LoRaWAN
Summary
Questions
Further reading
Section 2: Understanding Edge Analytics Technologies
Chapter 4: Working with Microsoft Azure IoT Hub
What is Microsoft Azure?
Cloud service providers
Storage
Processing
Virtual machines
Containers
Serverless computing
A look at Microsoft Azure
Infrastructure as a service
Platform as a Service
Software as a Service
Functions as a Service
Setting up a Microsoft Azure account
Exploring the Azure portal
What is Azure IoT Hub?
A quick tutorial on Azure IoT Hub
Creating an Azure IoT Hub
Connecting to Azure IoT Hub with the Device Explorer tool
Creating simulated sensor data using Python
Viewing usage from the Azure portal
Summary
Questions
Further reading
Chapter 5: Using the Raspberry Pi with Azure IoT Edge
Installing Azure IoT Edge on the Raspberry Pi
Installing the Raspbian Stretch operating system
Downloading and flashing Stretch
Installing Stretch on the Raspberry Pi
Installing libraries needed for Azure IoT Edge
Installing the repository configuration
Installing the Moby container runtime
What is Moby?
Installing Moby onto our Raspberry Pi
Installing the Azure IoT Edge security daemon
Connecting our Raspberry Pi edge device
Creating an Azure IoT Edge resource
Creating an IoT Hub
Creating an Azure IoT Edge resource
Connecting the Raspberry Pi
Adding a simulated temperature sensor to our edge device
Adding a module to our edge device
Viewing telemetry data from our edge device
Summary
Questions
Further reading
Chapter 6: Using MicroPython for Edge Analytics
Understanding MicroPython
Developing with Arduino C
Developing with MicroPython
MicroPython's REPL
Installing MicroPython on an ESP32
Using REPL with our ESP32
Exploring the hardware that runs MicroPython
Pyboard
ESP8266
ESP32
Pycom WiPy
Pycom LoPy
Using MicroPython for an edge analytics application
Connecting our edge device
Writing the edge code
Creating the edge device files
Understanding the edge device code
Creating the MQTT broker
Creating our gateway (ESP32 LoRa)
Creating the gateway files
Understanding the gateway code
LoRaMessage
HeaterStatus
Creating the dashboard
Putting it all together
Summary
Questions
Further reading
Chapter 7: Machine Learning and Edge Analytics
Understanding machine learning and how it works with edge analytics
Machine learning libraries and tools
An example using OpenCV and the Raspberry Pi
Running the code
Explaining the code
Using edge intelligence with microcontrollers
Exploring the various models of camera-based microcontrollers
Using machine vision to read a QR code
Running the code
Explaining the code
Other offerings of machine learning and Azure IoT Edge
Azure Machine Learning designer
Azure IoT Edge custom vision
Summary
Questions
Further reading
Chapter 8: Designing a Smart Doorbell with Visual Recognition
Setting up the environment
Understanding the application
Setting up the development environment
Creating a Python virtual environment
Installing the required libraries
OpenCV for Python
face_recognition
paho-mqtt
Writing the edge code
Creating the Face class
Creating the Message class
The Camera script
Creating the Node-RED dashboard
Adding the components
The mqtt in component
The function component
The text dashboard component
The audio out component
Running the application
Summary
Questions
Further reading
Section 3: The Road Ahead
Chapter 9: Security and Privacy in an Edge Analytics World
An overview of the Internet-of-Things security
Types of attacks against our edge analytics applications
Vulnerability issues
Sniffing
Spoofing
Protecting our edge analytics applications
Passwords and updates
Cross-site scripting and phishing attack prevention
Physical security
Using SSL certificates
Azure Security Center for IoT
Monitoring and auditing our edge analytics applications
Monitoring our edge analytics applications
Taking an audit of our edge analytics devices
Summary
Questions
Further reading
Chapter 10: What Next?
Recapping what we have learned about edge analytics
Chapter 1
Chapter 2
Chapter 3
Chapter 4
Chapter 5
Chapter 6
Chapter 7
Chapter 8
Chapter 9
Looking at the future of edge analytics
A day in the life of Oliver
What will your future be like?
Other Books You May Enjoy
Index