The Internet of Things is the new generation of devices that serve as the Internet's interface to the physical world. Today's tiny microcontrollers, sensors, and actuators are powerful, inexpensive, and simple enough to code that anyone with basic programming skills can create a variety of fun, useful, and even profitable systems -- such as devices that detect and extinguish fires or automatically water plants when the soil becomes too dry. This hands-on introductory guide will quickly show you how it's done.
You'll learn how to program embedded devices using the .NET Micro Framework and the Netduino Plus board, and then connect these devices to the Internet using Pachube, a cloud platform for sharing real-time sensor data. Getting Started with the Internet of Things briefly introduces the tools and then walks you though several techniques for using them, using a series of C# examples:
- Develop programs that demonstrate the use of simple outputs (actuators) and inputs (sensors)
- Build client programs that show how measurements can be pushed to an existing Web service
- Create server programs that provide Web services to clients on the Web
- Develop a program that is both client and server and runs in the cloud
- Get .NET classes and methods needed to implement all of the book's examples
Preface |
|
v | |
|
|
1 | (26) |
|
|
3 | (8) |
|
Setting Up the Development Environment |
|
|
3 | (1) |
|
|
4 | (1) |
|
Building the Program in Visual Studio |
|
|
5 | (1) |
|
|
6 | (5) |
|
|
11 | (4) |
|
|
11 | (4) |
|
|
15 | (12) |
|
|
15 | (5) |
|
|
20 | (7) |
|
|
27 | (56) |
|
|
29 | (8) |
|
|
30 | (4) |
|
|
34 | (3) |
|
|
37 | (6) |
|
|
43 | (18) |
|
Setting Up the Network Configuration |
|
|
43 | (5) |
|
|
48 | (7) |
|
What Netduino Said to Pachube |
|
|
55 | (2) |
|
What Pachube Said to Netduino |
|
|
57 | (4) |
|
7 Sending HTTP Requests---The Simple Way |
|
|
61 | (10) |
|
|
61 | (3) |
|
|
64 | (7) |
|
8 Sending HTTP Requests---The Efficient Way |
|
|
71 | (6) |
|
|
71 | (6) |
|
9 Hello Pachube (Sockets Version) |
|
|
77 | (6) |
|
|
77 | (6) |
|
III Device as HTTP Server |
|
|
83 | (66) |
|
|
85 | (12) |
|
Relaying Messages to and from the Netduino |
|
|
85 | (2) |
|
|
87 | (5) |
|
|
92 | (1) |
|
|
93 | (1) |
|
What You Should Know About Ports |
|
|
94 | (3) |
|
11 Handling Sensor Requests |
|
|
97 | (8) |
|
From Sensor Readings to HTTP Resources |
|
|
98 | (1) |
|
URIs of Measured Variables |
|
|
98 | (1) |
|
|
99 | (4) |
|
What You Should Know About HTTP GET |
|
|
103 | (2) |
|
12 Handling Actuator Requests |
|
|
105 | (16) |
|
From HTTP Resources to Controlling Things |
|
|
106 | (1) |
|
URIs of Manipulated Variables |
|
|
106 | (1) |
|
|
107 | (4) |
|
|
111 | (3) |
|
Embed a JavaScript Test Client on the Netduino |
|
|
114 | (4) |
|
What You Should Know About HTTP PUT |
|
|
118 | (3) |
|
|
121 | (16) |
|
|
122 | (10) |
|
|
132 | (4) |
|
What You Should Know About Multithreading |
|
|
136 | (1) |
|
14 Where Can I Go from Here? |
|
|
137 | (12) |
|
Recipes for Modifying a Server |
|
|
137 | (6) |
|
Server Versus Client? When to Push, When to Pull? |
|
|
143 | (1) |
|
|
144 | (1) |
|
|
145 | (1) |
|
|
145 | (3) |
|
|
148 | (1) |
A Test Server |
|
149 | (4) |
B .NET Classes Used in the Examples |
|
153 | (2) |
C Gsiot.Server Library |
|
155 | (14) |
Index |
|
169 | |
Dr. Cuno Pfister studied computer science at the Swiss Federal Institute of Technology in Zurich (ETH Z rich). His PhD thesis supervisor was Prof. Niklaus Wirth, the designer of the Pascal, Modula-2 and Oberon programming languages. Dr. Cuno Pfister is the Managing Director of Oberon microsystems, Inc., which has worked on everything from mobile solutions to a large hydropower-plant monitoring system with 10,000 sensors.