Acknowledgments |
|
xi | |
Introduction |
|
xiii | |
1 Introduction to the Internet of Things |
|
1 | (36) |
|
|
2 | (1) |
|
|
3 | (2) |
|
Establishing a Raspberry Pi Development Station |
|
|
5 | (3) |
|
|
5 | (2) |
|
|
7 | (1) |
|
Setting Up the Raspberry Pi Software |
|
|
8 | (14) |
|
Setting Up the Raspberry Pi OS Using an Image File |
|
|
13 | (3) |
|
Updating and Upgrading the Raspbian Image |
|
|
16 | (1) |
|
|
16 | (3) |
|
Headless Operation with Graphics |
|
|
19 | (3) |
|
|
22 | (5) |
|
Apache Web Server and the PHP Scripting Language |
|
|
22 | (5) |
|
MySQL Database Installation |
|
|
27 | (7) |
|
Adding a New User to a MySQL Database |
|
|
31 | (3) |
|
|
34 | (3) |
2 Home Temperature Monitoring System |
|
37 | (40) |
|
Temperature Sensor Network |
|
|
37 | (5) |
|
|
37 | (2) |
|
Analog to Digital Conversion |
|
|
39 | (3) |
|
Serial Peripheral Interface |
|
|
42 | (1) |
|
Connecting and Testing the MCP3008 with the Raspberry Pi |
|
|
43 | (13) |
|
|
45 | (4) |
|
|
49 | (4) |
|
|
53 | (3) |
|
|
56 | (15) |
|
Python Database Connection |
|
|
58 | (2) |
|
Inserting Data into a MySQL Database Using a Program |
|
|
60 | (5) |
|
Database Access Using a Web Browser |
|
|
65 | (4) |
|
Narrowing the Database Reports |
|
|
69 | (2) |
|
|
71 | (3) |
|
|
74 | (3) |
3 Introduction to Object Orientation Programming (OOP) with Java |
|
77 | (30) |
|
Java Software Development Kit (SDK) |
|
|
81 | (2) |
|
The Sensor Abstract Class |
|
|
83 | (1) |
|
|
84 | (10) |
|
|
94 | (1) |
|
|
94 | (4) |
|
|
98 | (3) |
|
Using the Java Connector in a Program |
|
|
101 | (4) |
|
|
105 | (2) |
4 Home Weather Station |
|
107 | (46) |
|
|
107 | (5) |
|
|
108 | (4) |
|
|
112 | (2) |
|
|
114 | (1) |
|
|
115 | (1) |
|
|
116 | (6) |
|
|
122 | (3) |
|
Sensor Wiring Connections |
|
|
123 | (2) |
|
|
125 | (1) |
|
|
126 | (10) |
|
|
126 | (10) |
|
|
136 | (2) |
|
Setting the Thermostat Remotely |
|
|
138 | (12) |
|
|
142 | (8) |
|
Remote Access to the HWS Database |
|
|
150 | (1) |
|
|
151 | (2) |
5 Webcam and Raspberry Pi Camera Projects |
|
153 | (20) |
|
|
153 | (2) |
|
|
155 | (1) |
|
|
155 | (1) |
|
|
155 | (2) |
|
|
157 | (1) |
|
|
158 | (2) |
|
Raspberry Pi Camera Software |
|
|
160 | (3) |
|
Using Python with the Raspberry Pi Camera |
|
|
163 | (2) |
|
Remote Raspberry Pi Camera Viewing |
|
|
165 | (4) |
|
Raspberry Pi Camera with Motion Software |
|
|
169 | (2) |
|
|
171 | (2) |
6 Internet-Enabled, Arduino Powered Garage Door Opener |
|
173 | (32) |
|
|
173 | (3) |
|
Arduino Uno Development Board |
|
|
173 | (2) |
|
|
175 | (1) |
|
|
176 | (3) |
|
Testing the Ethernet Connection |
|
|
179 | (9) |
|
Simplified Garage Door Opener |
|
|
188 | (6) |
|
Actual Garage Door Opener |
|
|
188 | (1) |
|
Modified LED Program to Open Garage Door |
|
|
189 | (5) |
|
|
194 | (3) |
|
|
197 | (1) |
|
Enhanced Garage Door Project |
|
|
198 | (4) |
|
Testing the Enhanced Garage Door Opener |
|
|
202 | (1) |
|
|
203 | (2) |
7 Arduino Irrigation Control System |
|
205 | (34) |
|
|
205 | (4) |
|
Irrigation Control Program |
|
|
209 | (4) |
|
Irrigation System Physical Installation |
|
|
213 | (3) |
|
Operating the New Irrigation System |
|
|
216 | (1) |
|
Moisture Sensing Subsystem |
|
|
216 | (19) |
|
|
216 | (5) |
|
|
221 | (14) |
|
|
235 | (1) |
|
|
236 | (1) |
|
|
237 | (2) |
8 Arduino Lighting Controller |
|
239 | (28) |
|
|
239 | (4) |
|
|
243 | (2) |
|
|
245 | (1) |
|
Controller Node Case and Mounting Arrangement |
|
|
246 | (4) |
|
|
250 | (3) |
|
|
253 | (2) |
|
|
255 | (8) |
|
|
255 | (7) |
|
XBee Receiver Node 1 Program |
|
|
262 | (1) |
|
XBee Receiver Node 2 Program |
|
|
263 | (1) |
|
|
263 | (1) |
|
|
264 | (1) |
|
|
265 | (2) |
9 BeagleBone Black Message Controller |
|
267 | (22) |
|
|
267 | (2) |
|
|
269 | (5) |
|
Connect to and Operate the BBB |
|
|
271 | (3) |
|
Downloading, Installing, and Booting a New Linux Distribution |
|
|
274 | (1) |
|
|
275 | (2) |
|
Setting Up the LCD Display |
|
|
277 | (2) |
|
|
279 | (1) |
|
Message Controller Software |
|
|
280 | (1) |
|
Download and Install the Flask Package |
|
|
280 | (1) |
|
|
281 | (3) |
|
|
282 | (2) |
|
|
284 | (3) |
|
|
287 | (2) |
10 BeagleBone Black with Cloud Service |
|
289 | (20) |
|
|
289 | (2) |
|
|
291 | (1) |
|
|
291 | (1) |
|
|
292 | (2) |
|
Xively Developer's Account |
|
|
293 | (1) |
|
BBB to Xively Python Program |
|
|
294 | (1) |
|
Xively Website with an Active Datastream |
|
|
295 | (2) |
|
Adding Additional Data Channels |
|
|
297 | (5) |
|
|
297 | (3) |
|
Expanded xively-temp Program |
|
|
300 | (2) |
|
Configuring Angstrom to Auto Start the Application |
|
|
302 | (3) |
|
|
305 | (2) |
|
|
307 | (2) |
11 Machine-to-Machine (M2M) Communications |
|
309 | (18) |
|
|
309 | (10) |
|
|
309 | (1) |
|
|
310 | (1) |
|
|
311 | (1) |
|
|
311 | (1) |
|
BBB MQTT Publisher Client |
|
|
311 | (2) |
|
Adding MQTT Features to the Application |
|
|
313 | (2) |
|
|
315 | (2) |
|
|
317 | (2) |
|
Raspberry Pi Subscriber Client |
|
|
319 | (4) |
|
MQTT Two-Phase Thermostat |
|
|
323 | (3) |
|
|
326 | (1) |
Index |
|
327 | |