
326 MAKING THINGS TALK
Network Identification
So far, you’ve identified network devices computationally by their address. For devices
on the Internet, you’ve seen both IP addresses and MAC addresses. Bluetooth and
802.15.4 devices have standard addresses as well. The address of a device doesn’t tell
you anything about what the device is or what it does.
Recall the networked air quality project in Chapter 4.
The microcontroller made a request via HTTP and the
PHP script sent back a response. Because you already
knew the microcontroller’s capabilities, you could send
a response that was short enough for it to process effi-
ciently, and format it in a way that made it easy to read.
But what if that same PHP script had to respond to HTTP
requests from an XPort, a desktop browser like Safari
or Internet Explorer, and a mobile phone browser? How
would it know how to format the information?
Most net communications protocols include a basic
exchange of information about the sender’s and receiver’s
identity and capabilities as part of the initial header
messages. You can use these to your advantage when
designing network systems like the ones you’ve seen
here. There’s not room here to discuss this concept
comprehensively, but following are two examples that
use HTTP and mail.
HTTP Environment Variables
When a server-side program, such as a PHP script,
receives an HTTP request, it has access to ...