Motes

From Seamonster
Jump to: navigation, search

Motes ("Telos-B")


Related


Introduction

A mote (shorthand for remote) is basically a microprocessor glued to a radio, both operating with very low power consumption. A more functional description of a mote is a low-power device that listens to sensors, formats data, and moves that data through a wireless network to a microserver. The principle aim of mote architecture is to scale down computing power to low-bandwidth data acquisition tasks thereby conserving power and money.


Motes are described on this page in terms of their sensor interface capabilities. The Moteiv Tmote Sky device is described more formally on this specifications page. Microservers are described here and Vexcel microserver specifications are given here.


Network Architecture Schematic


This schematic shows the relationship between the watershed environment and a distribution of both microservers and motes.


To appreciate the potential uses of a device like this it is helpful to describe both components in more detail.


A mote microprocessor has built in signal lines for communicating with another electronic device, commonly using a digital protocol (a stream of ones and zeros). This other device may also produce an analog voltage on a wire, for example a voltage that changes in response to temperature. In this case the wire can be connected to the mote and the microprocessor can convert the voltage into a numerical value through an Analog-to-Digital Converter or ADC. The microprocessor also has program memory and data storage capacity, both rather constrained but (per Moore's Law) always increasing.


A mote radio has its own set of built-in protocols for communicating with other radios of the same type, typically up to distances of a hundred meters and at transfer rates of hundreds of kilobits per second. Add to this a sophisticated programming environment and we have a distributed sensing and processing network that can acquire, process, store, and return multiple data streams.


We've begun with Moteiv Corporation's Tmote Sky devices because they are cheap, they have basic sensor interface functionality and they have an established developer community and development environment (TinyOS / nesC). The principle drawbacks of this approach are: Tmotes don't have a lot of memory and TinyOS is a difficult programming language to learn and use with any degree of sophistication. (Notes on learning to program Tmotes are here.)

Mote Flavors

There are several companies manufacturing motes at this time, each differentiated by their own specifications. To name just a few: Moteiv, Crossbow and Sensoria]. We are currently working with Moteiv's 'Tmote Sky' device because the units are low-cost (about $100 per) and have an adequate development environment to facilitate reasonably quick progress.


Sensor Interface Capabilities: Moteiv Tmote Sky specific

Tmote single slide labeled wid700.jpg

The on-board temperature/humidity sensor (SHT11) located on Tmote Sky devices is a surface mount device so it is non-trivial to remove the sensor and replace it with wires (for example to the same sensor four feet away sitting in a creek). However the 16-pin board interface pad includes:

  • 6 ADC (analog) input channels
  • 4 digital channels (GPIO)
  • 1 UART (serial; 2 lines)
  • 1 I2C connection (2 lines)
  • 1 User Interrupt
  • 1 Reset / Supervisor


What sort of analog instruments can be interfaced? First see Wireless Sensor Networks by F.L. Lewis, and second see Emerging Wireless Sensor Networks Driver for Ultra Low Power MEMS Sensors, by Janusz Bryzek addressing three sensors that output analog voltages.


Larry Brewster.jpg

Larry Brewster remarks:

"Some analog type sensors (which would use the A/D ports) include temperature, strain gauges, optical, chemical/biological and hall effect devices. These are fed into the A/D channel and compared against a calibration curve to produce a physical value. In a few cases, such as capacitive sensors (pressure), signals are fed into an oscillator which requires measurement using a digital I/O pin and some timing detection within the microcontroller. In short there is a broad spectrum of devices available, no doubt why Moteiv has made so many analog inputs available.


The digital sensors include temperature, acceleration, gyro and anything that involves timing. Also most presence detection sensor are just simple digital switches (yes/no).


The two serial communication ports, I2C and two-wire serial, are for non-touch devices. This would include sensors which are queried-as-needed. The temperature/humidity sensor device on the Tmote board is an example although it is slightly different, what is known as a “bit bang device” which requires two digital ports for serial data and clock.


A specific example of an I2C device is the integrated temperature discussed by Janusz. This device has an integrated SPI device which allows for serial communication much like your standard RS-232 port. RS-232 is characterized by transmit and receive signal lines (TX and RX) and a triggering mechanism for messages that is initiated by a start bit and ended with a stop bit. As for I2C, this is just a defined two-wire serial protocol which uses clock and data instead of the TX/RX serial protocol.


In summary the Tmote devices can connect to just about any simple sensor you want. For an exceptional case that is not supported one can always put a small PIC device between the sensor and the Tmote to bridge the communication gap. Even geophones could be connected to the Tmote if one so desired (though at less than 24 bits signal resolution)."