Muutke küpsiste eelistusi

E-raamat: LTE Cellular Narrowband Internet of Things (NB-IoT): Practical Projects for the Cloud and Data Visualization [Taylor & Francis e-raamat]

  • Formaat: 352 pages, 13 Tables, black and white; 100 Illustrations, black and white
  • Ilmumisaeg: 29-Apr-2021
  • Kirjastus: CRC Press
  • ISBN-13: 9781003120018
  • Taylor & Francis e-raamat
  • Hind: 166,18 €*
  • * hind, mis tagab piiramatu üheaegsete kasutajate arvuga ligipääsu piiramatuks ajaks
  • Tavahind: 237,40 €
  • Säästad 30%
NB-IoT is the Internet of Things (IoT) technology used for cellular communication. NB-IoT devices deliver much better capability and performance, such as: increased area coverage of up to one kilometer; a massive number of devicesup to 200,000per a single base-station area; longer battery lifetime of ten years; and better indoor and outdoor coverage for areas with weak signal, such as underground garages.

The cellular NB-IoT technology is a challenging technology to use and understand. With more than 30 projects presented in this book, covering many use cases and scenarios, this book provides hands-on and practical experience of how to use the cellular NB-IoT for smart applications using Arduino, Amazon Cloud, Google Maps, and charts.

The book starts by explaining AT commands used to configure the NB-IoT modem; data serialization and deserialization; how to set up the cloud for connecting NB-IoT devices; setting up rules, policy, security certificates, and a NoSQL database on the cloud; how to store and read data in the cloud; how to use Google Maps to visualize NB-IoT device geo-location; and how to use charts to visualize sensor datasets.

Projects for Arduino are presented in four parts. The first part explains how to connect the device to the mobile operator and cellular network; perform communication using different network protocols, such as TCP, HTTP, SSL, or MQTT; how to use GPS for geo-location applications; and how to upgrade NB-IoT modem firmware over the air. The second part explains the microcontroller unit and how to build and run projects, such as a 7-segment display or a real-time clock. The third part explains how NB-IoT can be used with sensor devices, such as ultrasonic and environmental sensors. Finally, the fourth part explains how NB-IoT can be used to control actuators, such as stepper motors and relays.

This book is a unique resource for understanding practical uses of the NB-IoT technology and serves as a handbook for technical and non-technical readers who are looking for practicing and exercising the cellular NB-IoT technology. The book can be used by engineers, students, researchers, system integrators, mobile operators technical staff, and electronics enthusiasts.

To download the software which can be used with the book, go to:

https://github.com/5ghub/NB-IoT

About the Author:

