About the Author |
|
xi | |
About the Technical Reviewer |
|
xiii | |
Acknowledgments |
|
xv | |
Introduction |
|
xvii | |
|
Chapter 1 Introduction to Raspberry Pi |
|
|
1 | (22) |
|
|
2 | (7) |
|
Inside the Raspberry Pi Board |
|
|
3 | (1) |
|
|
4 | (1) |
|
|
5 | (4) |
|
|
9 | (6) |
|
|
11 | (4) |
|
Headless Setup for the Pi |
|
|
15 | (6) |
|
Accessing the Remote Desktop |
|
|
17 | (4) |
|
|
21 | (2) |
|
Chapter 2 Controlling Raspberry Pi GPIO |
|
|
23 | (28) |
|
|
24 | (7) |
|
Raspberry Pi Pin Numbering |
|
|
24 | (3) |
|
|
27 | (4) |
|
Python Program: Blinking an LED |
|
|
31 | (5) |
|
|
36 | (1) |
|
|
37 | (3) |
|
|
40 | (2) |
|
|
42 | (5) |
|
Automating Scripts and Tasks |
|
|
47 | (1) |
|
|
48 | (3) |
|
Chapter 3 Getting Started with Web Automation |
|
|
51 | (26) |
|
Web-Based Home Automation |
|
|
52 | (4) |
|
|
52 | (2) |
|
|
54 | (2) |
|
Creating a Simple Web Server |
|
|
56 | (2) |
|
Creating a Home Automation Web Server |
|
|
58 | (12) |
|
Understanding IoT Protocols |
|
|
65 | (5) |
|
Installing Mosquitto MQTT Broker |
|
|
70 | (6) |
|
|
70 | (2) |
|
Controlling GPIOs Using MQTT |
|
|
72 | (4) |
|
|
76 | (1) |
|
Chapter 4 Mesh Networking Using ESP and RPi |
|
|
77 | (48) |
|
|
78 | (2) |
|
How Does a Mesh Network Work? |
|
|
79 | (1) |
|
|
79 | (1) |
|
Mesh Networking Using ESP Modules |
|
|
80 | (20) |
|
|
81 | (19) |
|
MQTT Communication Between ESP and Raspberry Pi |
|
|
100 | (2) |
|
|
102 | (16) |
|
|
110 | (2) |
|
|
112 | (6) |
|
|
118 | (4) |
|
|
122 | (3) |
|
Chapter 5 Designing Smart Controller Circuits |
|
|
125 | (38) |
|
|
126 | (2) |
|
Designing the Printed Circuit Board (PCB) |
|
|
128 | (7) |
|
|
129 | (2) |
|
|
131 | (4) |
|
|
135 | (1) |
|
|
136 | (4) |
|
|
140 | (11) |
|
|
144 | (4) |
|
WiFi-Enabled Smart Switch/Plug |
|
|
148 | (3) |
|
AC Fan and Bulb Dimmer Circuit |
|
|
151 | (4) |
|
Zero-Crossing Detection Method |
|
|
152 | (3) |
|
|
155 | (5) |
|
Energy Monitoring Circuit |
|
|
156 | (2) |
|
Electric/Capacitive Switch Connections |
|
|
158 | (1) |
|
|
159 | (1) |
|
|
160 | (3) |
|
Chapter 6 Getting Started with Home Assistant |
|
|
163 | (48) |
|
Home Automation Platforms |
|
|
164 | (2) |
|
Installing Home Assistant |
|
|
166 | (13) |
|
Setting Up Home Assistant |
|
|
169 | (3) |
|
|
172 | (4) |
|
|
176 | (3) |
|
Controlling Raspberry Pi GPIO Using Home Assistant |
|
|
179 | (2) |
|
Creating Automation in Home Assistant |
|
|
181 | (4) |
|
Controlling a Smart Switchboard Using Home Assistant |
|
|
185 | (12) |
|
|
186 | (11) |
|
ESP32-CAM Integration with Home Assistant |
|
|
197 | (8) |
|
|
198 | (2) |
|
Arduino IDE and ESP32-CAM |
|
|
200 | (3) |
|
|
203 | (2) |
|
Home Assistant and MQTT Device Interfacing |
|
|
205 | (4) |
|
|
209 | (2) |
|
Chapter 7 Getting Started with Voice Assistant |
|
|
211 | (56) |
|
What Is a Voice Assistant? |
|
|
212 | (2) |
|
How Does a Voice Assistant Work? |
|
|
213 | (1) |
|
Controlling the Raspberry Pi Using an Amazon Echo Speaker |
|
|
214 | (11) |
|
Controlling a Smart Switchboard Using an Amazon Echo Speaker |
|
|
223 | (2) |
|
Raspberry Pi Google Assistant and Alexa |
|
|
225 | (5) |
|
AlexaPi Setup and Installation |
|
|
226 | (4) |
|
Amazon Alexa and Home Assistant Integration |
|
|
230 | (3) |
|
Creating Custom Assistants with Platypush |
|
|
233 | (10) |
|
Troubleshooting the Audio |
|
|
237 | (1) |
|
|
238 | (2) |
|
Controlling the Assistant Programmatically |
|
|
240 | (3) |
|
Installing Offline Voice Assistants |
|
|
243 | (22) |
|
Setting Up and Installing the Almond Add-on |
|
|
244 | (4) |
|
Jasper: A Custom Offline Voice Assistant |
|
|
248 | (17) |
|
|
265 | (2) |
|
Chapter 8 Getting Started with OpenCV |
|
|
267 | (30) |
|
|
268 | (1) |
|
|
269 | (10) |
|
|
270 | (3) |
|
|
273 | (6) |
|
Door Locking Using Face Recognition |
|
|
279 | (11) |
|
|
280 | (3) |
|
|
283 | (2) |
|
|
285 | (5) |
|
Using Gesture Recognition Sensors |
|
|
290 | (3) |
|
|
293 | (1) |
|
|
294 | (3) |
Index |
|
297 | |