Asterisk is an open source private branch telephone
exchange (PBX). It allows you to manage a phone
exchange over an IP network. It can make and take phone
calls, save messages, play prerecorded messages to
people who call in, and offers most of the usual features
a phone account does, like caller ID, call waiting, call
blocking, and so forth. You can also make connections
between the phone and the Internet. For example, you can
allow users to control the output of a PHP script using
their touchtone keypad. It’s not a large step from there
to having a mobile phone keypad controlling a physical
object through a Lantronix device, XBee radio, or any of
the other tools you’ve seen here. It runs on a Unix or Linux
server. Asterisk isn’t easy for the beginner, but it’s manage-
able by anyone comfortable with server-side programming
like the PHP you’ve seen here. For more details on Asterisk,
see www.asterisk.org.
The mobile phone development landscape is changing
rapidly at the moment, and by the time you’re reading this,
there are likely many more tools for developing on phones,
and for using phones as a user interface to networks in
nontraditional ways. If you’ve enjoyed making embedded
systems talk to each other, then by all means, jump into
mobile phone programming as well.
Other Microcontrollers
Though the examples in this book have all been done using Arduino and Wiring, there
are many other microcontroller platforms that you can use to do the same work. This
section is an introduction to a few others on the market, and what they’re good for.
Some of these are standalone controllers that you program yourself, as you’ve done
with the controllers in this book. Others are designed to be connected to a personal
computer at all times. You don’t have to program these, you just configure them via
serial or Ethernet, then read from their inputs and write to their outputs from your
desktop-based development environment.
Basic Stamp
Parallax (www.parallax.com) Basic Stamp and Basic
Stamp 2 (BS-2) are probably the most common microcon-
trollers in the hobbyist market. Programmed in PBASIC,
they are easy to use, and include the same basic functions
as Wiring and Arduino: digital in and out, serial in and out,
PWM out, and a form of analog in. Their analog in is slower
than an analog-to-digital converter, however. In addition,
PBASIC lacks the ability to pass parameters to functions,
which makes programming many of the examples shown
in this book more difficult. It’s possible to do everything
you’ve seen here on a Basic Stamp, however. And there
are more code samples available on the Net for the BS-2
than for just about any other controller.
NetMedia’s BX-24 controller (www.basicx.com) affords
everything that Wiring and Arduino do; in fact, its even
based on the same microcontroller family that those two
are (the Atmel AVR controllers). Its programmed in a
variant of Visual BASIC (BasicX), and even includes limited
support for multitasking. The programming environment
for it is available only on Windows, however. Of the various
Basic Stamp–like modules on the market, it’s arguably the
best, especially for tasks like the ones found in this book. It’s
a decent alternative for networked objects for beginners.
The BX-24 and the Basic Stamp both cost around $50
apiece, and by the time you’ve bought the starter kit,
around $100.
Making_Things_Talk.indb 356 11/13/09 4:57 PM

Get Making Things Talk now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.