Muutke küpsiste eelistusi

Cellular IoT: A Practical Guide for Software Developers, Electrical Engineers, and Project Managers [Kõva köide]

(Duke University; Harvard Graduate School of Education)
  • Formaat: Hardback, 512 pages
  • Ilmumisaeg: 01-Jun-2026
  • Kirjastus: John Wiley & Sons Inc
  • ISBN-10: 1394329652
  • ISBN-13: 9781394329656
  • Kõva köide
  • Hind: 75,15 €*
  • * hind on lõplik, st. muud allahindlused enam ei rakendu
  • Tavahind: 100,20 €
  • Säästad 25%
  • See raamat ei ole veel ilmunud. Raamatu kohalejõudmiseks kulub orienteeruvalt 3-4 nädalat peale raamatu väljaandmist.
  • Kogus:
  • Lisa ostukorvi
  • Tasuta tarne
  • Tellimisaeg 2-4 nädalat
  • Lisa soovinimekirja
  • Formaat: Hardback, 512 pages
  • Ilmumisaeg: 01-Jun-2026
  • Kirjastus: John Wiley & Sons Inc
  • ISBN-10: 1394329652
  • ISBN-13: 9781394329656

Detailed, practical guidance for implementing IoT cellular network connectivity solutions for software developers and electrical engineers, and project managers.

Focusing exclusively on using cellular connectivity for IoT devices, Cellular IoT presents a flexible approach, using algorithms and software designs, to drastically reduce the complexity of interacting with a wide variety of Cellular Communication Modules (CCMs) which lie at the heart of cellular modems. Written in an accessible style, this book is one of the first to cover all practical aspects of cellular network connectivity, from network and SIM selection through to custom algorithms for detecting and recovering from a wide variety of connectivity problems, and an innovative approach to reliably manage AT commands in modern cellular modems.

This book explains the factors related to establishing and maintaining cellular connectivity including geography and topology, population density, SIM card (and connectivity provider) selection, antenna choice and placement, and CCM selection. The book also provides detailed examples and troubleshooting advice, showing how to transfer data using low-level sockets and also using a high-level protocol (HTTP), creating a brief, temporary connection for a primitive IoT device to send a small amount of data, and also establishing and maintaining a continuous cellular connection with full Internet access on powerful IoT devices running Linux.

Written by an author with considerable professional expertise and experience with cellular connectivity, Cellular IoT includes information on:

  • Platforms, tools, and debugging, covering tool-chain selection, computing/OS platforms, programming language choices, and running IoT connectivity code in a debugger
  • Cellular network basics, covering base stations, range, cell towers, tracking areas and paging, frequency and modulation, bandwidth and latency, frequency bands, and SIM cards
  • Similarities and differences across CCMs, frequency, band, Radio Access Technology (RAT), protocol and data representation, selection and consequences
  • Low-level communication protocols including transmission control protocol (TCP), user datagram protocol (UDP), point-to-point protocol (PPP), and custom hybrids for cellular IoT
  • Full coverage, for the first time, of SMS, GNSS (available in most CCMs), obtaining precise time, and utilizing the power saving functionality of Extended Discontinuous Reception (eDRX) and Power Saving Mode (PSM) available in NB-IoT, LTE Cat M and LTE Cat 1 bis CCMs
  • Entirely new and innovative software approach, Command Independent Processing (CIP), to systematically manage and execute AT commands across families of CCMs and integrating standardized (3GPP) AT commands with vendor specific ones to achieve greater software portability across CCMs.

Cellular IoT is an essential resource for software developers, hardware engineers, and project managers seeking to avoid connectivity pitfalls and be better able to diagnose and resolve newly encountered challenges in the field while drastically reducing the time required to produce reliable, IoT connectivity solutions.

Preface xix
Acknowledgement xxi

1 Introduction 1
1.1 Wireless Connectivity Alternatives 1
1.2 Goals 2
1.3 The Fundamental Problem 3
1.4 Audience 4
1.5 Recommended Reading 5
1.6 Can One Size Fit All? 6
1.7 Hardware History 6
1.8 On-the-move Connectivity Problems 7
1.9 Reference Implementations 8
1.10 Reference Microcontroller/OS Platform 9
1.11 Reference Cellular Communication Modules (CCMs) Family 11
1.12 A Few Words on Advice, Practices, and Efficiency 13
1.13 3G, 4G, 5G, and 6G 17

2 Platforms, Tools, and Debugging 19
2.1 Importance of Toolchain Selection 19
2.2 An Expanded View of the Tool Chain 21
2.3 Computing/OS Platforms 21
2.4 Programming Language Choices 23
2.5 Running the Same Code on Development Computer and IoT Device 23
2.6 Running IoT Connectivity Code in a Debugger 24

