As this ebook edition doesn't have fixed pagination, the page numbers below are hyperlinked for reference only, based on the printed edition of this book.
A
ACK packet 46
Adafruit_BMP280
reference link 125
Adafruit IO 212
ADC (analog-to-digital converter ) 123
ADC pins 69
air quality monitoring system 211-213
Amazon Web Services (AWS)
IoT services 214
Apache
Arduino-based C programming 70
Arduino IDE setup
for ESP32 development board 77, 78
for NodeMCU development board 70-73
ArduinoJSON library 225
AWS account
reference link 216
AWS IoT Core
about 214
reference link 216
AWS IoT Core project
working with 215
AWS IoT Device Defender 214
AWS IoT Device Management 214
AWS IoT Greengrass 214
B
BearSSL WiFi Classes
reference link 225
BMP280 temperature and pressure sensor
about 122
characteristics 123
broker 5
C
CCS811 air quality sensor
about 123
modes of operation 124
reference link 125
client 5
connect acknowledgment (CONNACK) packet
acknowledgment flags 59
fixed header 58
message 46
returnCode 46
return code 59
sessionPresent 46
CONNECT message 43
CONNECT packet
flags 44
payload 58
control panel 93
control pins 69
CSR file 218
D
DHT11 temperature and humidity sensor
reference link 125
Digital Ocean
reference link 195
setting up 195
Digital to Analog (DAC) converter pins 76
Disconnect-Request packet 63
Droplet
about 196
MQTT broker, setting up 201-204
DUP flag 48
E
Enable pin 69
enterprise cloud platforms
providing, IoT services 213
ESP32-based development board
technical specifications 75
ESP8266-based NodeMCU development board
about 66
technical specifications 67
F
flow 93
FreeRTOS 214
G
Google Cloud Platform (GCP)
IoT Core service, components 215
GParted
used, for formatting SD card 15
GPIO pinout 67
GPIO pins 69
ground pins 68
H
hardware requirements and setup, smart home control relay system
5V Hi-Link power supply 154
5V non-latching relay 153
about 151
ESP32 development board 152
ESP32 development board, features 152
miscellaneous components 154, 155
PCB design and circuit 155-158
HiveMQ Cloud
about 180
online MQTT broker, setting up 180-187
reference link 181
HiveMQ WebSocket client
reference link 192
Home Assistant
about 233
advantages 233
reference link 235
home automation system 210, 211
home screen, Node-RED crash course
control panel 93
node palette 93
workspace 93
Honeywell HPM Particle Sensor 211
HTTP POST API 47
Hypertext Preprocessor (PHP)
I
I2C communication interface 69
I2C (Inter-Integrated Circuit) communication protocol 123
IF This Then That (IFTTT) 94
Internet of Things (IoT) 78
IoT cloud platforms
about 214
Amazon Web Services (AWS) 214
Google Cloud Platform (GCP) 214, 215
IoT services
enterprise cloud platforms, providing 213
IoT system architecture
Application Layer 214
Hardware Layer 213
Middleware Layer 214
Network Layer 214
IoT Weather Station project
BMP280 temperature and pressure sensor 122, 123
CCS811 air quality sensor 123, 124
DHT11 temperature and humidity sensor 121, 122
email alerts functionality 141-148
hardware requisites 120
NodeMCU development board 121
Node-RED, starting 134
Raspberry Pi setup 134
sensor interfacing 124
L
LAMP server
PHP installation and setup 237-239
phpMyAdmin installation 240-243
Raspberry Pi OS, updating 235
least significant bit (LSB) 50
Linux Apache MySQL PHP/Python/Pearl (LAMP) 235
Lua programming language 70
M
MariaDB
installing 239
Message Queuing Telemetry Transport (MQTT)
about 4
components 6
concepts 4
CONNACK packet 58
CONNECT packet 56
functionality 6
publish/subscribe protocol 4, 5
SUBSCRIBE and SUBACK packets 59
working 4
working, practical demonstration 52
Mosquitto
about 35
download link 54
most significant bit (MSB) 50
MQTT broker
advantages 178
clients packages 35
installing 35
MQTT client, connecting to 42, 43
setting up 35
setting up, on Droplet 201-204
subscriber/publisher connecting to and sending message through 52-56
virtual server 195
MQTT client
NodeMCU as 78
MQTT control packets 42
MQTT Control Packet Type 48
MQTT example
broker 5
publisher 5
subscriber 5
MQTT messages 40
MQTT protocol packet structure
about 43
CONNACK packet 46
PUBLISH packet 47
SUBSCRIBE packet 47
MQTT topics
about 41
single-level wildcards 41
multiplexed pins 68
N
node 93
NodeMCU
as MQTT client 78
setting up 106
NodeMCU, code explanation
about 106
Arduino codes loop function 110
Arduino code’s setup function 109
callback function, for handling MQTT subscribed topics 107, 108
credentials and variable declarations 106
MQTT reconnect function 108, 109
required libraries importing 106
Wi-Fi setup function 107
NodeMCU development board
about 121
features 121
NodeMCU development board setup
NodeMCU LED
controlling, from Node-RED dashboard 105
hardware requirements 105
software requirements 105, 106
node package manager (npm) 103
node palette 93
Node-RED
demonstration 88
running, on Raspberry Pi 90
setting up 88
URL 87
Node-RED crash course
about 91
additional feature 94
flow 93
Hello World flow, creating 94-96
LED connected, controlling to Raspberry Pi through Node-RED 97-99
node 93
Node-RED dashboard
reference link 102
used, for controlling NodeMCU LED 105
Node-RED flow
creating to test online MQTT broker 187-191
Node-RED MQTT components
setting up 99
Node-RED MQTT dashboard
setting up 99
Node-RED MQTT nodes
mqtt in node 100
mqtt out node 100
parameters 100
O
online MQTT broker
Node-RED flow, creating to test 187-191
setting up, on Hive MQ Cloud 180-187
OS image
flashing, onto SD card 20
P
Packet Identifier 50
particulate matter 211
phpMyAdmin
Power over Ethernet (PoE) 9
power pins 68
project enhancement
development, of mobile application 173
global MQTT broker, adding 174
hardware enhancement 171
project ideas
about 210
air quality monitoring system 211-213
home automation system 210, 211
publisher 5
PUBLISH packet
about 47
components 47
publish/subscribe protocol 4
Pulse Width Modulation (PWM) pins 69
PuTTY
about 202
URL 203
Q
QoS flag 48
Quality of Service (QoS) 42
R
Raspberry Pi
about 7
dashboard layout setup 110-112
Node-RED, running 90
VNC (Virtual Network Computing), setting up 29-35
Raspberry Pi Imager software
about 20
downloading 20
download link 20
Raspberry Pi Model 4B
about 8
operating systems 10
RealVNC Server software 30
Remote Frame Buffer (RFB) protocol 30
Reset pin 69
Retain flag 48
S
SD card
formatting, in Linux systems 15-20
OS image, flashing onto 20
setting up, for Raspberry Pi 12-15
SD Card Formatter software 12
SD Card Formatter software, for macOS
reference link 12
SD Card Formatter software, for Windows
reference link 12
SDIO interface 69
SDS011 sensor 212
SensVN pins 77
SensVP pins 77
Serial Peripheral Interface (SPI) pins 69, 77
single-level wildcards 41
smart home control relay system
hardware requirements and setup 151
project code, writing on ESP32 board 158-164
solid state relays (SSR) 153
SSH keys
reference link 200
SSH (Secure Shell)
about 29
working 29
Subscribe Ack packet 60
SUBSCRIBE packet
subscriber 5
T
thing 217
ThingSpeak 212
time.h file 225
touch sensor 77
U
UART channels 76
UART pins 69
V
Virtual Network Computing (VNC)
setting up, for Raspberry Pi 30-34
VNC Viewer
download link 33
volatile organic compounds (VOCs) 123
W
Wake pin 69
WiFiClientSecure.h file 225
wildcards 41
Will Message 44
Wireshark 52
workspace 93
X
XTAL pins 77
3.141.30.162