|
|
xvii | |
|
|
xxv | |
Foreword |
|
xxvii | |
Preface |
|
xxxi | |
|
|
|
|
3 | (22) |
|
|
3 | (1) |
|
|
4 | (6) |
|
|
4 | (2) |
|
|
6 | (3) |
|
1.2.3 Network reachability |
|
|
9 | (1) |
|
1.3 Layered Network Models |
|
|
10 | (5) |
|
|
10 | (4) |
|
1.3.2 Internet protocol suite |
|
|
14 | (1) |
|
|
15 | (4) |
|
1.4.1 Data link layer addressing |
|
|
15 | (1) |
|
1.4.2 Network layer addressing |
|
|
16 | (3) |
|
1.5 TCP/IP Transport layer |
|
|
19 | (6) |
|
1.5.1 Connectionless service |
|
|
20 | (1) |
|
1.5.2 Connection-oriented service |
|
|
20 | (2) |
|
|
22 | (1) |
|
|
23 | (1) |
|
|
23 | (2) |
|
2 Basics of Network Security |
|
|
25 | (23) |
|
|
25 | (2) |
|
|
27 | (1) |
|
2.3 Network Confidentiality |
|
|
28 | (2) |
|
|
30 | (5) |
|
2.4.1 Symmetric key cryptography |
|
|
31 | (3) |
|
2.4.2 Asymmetric key cryptography |
|
|
34 | (1) |
|
2.5 Message Integrity and Authenticity |
|
|
35 | (3) |
|
|
36 | (2) |
|
|
38 | (2) |
|
|
40 | (4) |
|
2.7.1 Network layer security |
|
|
40 | (1) |
|
2.7.2 Transport layer security |
|
|
41 | (2) |
|
2.7.3 Application layer security |
|
|
43 | (1) |
|
|
44 | (4) |
|
|
46 | (1) |
|
|
46 | (1) |
|
|
47 | (1) |
|
|
48 | (27) |
|
|
48 | (1) |
|
3.2 Wireless Sensor Networks |
|
|
49 | (8) |
|
3.2.1 Architectural components of WSN |
|
|
51 | (6) |
|
3.3 Machine-to-Machine Communications |
|
|
57 | (8) |
|
3.3.1 Architectural components of M2M |
|
|
60 | (5) |
|
3.4 Cyber Physical Systems |
|
|
65 | (10) |
|
3.4.1 Architectural components of CPS |
|
|
68 | (1) |
|
|
69 | (1) |
|
|
70 | (1) |
|
|
70 | (5) |
|
PART TWO INTERNET OF THINGS |
|
|
|
|
75 | (22) |
|
|
75 | (5) |
|
|
80 | (4) |
|
|
83 | (1) |
|
|
84 | (1) |
|
|
84 | (1) |
|
4.3 Enabling IoT and the Complex Interdependence of Technologies |
|
|
84 | (3) |
|
4.4 IoT Networking Components |
|
|
87 | (2) |
|
4.5 Addressing Strategies in IoT |
|
|
89 | (8) |
|
4.5.1 Address management classes |
|
|
91 | (1) |
|
4.5.2 Addressing during node mobility |
|
|
92 | (3) |
|
|
95 | (1) |
|
|
95 | (1) |
|
|
96 | (1) |
|
5 IoT Sensing and Actuation |
|
|
97 | (18) |
|
|
97 | (1) |
|
|
98 | (4) |
|
5.3 Sensor Characteristics |
|
|
102 | (1) |
|
|
103 | (1) |
|
|
104 | (2) |
|
|
104 | (1) |
|
|
105 | (1) |
|
|
105 | (1) |
|
|
106 | (1) |
|
5.6 Sensing Considerations |
|
|
106 | (2) |
|
|
108 | (1) |
|
|
109 | (2) |
|
5.8.1 Hydraulic actuators |
|
|
109 | (1) |
|
5.8.2 Pneumatic actuators |
|
|
109 | (1) |
|
|
109 | (1) |
|
5.8.4 Thermal or magnetic actuators |
|
|
110 | (1) |
|
5.8.5 Mechanical actuators |
|
|
110 | (1) |
|
|
111 | (1) |
|
5.8.7 Shape memory polymers |
|
|
111 | (1) |
|
5.9 Actuator Characteristics |
|
|
111 | (4) |
|
|
112 | (1) |
|
|
113 | (1) |
|
|
113 | (2) |
|
6 IoT Processing Topologies and Types |
|
|
115 | (13) |
|
|
115 | (2) |
|
|
116 | (1) |
|
|
116 | (1) |
|
6.2 Importance of Processing in IoT |
|
|
117 | (1) |
|
6.3 Processing Topologies |
|
|
118 | (2) |
|
|
118 | (1) |
|
6.3.2 Off-site processing |
|
|
119 | (1) |
|
6.4 IoT Device Design and Selection Considerations |
|
|
120 | (2) |
|
6.5 Processing Offloading |
|
|
122 | (6) |
|
|
123 | (1) |
|
6.5.2 Offload decision making |
|
|
124 | (1) |
|
6.5.3 Offloading considerations |
|
|
125 | (1) |
|
|
126 | (1) |
|
|
126 | (1) |
|
|
127 | (1) |
|
7 IoT Connectivity Technologies |
|
|
128 | (35) |
|
|
128 | (1) |
|
|
129 | (2) |
|
|
131 | (3) |
|
|
134 | (2) |
|
|
136 | (3) |
|
|
139 | (2) |
|
|
141 | (1) |
|
|
142 | (2) |
|
|
144 | (2) |
|
|
146 | (2) |
|
|
148 | (1) |
|
|
149 | (2) |
|
|
151 | (2) |
|
|
153 | (1) |
|
|
154 | (2) |
|
|
156 | (7) |
|
|
158 | (1) |
|
|
158 | (3) |
|
|
161 | (2) |
|
8 IoT Communication Technologies |
|
|
163 | (51) |
|
|
163 | (3) |
|
|
164 | (1) |
|
8.1.2 Constrained networks |
|
|
164 | (1) |
|
8.1.3 Types of constrained devices |
|
|
165 | (1) |
|
8.1.4 Low power and lossy networks |
|
|
165 | (1) |
|
8.2 Infrastructure Protocols |
|
|
166 | (15) |
|
8.2.1 Internet protocol version 6 (IPv6) |
|
|
166 | (4) |
|
|
170 | (1) |
|
|
171 | (2) |
|
|
173 | (3) |
|
|
176 | (2) |
|
8.2.6 Micro internet protocol (uIP) |
|
|
178 | (1) |
|
8.2.7 Nano internet protocol (nanoIP) |
|
|
179 | (1) |
|
8.2.8 Content-centric networking (CCN) |
|
|
180 | (1) |
|
|
181 | (3) |
|
|
181 | (2) |
|
8.3.2 Multicast DNS (mDNS) |
|
|
183 | (1) |
|
8.3.3 Universal plug and play (UPnP) |
|
|
183 | (1) |
|
|
184 | (16) |
|
|
185 | (2) |
|
|
187 | (1) |
|
|
188 | (3) |
|
|
191 | (2) |
|
|
193 | (2) |
|
|
195 | (1) |
|
|
196 | (2) |
|
|
198 | (2) |
|
8.5 Identification Protocols |
|
|
200 | (4) |
|
|
200 | (1) |
|
|
201 | (2) |
|
|
203 | (1) |
|
|
204 | (2) |
|
|
204 | (1) |
|
|
205 | (1) |
|
|
206 | (8) |
|
|
207 | (1) |
|
|
208 | (1) |
|
|
208 | (1) |
|
|
209 | (2) |
|
|
211 | (3) |
|
|
214 | (23) |
|
|
214 | (3) |
|
9.1.1 Taxonomy of interoperability |
|
|
216 | (1) |
|
|
217 | (11) |
|
|
217 | (1) |
|
|
218 | (2) |
|
|
220 | (1) |
|
|
221 | (2) |
|
|
223 | (1) |
|
|
224 | (2) |
|
|
226 | (2) |
|
|
228 | (9) |
|
|
228 | (1) |
|
|
229 | (1) |
|
|
230 | (1) |
|
|
231 | (1) |
|
|
231 | (1) |
|
|
232 | (1) |
|
|
232 | (1) |
|
|
233 | (4) |
|
PART THREE ASSOCIATED IOT TECHNOLOGIES |
|
|
|
|
237 | (19) |
|
|
237 | (2) |
|
|
239 | (3) |
|
10.2.1 Advantages of virtualization |
|
|
239 | (2) |
|
10.2.2 Types of virtualization |
|
|
241 | (1) |
|
|
242 | (3) |
|
10.4 Service-Level Agreement in Cloud Computing |
|
|
245 | (1) |
|
|
245 | (1) |
|
|
245 | (1) |
|
10.5 Cloud Implementation |
|
|
246 | (3) |
|
|
246 | (1) |
|
10.5.2 An open-source cloud: OpenStack |
|
|
247 | (1) |
|
10.5.3 A commercial cloud: Amazon web services (AWS) |
|
|
248 | (1) |
|
10.6 Sensor-Cloud: Sensors-as-a-Service |
|
|
249 | (7) |
|
10.6.1 Importance of sensor-cloud |
|
|
249 | (3) |
|
10.6.2 Architecture of a sensor-cloud platform |
|
|
252 | (2) |
|
|
254 | (1) |
|
|
254 | (1) |
|
|
255 | (1) |
|
11 Fog Computing and Its Applications |
|
|
256 | (15) |
|
|
256 | (4) |
|
11.1.1 Essential characteristics in fog computing |
|
|
257 | (1) |
|
|
258 | (1) |
|
11.1.3 Fog node deployment model |
|
|
259 | (1) |
|
11.2 View of a Fog Computing Architecture |
|
|
260 | (4) |
|
|
260 | (1) |
|
|
261 | (1) |
|
|
262 | (2) |
|
11.3 Fog Computing in IoT |
|
|
264 | (1) |
|
11.3.1 Importance of fog computing |
|
|
264 | (1) |
|
11.3.2 Time sensitiveness in fog computing |
|
|
265 | (1) |
|
11.4 Selected Applications of Fog Computing |
|
|
265 | (6) |
|
|
267 | (1) |
|
|
268 | (1) |
|
|
268 | (3) |
|
PART FOUR IOT CASE STUDIES AND FUTURE TRENDS |
|
|
|
|
271 | (12) |
|
|
271 | (5) |
|
12.1.1 Components of an agricultural IoT |
|
|
272 | (3) |
|
12.1.2 Advantages of IoT in agriculture |
|
|
275 | (1) |
|
|
276 | (7) |
|
12.2.1 In-situ assessment of leaf area index using IoT-based agricultural system |
|
|
276 | (2) |
|
12.2.2 Smart irrigation management system |
|
|
278 | (3) |
|
|
281 | (1) |
|
|
281 | (1) |
|
|
282 | (1) |
|
|
283 | (10) |
|
|
283 | (10) |
|
13.1.1 Components of vehicular IoT |
|
|
285 | (2) |
|
13.1.2 Advantages of vehicular IoT |
|
|
287 | (1) |
|
13.1.3 Crime assistance in a smart IoT transportation system |
|
|
288 | (3) |
|
|
291 | (1) |
|
|
291 | (1) |
|
|
292 | (1) |
|
|
293 | (13) |
|
|
293 | (7) |
|
14.1.1 Components of healthcare IoT |
|
|
295 | (3) |
|
14.1.2 Advantages and risk of healthcare IoT |
|
|
298 | (2) |
|
|
300 | (6) |
|
|
300 | (4) |
|
|
304 | (1) |
|
|
304 | (1) |
|
|
304 | (2) |
|
15 Paradigms, Challenges, and the Future |
|
|
306 | (15) |
|
|
306 | (1) |
|
15.2 Evolution of New IoT Paradigms |
|
|
307 | (3) |
|
15.2.1 Internet of battlefield things (IoBT) |
|
|
307 | (1) |
|
15.2.2 Internet of vehicles (IoV) |
|
|
307 | (1) |
|
15.2.3 Internet of underwater things (IoUT) |
|
|
308 | (1) |
|
15.2.4 Internet of drones (IoD) |
|
|
308 | (1) |
|
15.2.5 Internet of space (IoSpace) |
|
|
308 | (1) |
|
15.2.6 Internet of services (IoS) |
|
|
309 | (1) |
|
15.2.7 Internet of people (IoP) |
|
|
309 | (1) |
|
15.2.8 Internet of nano things (IoNT) |
|
|
309 | (1) |
|
15.2.9 Internet of everything (IoE) |
|
|
310 | (1) |
|
15.3 Challenges Associated with IoT |
|
|
310 | (3) |
|
|
310 | (1) |
|
|
311 | (1) |
|
|
311 | (1) |
|
15.3.4 Heterogeneous connectivity |
|
|
311 | (1) |
|
15.3.5 Communication range |
|
|
312 | (1) |
|
|
312 | (1) |
|
|
313 | (1) |
|
|
313 | (1) |
|
15.4 Emerging Pillars of IoT |
|
|
313 | (8) |
|
|
313 | (1) |
|
15.4.2 Cloud/fog/edge computing |
|
|
314 | (1) |
|
|
314 | (1) |
|
15.4.4 Artificial intelligence (AI)/Machine learning (ML) |
|
|
314 | (1) |
|
15.4.5 Cognitive communication networks |
|
|
315 | (1) |
|
15.4.6 Network function virtualization (NFV) |
|
|
315 | (1) |
|
15.4.7 Software-defined networks (SDN) |
|
|
316 | (1) |
|
|
316 | (1) |
|
|
316 | (1) |
|
|
317 | (1) |
|
|
317 | (4) |
|
|
|
16 Beginning IoT Hardware Projects |
|
|
321 | (34) |
|
16.1 Introduction to Arduino Boards |
|
|
321 | (8) |
|
16.1.1 Arduino vs. Raspberry Pi: Choosing a board |
|
|
321 | (1) |
|
16.1.2 Arduino installation and setup |
|
|
322 | (5) |
|
16.1.3 Setting up Arduino IDE for NodeMCU |
|
|
327 | (2) |
|
16.2 Writing an Arduino Sketch |
|
|
329 | (1) |
|
16.3 Hands-on Experiments with Arduino |
|
|
329 | (11) |
|
16.3.1 Printing on the serial console |
|
|
329 | (1) |
|
16.3.2 LED interface with Arduino' |
|
|
330 | (1) |
|
16.3.3 DHT Sensor interface with NodeMCU |
|
|
331 | (1) |
|
16.3.4 MQ-2 Gas sensor interface with NodeMCU |
|
|
332 | (1) |
|
16.3.5 Ultrasonic sensor interface with NodeMCU |
|
|
333 | (1) |
|
16.3.6 Obstacle detection using NodeMCU |
|
|
334 | (2) |
|
16.3.7 Servo motor interface with NodeMCU |
|
|
336 | (1) |
|
16.3.8 Relay interface with NodeMCU |
|
|
337 | (1) |
|
16.3.9 Data transmission between NodeMCU and remote server |
|
|
338 | (1) |
|
16.3.10 Pulse sensor interface with NodeMCU |
|
|
339 | (1) |
|
16.4 Introduction to Raspberry Pi Boards |
|
|
340 | (5) |
|
|
340 | (1) |
|
16.4.2 Remotely accessing the Raspberry Pi |
|
|
341 | (1) |
|
16.4.3 Introduction to Python basics |
|
|
342 | (1) |
|
16.4.4 Accessing GPIO pins |
|
|
343 | (2) |
|
16.4.5 Configuring WiFi on Raspberry Pi |
|
|
345 | (1) |
|
16.5 Hands-on Experiments with Raspberry Pi |
|
|
345 | (10) |
|
16.5.1 Printing on console/terminal |
|
|
345 | (1) |
|
|
345 | (2) |
|
16.5.3 PiCamera interface |
|
|
347 | (2) |
|
16.5.4 DHT Sensor interface |
|
|
349 | (1) |
|
16.5.5 Client-server socket programming |
|
|
350 | (1) |
|
16.5.6 Serially reading data from Arduino |
|
|
350 | (3) |
|
|
353 | (1) |
|
|
353 | (2) |
|
|
355 | |
|
|
355 | (6) |
|
|
356 | (1) |
|
|
356 | (2) |
|
|
358 | (1) |
|
|
358 | (3) |
|
17.2 Selected Algorithms in ML |
|
|
361 | (9) |
|
17.2.1 k-nearest neighbor (KNN) |
|
|
361 | (2) |
|
|
363 | (1) |
|
|
364 | (2) |
|
17.2.4 k-means clustering |
|
|
366 | (1) |
|
17.2.5 Agglomerative clustering |
|
|
367 | (1) |
|
17.2.6 Density-based spatial clustering of applications with noise (DBSCAN) clustering |
|
|
368 | (2) |
|
17.3 Performance Metrics for Evaluating ML Algorithms |
|
|
370 | |
|
|
374 | (1) |
|
|
374 | (1) |
|
|
375 | |