Traditional Introduction to Wireless Sensor Networks
This lecture will be cut-and-paste from various papers, presentations, and online resources (surveys) of WSN material. No notes planned on this, but resources and pointers can be added to this page.
Embedded Sensor Networks by Heidemann and Govindan (pointer)
Many of the topics mentioned have background articles and introductions online. Typically, you can start with a Wikipedia article.
Hint: on this website, the macro [[wiki(Smartdust)]] expands to a pointer on the named topic, Smartdust in this case.
Today we are going to be paying very close attention to buzzwords! Lots of material to cover, so we're doing a bit of a general kind of overview.
An Introduction to Sensors
Smartdust: a hypothetical wireless network of tiny microelectromechanical sensor, robots, or devices. Sensors, according to the article, have four components: sensing, computation, communication, and power. Note there is also a 5th component that should be mentioned on the Smartdust page, called Actuation - making something happen, affecting a physical change.
A lot of the technology for sensor networks was pioneered by the military. Some sensors are high-end expensive - for instance, geosynchronous satellites. Because these sensors can be expensive in terms of power, some "inexpensive" sensors can be used to "turn on" the higher-end, more expensive sensors. For instance, when a sensor detects movement, it could direct a satellite to point its powerful sensor (lens) to the location.
Related Topics to Sensors
Ad Hoc Networks - These networks have no infrastructure, and they are spontaneously formed. Contrary to the belief of some, a cellular phone network is not considered an ad hoc network, as the cell base stations represent a pre-planned backbone. Mobile ad hoc network Also see Peer-to-peer
Mesh Networks - The internet has two kinds of entities; endpoints(computers), and routers(servers). Endpoints are general-purpose computers, and routers are not(they usually have specialized hardware to gear them towards a specific purpose, such as Cisco servers). Contrast this with mesh networking, where there is only one kind of thing: a computer. In theory, there is no distinction between the endpoints and the routers. In reality, often times the nodes will elect some nodes to serve as a "virtual backbone" for the network, and nodes will switch roles as required. Also, refer to the Mobile ad hoc network link above.
Anatomy of a Sensor Node
Anatomy of a Sensor node:
Ideally, all the parts for a sensor node are COTS("Commercial, Off-The-Shelf") components. This keeps costs low, but also implies high failure rates! So we need to plan on tolerating failure - this accomplished with redundancy, and some other ideas.
For a sensor, the processor is usually very low power, and capable of changing power states (for instance, sleep to wake) in a very quick amount of time. It is usually a very "simple" (relatively) design (no cache or other features), may have a Harvard architecture where programs and data are stored in two separate places, and is usually very inexpensive.
Connecting sensor node components
The "buses" used to connect things inside the sensor node are important!!! see Bus (computing)
Let's talk some more about Buses! Buses are usually one of two types: serial (meaning one bit at a time is sent), or parallel (meaning multiple bits are sent at once). Parallel buses will obviously require multiple wires.
Inside a PC, there are several standard buses used, such as: PCI (Peripheral Component Interconnect), AGP (Accelerated Graphics Port), ISA (Industry Standard Architecture), SCSI (Small Computer System Interface), and USB (Universal Serial Bus). These buses are typically faster and take much more power than the buses used in a sensor.
For sensors, common buses are: SPI (Serial Peripheral Interface), I2C (Inter-Integrated Circuit), 1-wire. These are all serial buses. Furthermore, we can talk about interconnects, such as RS-232 and UART (Universal Asynchronous Receiver/Transmitter). Often, these are talked about using modem terminology, such as:
- baud rate
- self-clocked or not(osync vs. sync)
- half-duplex or full-duplex
- Hayes commands
- escape sequences
Likely important for this class: GPIO, Analog-to-digital converter (ADC), Digital-to-analog converter (DAC), UART, and I2C. In class, we discussed how ADCs and DACs are not inverses of each other, and actually don't work as perfectly as the theory. The Wikipedia pages provide more details if interested.
Class was concluded with a discussion of the question:
How to do more than one thing?
If you ask a EE/ECE/embedded engineers, they might say Add another microprocessor!
If you ask a computer scientist, they might say Use threads, processes, and tasks! In the next class, we will discuss: Radio, and the Ad-Hoc Protocols.
In the next class, we will discuss: Radio, and the Ad-Hoc Protocols.