How to Use This Book xiii
1 What are Wireless Sensor Networks? 1
1.1 Wireless Sensor Networks 1
1.2 Sample Applications Around the World 3
1.3 Types of Wireless Sensor Networks 7
Summary 10
Further Reading 10
2 Anatomy of a Sensor Node 11
2.1 Hardware Components 11
2.2 Power Consumption 13
2.3 Operating Systems and Concepts 15
2.3.1 Memory Management 17
2.3.2 Interrupts 23
2.3.3 Tasks Threads and Events 24
2.4 Simulators 26
2.5 Communication Stack 28
2.5.1 Sensor Network Communication Stack 28
2.5.2 Protocols and Algorithms 30
Anatomy of a Sensor Node: Summary 30
Further Reading 30
3 Radio Communications 33
3.1 Radio Waves and Modulation/Demodulation 33
3.2 Properties of Wireless Communications 36
3.2.1 Interference and Noise 37
3.2.2 Hidden Terminal Problem 38
3.2.3 Exposed Terminal Problem 39
3.3 Medium Access Protocols 39
3.3.1 Design Criteria for Medium Access Protocols 41
3.3.2 Time Division Multiple Access 42
3.3.3 Carrier Sense Multiple Access 45
3.3.4 Sensor MAC 48
3.3.5 Berkeley MAC 50
3.3.6 Optimizations of B-MAC 51
3.3.7 Other Protocols and Trends 51
Radio Communications: Summary 53
Questions and Exercises 53
Further Reading 54
4 Link Management 57
4.1 Wireless Links Introduction 57
4.2 Properties of Wireless Links 59
4.2.1 Links and Geographic Distance 59
4.2.2 Asymmetric Links 60
4.2.3 Link Stability and Burstiness 61
4.3 Error Control 62
4.3.1 Backward Error Control 62
4.3.2 Forward Error Control 63
4.4 Naming and Addressing 64
4.4.1 Naming 64
4.4.2 Addressing 65
4.4.3 Assignment of Addresses and Names 65
4.4.4 Using Names and Addresses 66
4.5 Link Estimation Protocols 66
4.5.1 Design Criteria 66
4.5.2 Link Quality Based 67
4.5.3 Delivery Rate Based 68
4.5.4 Passive and Active Estimators 69
4.5.5 Collection Tree Protocol 69
4.6 Topology Control 71
4.6.1 Centralized Topology Control 71
4.6.2 Distributed Topology Control 72
Link Management: Summary 73
Questions and Exercises 73
Further Reading 74
5 Multi-Hop Communications 77
5.1 Routing Basics 77
5.2 Routing Metrics 80
5.2.1 Location and Geographic Vicinity 80
5.2.2 Hops 81
5.2.3 Number of Retransmissions 82
5.2.4 Delivery Delay 83
5.3 Routing Protocols 84
5.3.1 Full-Network Broadcast 85
5.3.2 Location-Based Routing 87
5.3.3 Directed Diffusion 90
5.3.4 Collection Tree Protocol 92
5.3.5 Zigbee 94
Multi-Hop Communications: Summary 95
Questions and Exercises 96
Further Reading 96
6 Data Aggregation and Clustering 99
6.1 Clustering Techniques 99
6.1.1 Random Clustering 101
6.1.2 Nearest Sink 102
6.1.3 Geographic Clustering 103
6.1.4 Clustering Summary 104
6.2 In-Network Processing and Data Aggregation 104
6.2.1 Compression 104
6.2.2 Statistical Techniques 107
6.3 Compressive Sampling 109
Data Aggregation and Clustering: Summary 110
Questions and Exercises 111
Further Reading 111
7 Time Synchronization 113
7.1 Clocks and Delay Sources 113
7.2 Requirements and Challenges 114
7.3 Time Synchronization Protocols 117
7.3.1 Lightweight Tree Synchronization 117
7.3.2 Reference Broadcast Synchronization 118
7.3.3 NoTime Protocol 118
Time Synchronization: Summary 120
Questions and Exercises 121
Further Reading 121
8 Localization Techniques 123
8.1 Localization Challenges and Properties 123
8.1.1 Types of Location Information 124
8.1.2 Precision Against Accuracy 125
8.1.3 Costs 125
8.2 Pre-Deployment Schemes 126
8.3 Proximity Schemes 126
8.4 Ranging Schemes 128
8.4.1 Triangulation 129
8.4.2 Trilateration 129
8.5 Range-Based Localization 129
8.6 Range-Free Localization 130
8.6.1 Hop-Based Localization 130
8.6.2 Point in Triangle (PIT) 131
Localization: Summary 132
Questions and Exercises 133
Further Reading 133
9 Sensing Techniques 135
9.1 Types of Sensors 135
9.2 Sensing Coverage 136
9.3 High-Level Sensors 137
9.4 Special Case: The Human As a Sensor 138
9.5 Actuators 138
9.6 Sensor Calibration 139
9.7 Detecting Errors 140
Sensing Techniques: Summary 141
Questions and Exercises 141
10 Designing and Deploying WSN Applications 143
10.1 Early WSN Deployments 143
10.1.1 Murphy Loves Potatoes 144
10.1.2 Great Duck Island 144
10.2 General Problems 145
10.2.1 Node Problems 146
10.2.2 Link/Path Problems 147
10.2.3 Global Problems 148
10.3 General Testing and Validation 149
10.4 Requirements Analysis 151
10.4.1 Analyzing the Environment 151
10.4.2 Analyzing Lifetime and Energy Requirements 153
10.4.3 Analyzing Required Data 153
10.4.4 Analyzing User Expectations 154
10.5 The Top-Down Design Process 154
10.5.1 The Network 154
10.5.2 The Node Neighborhood 155
10.5.3 The Node 156
10.5.4 Individual Components of the Node 156
10.6 Bottom-Up Implementation Process 157
10.6.1 Individual Node-Level Modules 158
10.6.2 The Node As an Entity 159
10.6.3 The Network As an Entity 159
Designing and Deploying WSN Applications: Summary 160
Further Reading 160
11 Summary and Outlook 163
Index 167