Hossam Fattah is a technology expert in 4G/5G wireless systems and networking. He received his Ph.D. in Electrical and Computer Engineering from University of British Columbia, Vancouver, Canada in 2003. He received his Master of Applied Science in Electrical and Computer Engineering from University of Victoria, Victoria, Canada in 2000. He completed his B.Sc. degree in Computers and Systems Engineering from Al-Azhar University, Cairo, Egypt in 1995. Between 2003 and 2011, he was in academia and industry, including Texas A&M University. Between 2011 and 2013, he was with Spirent Communications, NJ, USA. Since 2013, he has been with Microsoft, USA. He is also an affiliate associate professor at University of Washington, Tacoma, WA, USA, teaching graduate courses on IoT and distributed systems and collaborating on 5G research and innovations. He has had many patents and technical publications in conferences and journals. He is a registered professional Engineer with the Association of Professional Engineers, British Columbia, Canada. He is the author of the recent book 5G LTE Narrowband Internet of Things (NB-IoT). His research interest is in wireless communications and radio networks and protocols, cellular quality of service, radio resource management, traffic and packet scheduling, network analytics, and mobility.
Preface vii
Acknowledgements xi
List of Listings
xxv
1 About This Book
1(6)
1.1 Organization of the Book
1(6)
1.1.1 How to Read This Book
2(1)
1.1.2 Software and Hardware Tools Used in This Book
3(1)
1.1.3 Conventions Used in the Book
4(1)
1.1.4 Security Keys and Certificates
4(1)
1.1.5 Hardware Parts
5(1)
1.1.6 Feedback of the Book
5(2)
2 LTE Cellular Narrowband Internet of Things (NB-IoT)
7(16)
2.1 4G and 5G System
7(1)
2.2 LTE Cellular Narrowband Internet of Things (NB-IoT)
8(1)
2.3 NB-IoT Applications and Scenarios
9(1)
2.3.1 NB-IoT Sensors
9(1)
2.3.2 NB-IoT Actuators
10(1)
2.4 NB-IoT Core Network
10(1)
2.5 Message Queue Telemetry Transport (MQTT)
10(3)
2.5.1 Publish/Subscribe Model 11
1(11)
2.5.2 Topic and Subscription
12(1)
2.5.3 Retained Messages
12(1)
2.5.4 Will
12(1)
2.5.5 Quality of Service Levels
13(1)
2.6 5G New Radio (NR)
13(2)
2.7 Case Study for Smart City: City of Coral Gables, Florida
15(5)
2.7.1 IoT Use Cases in the Smart City Hub
18(1)
2.7.2 Smart City Hub IoT Dashboard
19(1)
2.8 Commercial NB-IoT Modems
20(3)
3 Installing and Setting up Hardware and Software
23(8)
3.1 NB-IoT Hardware Board and Software
23(1)
3.2 Installing Arduino IDE and NB-IoT Hardware Board Package
24(1)
3.3 Installing Library
25(1)
3.4 Setting up the NB-IoT Hardware Board
26(1)
3.5 Arduino Serial Monitor
27(4)
4 Microcontroller and NB-IoT Modem Units
31(12)
4.1 Microcontroller Unit (MCU)
31(1)
4.2 Quectel BG96 LTE Cellular NB-IoT Modem
32(1)
4.3 Key Features of the NB-IoT Hardware Board for Arduino
32(5)
4.4 Inside NB-IoT Hardware Board for Arduino
37(5)
4.5 Connecting the NB-IoT Hardware Board to the Computer
42(1)
5 AT Commands
43(26)
5.1 AT Command Syntax
44(1)
5.2 General Commands
45(1)
5.3 Status Control Commands
46(2)
5.4 Network Commands
48(2)
5.5 Packet Domain Commands
50(1)
5.6 TCP/IP Commands
50(2)
5.7 SSL Commands
52(4)
5.8 MQTT Commands
56(3)
5.9 HTTP Commands
59(2)
5.10 File Commands
61(2)
5.11 GNSS Commands
63(1)
5.12 Firmware Update Commands
64(1)
5.13 Mobile Operator Configuration
65(1)
5.14 Arduino Sketch
66(3)
6 Data Serialization and Deserialization
69(18)
6.1 JavaScript Object Notation (JSON) Format
69(1)
6.2 JSON Serialization
70(1)
6.3 JSON Library for Arduino
70(1)
6.4 Arduino Sketch with JSON
71(2)
6.5 Concise Binary Object Representation (CBOR) Format
73(1)
6.6 Data Item in CBOR
74(3)
6.7 Major Type 0 (Unsigned Integer)
77(1)
6.8 Major Type 1 (Signed Integer)
77(1)
6.9 Major Type 2 (Byte Strings)
78(1)
6.10 Major Type 3 (Text Strings)
78(1)
6.11 Major Type 4 (Arrays)
78(1)
6.12 Major Type 5 (Maps)
79(1)
6.13 Major Type 7 (Floating-Point Number)
79(1)
6.14 CBOR Compact Data Size
80(1)
6.15 Arduino Sketch with CBOR
81(3)
6.16 JSON versus CBOR
84(3)
7 Amazon Web Services for IoT Devices (AWS IoT)
87(32)
7.1 AWS IoT Device Management and Configuration
88(1)
7.2 Registering the Thing
89(1)
7.3 Creating Security Certificates
89(6)
7.4 Creating Policy
95(4)
7.5 Creating Rule
99(4)
7.6 Creating DynamoDB
103(4)
7.7 Arduino Client Sketch with AWS IoT
107(8)
7.8 AWS IoT Device Communication and Testing
115(4)
8 Data Visualization
119(20)
8.1 Accessing AWS DynamoDB Data
119(1)
8.2 Setting AWS Credentials and Region
119(1)
8.3 Using Node.js and JavaScript APIs for AWS SDK
120(1)
8.4 Read Single Records in DynamoDB
121(1)
8.5 JavaScript for Reading the DynamoDB
121(1)
8.6 Read All Records in DynamoDB
122(3)
8.7 Visualizing GPS Geo-Location Using Google Maps
125(6)
8.7.1 Get the Google Maps API
125(1)
8.7.2 Initializing Google Maps Using JavaScript API
126(1)
8.7.3 Retrieving the GPS location from the DynamoDB
127(2)
8.7.4 Displaying the GPS Geo-Location in a Web Browser
129(2)
8.8 Data Visualization Using Charts
131(8)
8.8.1 Installing Chart.js Library
131(1)
8.8.2 Prepare an Area in Web Page to Render Chart
131(1)
8.8.3 Reading and Preparing the Data from DynamoDB
132(1)
8.8.4 Draw the Bar Chart
133(1)
8.8.5 Create Complete Web Page
133(3)
8.8.6 Rendering the Chart
136(3)
I Networking
139(48)
9 Turning on the Modem
141(8)
9.1 Hardware and Software Component Required
141(1)
9.2 Setup Steps and Diagram
141(1)
9.3 Arduino Sketch
142(7)
10 Transmission Control Protocol (TCP)
149(6)
10.1 Hardware Setup, Steps, and Diagram
149(1)
10.2 Arduino Sketch
149(6)
11 Secure Socket Layer (SSL) Connection
155(6)
11.1 Hardware Setup, Steps, and Diagram
155(1)
11.2 Arduino Sketch
155(6)
12 Message Queue Telemetry Transport (MQTT)
161(6)
12.1 Hardware Setup, Steps, and Diagram
161(1)
12.2 Arduino Sketch
161(6)
13 Location and GPS Tracking
167(8)
13.1 Hardware Setup, Steps, and Diagram
167(1)
13.2 Arduino Sketch
167(1)
13.3 Arduino Sketch
168(3)
13.4 Interface with the Cloud
171(4)
14 Hypertext Transfer Protocol (HTTP)
175(6)
14.1 Hardware Setup, Steps, and Diagram
175(1)
14.2 Arduino Sketch
175(6)
15 NB-IoT Modem Firmware Update
181(6)
15.1 Hardware Setup, Steps, and Diagram
181(1)
15.2 Arduino Sketch
181(6)
II Microcontroller
187(72)
16 RGB LED
189(8)
16.1 Hardware Component Required
189(1)
16.2 Circuit Operation
189(3)
16.3 Schematic Diagram
192(1)
16.4 Breadboard Diagram
193(1)
16.5 Arduino Sketch
194(3)
17 Making Sound Using Active Buzzer
197(4)
17.1 Hardware Component Required
197(1)
17.2 Circuit Operation
197(1)
17.3 Schematic Diagram
198(1)
17.4 Breadboard Diagram
199(1)
17.5 Arduino Sketch
199(2)
18 Making Sound Using Passive Buzzer
201(4)
18.1 Hardware Component Required
201(1)
18.2 Circuit Operation
201(1)
18.3 Schematic Diagram
202(1)
18.4 Breadboard Diagram
203(1)
18.5 Arduino Sketch
204(1)
19 Keypad Switch
205(6)
19.1 Hardware Component Required
205(1)
19.2 Circuit Operation
205(2)
19.3 Schematic Diagram
207(1)
19.4 Breadboard Diagram
207(1)
19.5 Arduino Sketch
208(3)
20 Push Button
211(6)
20.1 Hardware Component Required
211(1)
20.2 Circuit Operation
211(2)
20.3 Schematic Diagram
213(1)
20.4 Breadboard Diagram
214(1)
20.5 Arduino Sketch
215(2)
21 Analog Joystick
217(6)
21.1 Hardware Component Required
217(1)
21.2 Circuit Operation
217(2)
21.3 Schematic Diagram
219(1)
21.4 Breadboard Diagram
220(1)
21.5 Arduino Sketch
221(2)
22 Infra-Red (IR) Receiver
223(6)
22.1 Hardware Component Required
223(1)
22.2 Circuit Operation
223(2)
22.3 Schematic Diagram
225(1)
22.4 Breadboard Diagram
226(1)
22.5 Arduino Sketch
226(3)
23 Radio Frequency Identification
229(8)
23.1 Hardware Component Required
229(1)
23.2 Circuit Operation
229(3)
23.3 Schematic Diagram
232(1)
23.4 Breadboard Diagram
232(2)
23.5 Arduino Sketch
234(3)
24 Eight LED and Shift Register
237(10)
24.1 Hardware Component Required
237(1)
24.2 Circuit Operation
237(2)
24.3 Schematic Diagram
239(1)
24.4 Breadboard Diagram
240(1)
24.5 Arduino Sketch
241(1)
24.6 Arduino Sketch Using the Serial Monitor
242(5)
25 Seven-Segment Display
247(6)
25.1 Hardware Component Required
247(1)
25.2 Circuit Operation
247(2)
25.3 Schematic Diagram
249(1)
25.4 Breadboard Diagram
249(1)
25.5 Arduino Sketch
250(3)
26 Real-Time Clock
253(6)
26.1 Hardware Component Required
253(1)
26.2 Circuit Operation
254(1)
26.3 Schematic Diagram
255(1)
26.4 Breadboard Diagram
256(1)
26.5 Arduino Sketch
256(3)
III Sensors
259(58)
27 Tilt Sensor Switch
261(6)
27.1 Hardware Component Required
261(1)
27.2 Circuit Operation
261(1)
27.3 Schematic Diagram
262(1)
27.4 Breadboard Diagram
263(1)
27.5 Arduino Sketch
263(1)
27.6 Interface with the Cloud
264(3)
28 Photocell
267(6)
28.1 Hardware Component Required
267(1)
28.2 Circuit Operation
267(1)
28.3 Schematic Diagram
268(1)
28.4 Breadboard Diagram
269(1)
28.5 Arduino Sketch
270(1)
28.6 Interface with the cloud
271(2)
29 Ultrasonic Sensor
273(8)
29.1 Hardware Component Required
273(1)
29.2 Circuit Operation
273(2)
29.3 Schematic Diagram
275(1)
29.4 Breadboard Diagram
276(1)
29.5 Arduino Sketch
276(2)
29.6 Interface with the Cloud
278(3)
30 Temperature and Humidity Sensor
281(8)
30.1 Hardware Component Required
281(1)
30.2 Circuit Operation
281(1)
30.3 Schematic Diagram
282(1)
30.4 Breadboard Diagram
283(1)
30.5 Arduino Sketch
283(3)
30.6 Interface with the Cloud
286(3)
31 Water Level Detection Sensor
289(6)
31.1 Hardware Component Required
289(1)
31.2 Circuit Operation
289(1)
31.3 Schematic Diagram
290(1)
31.4 Breadboard Diagram
291(1)
31.5 Arduino Sketch
291(2)
31.6 Interface with the Cloud
293(2)
32 Microphone Sound Sensor
295(6)
32.1 Hardware Component Required
295(1)
32.2 Circuit Operation
296(1)
32.3 Schematic Diagram
296(1)
32.4 Breadboard Diagram
297(1)
32.5 Arduino Sketch
297(2)
32.6 Interface with the Cloud
299(2)
33 Thermometer
301(8)
33.1 Hardware Component Required
301(1)
33.2 Circuit Operation
301(2)
33.3 Schematic Diagram
303(1)
33.4 Breadboard Diagram
304(1)
33.5 Arduino Sketch
304(1)
33.6 Interface with the Cloud
305(4)
34 Gyroscope Sensor
309(8)
34.1 Hardware Component Required
309(1)
34.2 Circuit Operation
309(2)
34.3 Schematic Diagram
311(1)
34.4 Breadboard Diagram
312(1)
34.5 Arduino Sketch
312(2)
34.6 Interface with the Cloud
314(3)
IV Actuators
317(31)
35 Servo Motor
319(6)
35.1 Hardware Component Required
319(1)
35.2 Schematic Diagram
319(2)
35.3 Breadboard Diagram
321(1)
35.4 Arduino Sketch
321(1)
35.5 Interface with the Cloud
322(3)
36 Stepper Motor
325(12)
36.1 Hardware Component Required
325(1)
36.2 Circuit Operation
326(3)
36.3 Schematic Diagram
329(1)
36.4 Breadboard Diagram
329(1)
36.5 Arduino Sketch
330(1)
36.6 Interface with the Cloud
331(3)
36.7 Controlling Stepper Motor with Remote
334(1)
36.8 Schematic Diagram
334(1)
36.9 Breadboard Diagram
334(1)
36.10 Arduino Sketch
335(2)
37 Relay
337(6)
37.1 Hardware Component Required
337(1)
37.2 Circuit Operation
337(1)
37.3 Schematic Diagram
338(1)
37.4 Breadboard Diagram
339(1)
37.5 Arduino Sketch
339(1)
37.6 Interface with the Cloud
340(3)
38 Hardware Parts
343(5)
References 348(1)
Index 349
Hossam Fattah is a technology expert in 4G/5G wireless systems and networking. He received his Ph.D. in Electrical and Computer Engineering from University of British Columbia, Vancouver, Canada in 2003. He received his Master of Applied Science in Electrical and Computer Engineering from University of Victoria, Victoria, Canada in 2000. He completed his B.Sc. degree in Computers and Systems Engineering from Al-Azhar University, Cairo, Egypt in 1995. Between 2003 and 2011, he was in academia and industry, including Texas A&M University. Between 2011 and 2013, he was with Spirent Communications, NJ, USA. Since 2013, he has been with Microsoft, USA. He is also an affiliate associate professor at University of Washington, Tacoma, WA, USA, teaching graduate courses on IoT and distributed systems and collaborating on 5G research and innovations. He has had many patents and technical publications in conferences and journals. He is a registered professional Engineer with the Association of Professional Engineers, British Columbia, Canada. He is the author of the recent book 5G LTE Narrowband Internet of Things (NB-IoT). His research interest is in wireless communications and radio networks and protocols, cellular quality of service, radio resource management, traffic and packet scheduling, network analytics, and mobility.