Title: LizardNet
1LizardNet
- Kapambwe Kangombe
- September 1st 2005
2Presentation outline
- Introduction motivation goal
- The hardware and software
- Overview of what our team did
- Deployment
- Results future
- Writing a driver process example
- Acknowledgments
3Motivation
- Mike wanted to experiment with wireless sensor
networks. - Biology department wanted a better way of
collecting data for studying lizard
thermo-regulation, that is - less time consuming
- less invasive
- AND a lot more data points
4Project goal
To build and deploy a non-invasive wireless
sensor network (at the Bernard Field Station) to
measure temperature. Thereby saving biologists
studying lizard thermo-regulation time in
collecting data from the field and providing a
much larger (better) data set than usual. But of
course as computer scientists we just wanted to
play with a wireless sensor network.
5the hardware MicaZ
MicaZ new 2004 model - IEEE 802.15.4 Radio -
Atmel Atmega128 16 MHz processor - 128kB
program memory - 4kB RAM - 512kB External
flash memory - 51-pin Expansion Connector
6the HARDWARE MDA300
MDA300 new external sensor interface to
MicaZ - 8 Analog Inputs - 8 Digital I/O -
Internal Temperature Humidity Sensor -
Internal ADC - 64kB I2C EEPROM Can be used to
measure humidity, temperature, soil moisture,
light, wind speed and direction, motion,
rainfall, leaf wetness, pressure, and radiation.
7The Software
- Industry standard is called TinyOS
- Developed at U.C. Berkeley. Written in nesC
- Support is everywhere
- But doesnt inherently support dynamic module
loading (DML) - We used SOS because Mike said so AND because
- It can do everything TinyOS can do with
comparable efficiency DML its all in C - Roy Shea (HMC 02) is one of its lead developers
8What we did
- Downloaded, configured, and installed the SOS
Kernel on our MicaZs and mastered the OS - Implemented and set up a multi-hop network
- Sampled temperature readings from the
refrigerator - Developed the first ever drivers for the MDA300
on the SOS platform - an internal temperature and humidity sensor
- and an external thermistor temperature sensor
9What we did CONTINUED
- Deployed a test network around the second floor
of Sprague Library (see graph) - Deployed a small network at the Benard Field
Station (see graph)
10SITE SCHEMATIC
11DEPLOYMENT SITE
12Deployment
- Location
- 20 feet from base station
- MicaZ radio not very good in bushy areas
- Power-saving turning off LEDs
Temperature at BFS from SHT15 (internal) sensor
over a 24 hour period.
13Deployment
- Enclosures
- Sip-A-Cups transparent plastic bottles
- Straw hats yes, like Mikes straw hat
Temperature at BFS from external (thermistor)
sensor over a 24 hour period.
14Results
- We achieved our goal we built and deployed our
network. Mike was happy! - But we experienced a number of problems. So
LizardNet is not ready for full use yet. - Top 3 problems
- We suspect SOS network tree routing algorithm
needs some fine-tuning. - MicaZ radio not very good when there is little
line of sight between motes - No acknowledgment system to deal with data loss
15THE FUTURE
- Improve the SOS tree routing algorithm
- Use Mica2s for better radio performance
- Build acknowledgment system for data loss
- Improve power-saving techniques
- Add cameras
16writing a driver the Process
- Pages and pages of FUN! (datasheets schematics)
- Tracing wires on design schematics
- Coding
- Debugging what we called blinking LEDs because
we really didnt have better free debugging
options.
17writing a driver for the sht15
Step 1a Look for the SHT15 on the MDA300
schematic
18writing a driver for the sht15
Step 1b Again on the MDA300, trace PW0 and INT3
to (in this case) the connector to the MicaZ.
19writing a driver for the sht15
Step 2 On the MicaZ schematic, find the lines
that connect to lines 3 and 29 on the MDA300
connector and trace their names to the Atmel
Atmega128. Note In this case they happen to be
the same.
20writing a driver for the sht15
Step 3 On the Atmel Atmega128 schematic, we
notice that INT3 is on line 9 and PW0 is on line
35. This means you will have to manipulate pins
PE7 and PC0 directly according to the SHT15
datasheet to read temperature and humidity data.
21writing a driver for the sht15
Step 4 Get familiar with the processors API -
The Atmel Atmega128 uses whats called the AVR
Instruction Set - The AVR C libraries allow
direct access to all the pins on the
processor Step 5 Start coding away Step 6
Blink LEDs until you run out of battery power.
Then repeat steps 5 6.
22ACKNOWLEDGMENTS
The LizardNet Team Alejandro Enriquez John
Hicks Kapambwe Kangombe James
Segedy Advisors Steven Adolf Mike
Erlinger Roy Shea (HMC 02)