Sun Microsystems has announced a project that could put easy-to-manage sensor networks in the hands of average computer programmers worldwide – helping to make networked sensors more prevalent. A world full of sensors is a world in which, for instance, building climates are micro-controlled, rooms come alive with lights and music when people enter them, and the health of elderly family members is monitored from a distance.
In May, the company will begin selling its own sensor hardware – gadgets the size of a small deck of cards that can be configured to sense temperature, light, and motion – as well an operating system that uses the common computer language Java, which already has a programmer “base” of over four million people. According to the company, this sensor development kit, called Sun SPOT (Small Programmable Object Technology), could create innovative sensor applications and accelerate solutions some of the lingering challenges –- such as developing and debugging sensor programs – that so far have kept the technology from being ubiquitous.
[Click here for images of a Sun SPOT sensor and its components.]
Sensor networks are collections of nodes, sometimes as small as millimeters in length or diameter, that consist of small computer processors, memory devices, and radios that transmit and receive information between devices. These networks hold much promise for performing tasks such as monitoring and regulating the harsh environments in industrial plants, controlling home and office climates (see Where Sensors Make Sense), and tracking the condition of packages.
Much research in this field has been conducted over the past few years (see 10 Emerging Technologies That Will Change the World), from companies including Sun, Intel, and Siemens, to academic programs at the University of California at Berkeley and Los Angeles and Harvard University, to name a few. And startups, such as Ember and Crossbow Technology, sell the technology for applications ranging from automobile diagnostics to battlefield monitoring.
Even with so much attention, though, present-day sensors remain notoriously difficult to develop and debug, says Roger Meike, senior director at Sun Labs. For the most part, fiddling around with a sensor’s functionality remains a specialized task, left to computer science experts.
Programming sensors is so hard partly because many of them use an operating system called TinyOS. Although it’s the software foundation for thousands of sensor research projects, it requires knowledge of the relatively complex programming language C. Worse, once a TinyOS program is established for a sensor network, it’s more or less permanent, explains Mani Srivastava, an electrical engineer at UCLA. If you want to modify a small part of the network’s function, he says, you have to start over. Additionally, each detail of the sensor must be painstakingly considered when programming, from when power should be conserved to how many calculations to do before the data is sent over the network.
Java – a programming language developed at Sun in 1990 – presents some clear advantages, says Roger Meike, senior director at Sun Labs. For one, it’s well known to a huge community of programmers, and it has already been successful in applications for other small devices such as cell phones.