3 Cellular Network Basics 27
3.1 Standards 27
3.2 What Do Cellular Networks Do? 28
3.3 Are Cellular Networks Wireless? 29
3.4 What Is a Cell? What Is a Sector? 30
3.5 Omnidirectional Cellular Coverage 33
3.6 Cell Towers 34
3.7 How Are Cellular Networks Identified? 37
3.8 How Are IoT Devices Identified? 39
3.9 eNodeB IDs and Cell # 40
3.10 Tracking Areas and Paging 40
3.11 Frequency and Modulation 42
3.12 Spectral Efficiency 48
3.13 Error Detection 49
3.14 Error Correction 52
3.15 LTE Modulation Techniques 54
3.16 Bandwidth and Latency 57
3.17 Range 58
3.18 Frequency Bands 59
3.19 Radio Access Technologies (RAT) and Categories 61
3.20 SIM Cards 63
3.21 What Happens When a Cellular Modem Switches On? 64
3.22 Handoff (Also Called Handover) 67
3.23 Multiple Access 70
3.24 Timing Advance 70
3.25 Expressing Power 77

4 SIM/USIM Card Basics 81
4.1 Mobile Virtual Network Operators (MVNOs) 81
4.2 Size 82
4.3 Native Versus Multi-SIMs or MNO Versus MVNO 84
4.4 Home Versus Roaming Access 85
4.5 SIM Factors Affecting Price and Coverage 86
4.6 Text Messages (SMS) 91
4.7 Usage Limits 91
4.8 Firewalls 92
4.9 Replacing SIMs and/or Network Providers 94
4.10 Access Point Name (APN) 96

5 Verify Cellular Connectivity 97
5.1 Preparation 98
5.2 Try to Auto-register 101
5.3 What Can Go Wrong? 102
5.4 Modem Configuration for Auto-registration 108

6 Let's Move Some Data 111
6.1 Low-level Sockets or High-level Protocols 112
6.2 Verify ServerServer Is Running 116
6.3 Verify EchoServer Is Running 117
6.4 USB or UART? 117
6.5 AT CommandsA Troubled Past 119
6.6 Unsolicited Response Codes (URCs) 120
6.7 A Handy Modem Program 123
6.8 AT Commands Manuals 130
6.9 Communicating with the Cellular Modem 131
6.10 Getting EchoServer Information from ServerServer 134
6.11 Bouncing Data Off EchoServer 145
6.12 No Problems Is Bad Luck 151

7 Cellular Connectivity Regions 153
7.1 How Geography, Topology, and Population Density Affect Connectivity 154
7.2 Region Categories 156

8 Cellular Communication Modules (CCMs) 159
8.1 CCM Worldwide Market Share 162
8.2 Frequency Band Usage 162
8.3 Protocol Implementation 164
8.4 Similarities and Differences Across CCMs 165
8.5 Consider the Whole CCM Family 169
8.6 CCM Firmware Bugs 169
8.7 CCMs Are a Lot Like Sensors: Imprecise and Not Entirely Reliable 170

9 AT Commands (A New Approach) 171
9.1 Purpose of AT Commands 171
9.2 Problems of AT Commands 173
9.3 Traditional Solution to Executing AT Commands and Extracting Responses
175
9.4 Command Independent Processing (CIP) 179

10 CIP Design and Details 197
10.1 Pseudocode Conventions 198
10.2 A Note on Objected-orientation and Threads 199
10.3 AT Command Basics 200
10.4 Categories of Responses to AT Commands 202
10.5 Details of Command Independent Processing (CIP) 205
10.6 A "Factory Method" for Creating AtCommand Objects 208
10.7 Performing AT Commands 210
10.8 AT Commands for Multiple Modems 228

11 Geographical Coverage, Signal Strength, and Quality 243
11.1 Radio Access Technologies (RATs) 243
11.2 Cellular Network Coverage Maps 245
11.3 Signal Strength and Quality: RSSI, RSRP, RSRQ , SINR 246
11.4 Antenna Selection and Performance 251
11.5 Antenna Testing 258
11.6 Geography and Signal Strength Must Be Considered Together 259

12 Network Selection and Registration 261
12.1 Network Registration 261
12.2 Radio Access Technology (RAT) 262
12.3 Network Frequency Band Selection 264
12.4 PLMN Selection 266
12.5 How to Create Your Own User Preference List 268
12.6 Once a PLMN Is Auto-selected, Is It Always Selected? 273
12.7 Forcing the CCM Back to the PLMN Preference List 274
12.8 A Mysterious PLMN Selection Behavior 275
12.9 Troubleshooting Registration Problems 276
12.10 Anomalous Behavior 278

13 Communication Protocols TCP, UDP, and PPP 281
13.1 Internet Protocol 281
13.2 Transmission Control Protocol (TCP) 283
13.3 Considering Data Consumption 285
13.4 User Datagram Protocol (UDP) 285
13.5 TCP Pros and Cons 287
13.6 Point-to-point Protocol (PPP) 290
13.7 AT Commands for Data Transfer Are Completely Unstandardized 292
13.8 PPP on Linux 292
13.9 Alternatives to PPP 298

14 Thin Air 301
14.1 A Most Dramatic Case 302
14.2 What Was Going On? Thin Air 306
14.3 Why Did Thin Air Persist Over Hundreds of Miles? 308
14.4 How to Detect Thin Air 312
14.5 What to Do About Thin Air 313
14.6 Minimizing the Size of a Thin Air Region 313
14.7 A Hybrid UDP Protocol for Detecting Thin Air 314
14.8 Reducing (or Eliminating) Thin Air by PLMN or Band Selection 315
14.9 Putting the Hybrid Protocol to Second Use 322

15 Time and Location (GNSS) 325
15.1 Clarifying Terminology 325
15.2 Time 326
15.3 Location 328
15.4 Obtaining Time Information 331
15.5 Sources of Location Information 337
15.6 Pros and Cons of CCM's GNSS Receiver Versus Stand-alone GNSS Receiver
338
15.7 Cold Start, Warm Start, Hot Start 339
15.8 Assisted GPS 340
15.9 GNSS Antenna Selection 340
15.10 GNSS Receiver Placement 341
15.11 GNSS Accuracy and Precision 342
15.12 NMEA Sentences 346
15.13 Three Ways to Obtain Location Information 348
15.14 Understanding gpsd JSON Output 356
15.15 Writing Software to Capture and Process gpsd Output 358
15.16 GNSS Data Streamed from a CCM 359
15.17 NMEA 0183 359
15.18 Some Additional gpsd Utilities 366

16 Establishing and Maintaining a Cellular Connection 369
16.1 Modem Selection 370
16.2 Foundational Tasks 371

17 Sending and Receiving Text Messages (SMS) 379
17.1 Why Send/Receive Text Messages? 380
17.2 Cost of Text Messaging via Cellular Modem 383
17.3 Application-to-person (A2P) Messaging Is Often Regulated 384
17.4 Overview of Sending/Receiving Text Messages 385
17.5 Sending Text Messages 386
17.6 Receiving and Reading a Text Message 391
17.7 SMS with Constrained Devices 397
17.8 Integrating SMS into CIP 400

18 Power Saving Modes and Techniques 403
18.1 What Are Low-power CCMs (LP-CCMs) 404
18.2 Plenty of Power, Most of the Time 405
18.3 Low-power IoT Devices 407
18.4 Battery Capacity 408
18.5 Transmitter Power 409
18.6 Legacy (GSM) Power Consumption 410
18.7 Cellular Modem Energy Consumption 413
18.8 Network Registration StatesRRC_CONNECTED and RRC_IDLE 414
18.9 Latency 427
18.10 Using Low-power CCMCat M and NB-IoT and Cat 1 bis 429
18.11 Power Saving Mode (PSM) 431
18.12 Extended Discontinuous Reception (eDRX) 445
18.13 When to Use PSM, eDRX, or Both 454
18.14 Don't Trust the Numbers 454

A Unified Modeling Language (UML) Primer 455
A.1 Assumptions 455
A.2 UML Syntax 456
A.3 Visibility (Private, Protected, Public) 457
A.4 Attribute/Parameter/Method Names and Types 457
A.5 Class Attributes and Methods 458
A.6 Aggregation 459
A.7 Multiplicities 459
A.8 Inheritance 460
A.9 Interfaces 460
A.10 Hidden Attributes 461
A.11 Layout 462
A.12 State Diagrams 462

B 3GPP AT Commands Used in This Book 465

C The Modem Utility 469
C.1 Invoking the Modem Program 470
C.2 Flags 470
C.3 Commands 471

Glossary 479
Closing Notes 485
Index 487
Matthew A. Brenner, President, Singular IoT, VA, USA. Matt manufactures electronic equipment for vehicle tracking, a line of cellular modems, and specialized forensic equipment for RF surveying. He has developed specialized software and hardware tools, and custom communication protocols for investigating cellular connectivity anomalies, and has vast experience teaching computer science and software engineering at many levels. Matt is a member of the Scientific Working Group on Digital Evidence. He offers consulting services to help companies customize and maximize the performance of their cellular IoT devices.