jim midway summer 05
TRANSCRIPT
LizardnetLizardnetAn Experiment in Embedded An Experiment in Embedded
Sensor NetworkingSensor Networking
James SegedyJuly 15th, 2005
AcknowledgementsAcknowledgements
The Lizardnet Team:The Lizardnet Team:
Alejandro EnriquezAlejandro Enriquez
John HicksJohn Hicks
Kapy KangombeKapy Kangombe
James SegedyJames Segedy
Advisors:Advisors:
Mike ErlingerMike Erlinger
Steve AdolphSteve Adolph
Roy Shea (HMC ’02)Roy Shea (HMC ’02)
BackgroundBackground Hardware Software Driver-Writing Progress Report Hardware Software Driver-Writing Progress Report
MotivationsMotivations
““I had a Dream…” ~Mike ErlingerI had a Dream…” ~Mike Erlinger
““Lizards are awesome!” ~Steve AdolphLizards are awesome!” ~Steve Adolph
““SOS will rule the World!!!” ~Roy SheaSOS will rule the World!!!” ~Roy Shea
BackgroundBackground Hardware Software Driver-Writing Progress Report Hardware Software Driver-Writing Progress Report
BackgroundBackground
We had to work with the biologists to We had to work with the biologists to get fundingget funding
Steve has a serious crush on lizardsSteve has a serious crush on lizards
Lizards use thermoregulationLizards use thermoregulation
Cameras??Cameras??BackgroundBackground Hardware Software Driver-Writing Progress Report Hardware Software Driver-Writing Progress Report
BackgroundBackground
Examples of Sensor Networks:Examples of Sensor Networks:• Radar Networks in Air Traffic ControlRadar Networks in Air Traffic Control• The National Power GridThe National Power Grid
Research Originally Conducted for Military Purposes• Sound Surveillance System
Easily extends to other areas (Security, Remote Monitoring)
BackgroundBackground Hardware Software Driver-Writing Progress Report Hardware Software Driver-Writing Progress Report
Project GoalsProject Goals
Deploy our very own embedded Deploy our very own embedded sensor networksensor network
Retrieve real data from the field and Retrieve real data from the field and transmit it back to HMCtransmit it back to HMC
BackgroundBackground Hardware Software Driver-Writing Progress Report Hardware Software Driver-Writing Progress Report
Deployment SiteDeployment Site
BackgroundBackground Hardware Software Driver-Writing Progress Report Hardware Software Driver-Writing Progress Report
Deployment SiteDeployment Site
BackgroundBackground Hardware Software Driver-Writing Progress Report Hardware Software Driver-Writing Progress Report
The HardwareThe Hardware
Meet MicaZMeet MicaZ• IEEE 802.15.4 RadioIEEE 802.15.4 Radio• Atmel Atmega128 Atmel Atmega128
16mHz processor16mHz processor• 128kB program 128kB program
memorymemory• 4kB RAM4kB RAM• 512kB External flash 512kB External flash
memorymemory• 51-Pin Expansion 51-Pin Expansion
ConnectorConnectorBackground Background HardwareHardware Software Driver-Writing Progress Report Software Driver-Writing Progress Report
The HardwareThe Hardware
Meet MDA300Meet MDA300
• 8 Analog inputs8 Analog inputs• 8 Digital I/O ports8 Digital I/O ports• Internal Temp/Humidity Internal Temp/Humidity
SensorSensor• Internal ADCInternal ADC• 64kB I64kB I22C EEPROMC EEPROM
• Can be used to sense Can be used to sense humidity, temperature, humidity, temperature, soil moisture, light, wind soil moisture, light, wind speed, wind direction, speed, wind direction, motion, rainfall, leaf motion, rainfall, leaf wetness, pressure, and wetness, pressure, and radiation.radiation.
Background Background HardwareHardware Software Driver-Writing Progress Report Software Driver-Writing Progress Report
The SoftwareThe Software
The Industry Standard: TinyOSThe Industry Standard: TinyOS• Developed by U.C. BerkeleyDeveloped by U.C. Berkeley• Written in nesCWritten in nesC• Support is EverywhereSupport is Everywhere
The Problem: TinyOS is Static• Limited ability to install or update
TinyOS components incrementally or remotely
Background Hardware Background Hardware SoftwareSoftware Driver-Writing Progress Report Driver-Writing Progress Report
The SoftwareThe Software
SOS: The answer to our problemsSOS: The answer to our problems• Written in CWritten in C• A Minimal Static KernelA Minimal Static Kernel• Dynamically loaded and unloaded code Dynamically loaded and unloaded code
modules (no reboot required)modules (no reboot required)• Multiple interacting modules on a single Multiple interacting modules on a single
mote.mote.• Event-driven functionality is controlled Event-driven functionality is controlled
completely by timers, messages, and completely by timers, messages, and states.states.
Background Hardware Background Hardware SoftwareSoftware Driver-Writing Progress Report Driver-Writing Progress Report
The ChallengesThe Challenges
The MicaZ is a new 2004 modelThe MicaZ is a new 2004 model• Not compatible with the MTS310 Basic Not compatible with the MTS310 Basic
Sensor BoardSensor Board• Not always manufactured correctlyNot always manufactured correctly
The MDA300 is a new sensor boardThe MDA300 is a new sensor board• SOS does not currently offer support for SOS does not currently offer support for
this boardthis board Message RoutingMessage Routing Low-Power OperationLow-Power OperationBackground Hardware Software Background Hardware Software Driver-WritingDriver-Writing Progress Report Progress Report
Writing a DriverWriting a Driver
Pages and pages of FUN!Pages and pages of FUN!
Tracing WiresTracing Wires
Manual ClockingManual Clocking
Debugging Options…Debugging Options…
Background Hardware Software Background Hardware Software Driver-WritingDriver-Writing Progress Report Progress Report
Writing a Driver: The SHT15Writing a Driver: The SHT15
Step 1: MDA300 SchematicStep 1: MDA300 Schematic
Background Hardware Software Background Hardware Software Driver-WritingDriver-Writing Progress Report Progress Report
Writing a Driver: The SHT15Writing a Driver: The SHT15
Step 1: MDA300 SchematicStep 1: MDA300 Schematic
Background Hardware Software Background Hardware Software Driver-WritingDriver-Writing Progress Report Progress Report
Writing a Driver: The SHT15Writing a Driver: The SHT15 Step 2: MicaZ SchematicStep 2: MicaZ Schematic
Background Hardware Software Background Hardware Software Driver-WritingDriver-Writing Progress Report Progress Report
Writing a Driver: The SHT15Writing a Driver: The SHT15 Step 3: Atmel Atmega128 SchematicStep 3: Atmel Atmega128 Schematic
Background Hardware Software Background Hardware Software Driver-WritingDriver-Writing Progress Report Progress Report
Writing a Driver: The SHT15Writing a Driver: The SHT15
Step 4: The AVR Instruction SetStep 4: The AVR Instruction Set• The Atmel Atmega128 Uses the AVR The Atmel Atmega128 Uses the AVR
instruction setinstruction set• The AVR C libraries allow direct access The AVR C libraries allow direct access
to all pins on the processorto all pins on the processor
Step 5: Manipulate the pins directlyStep 5: Manipulate the pins directly
Background Hardware Software Background Hardware Software Driver-WritingDriver-Writing Progress Report Progress Report
Progress ReportProgress Report
As of now, we have:As of now, we have:• Downloaded, configured, and installed Downloaded, configured, and installed
the SOS kernel on our 8 MicaZ motesthe SOS kernel on our 8 MicaZ motes• Mastered the art of module creationMastered the art of module creation• Implemented a sample multi-hop Implemented a sample multi-hop
network.network.• Sampled temperature readings from Sampled temperature readings from
INSIDE the refrigerator.INSIDE the refrigerator.• Written some driver support for the Written some driver support for the
MDA300MDA300Background Hardware Software Driver-Writing Background Hardware Software Driver-Writing Progress ReportProgress Report
Progress ReportProgress Report
As of now, we still need to:As of now, we still need to:• Deploy the networkDeploy the network• Write the network messages to a file for the Write the network messages to a file for the
biologistbiologist• Experiment with powerExperiment with power• Learn about EE and thermistorsLearn about EE and thermistors
In future years…In future years…• Learn to sense multiple things at the same Learn to sense multiple things at the same
timetime• Explore multiple sensor interactionExplore multiple sensor interaction
Background Hardware Software Driver-Writing Background Hardware Software Driver-Writing Progress ReportProgress Report
Works CitedWorks Cited
Chong, Chee-yee and Kumar, Srikanta P. “Sensor Networks: Chong, Chee-yee and Kumar, Srikanta P. “Sensor Networks: Evolution, Opportunities, and Challenges.”Evolution, Opportunities, and Challenges.”
Han, Chih-Chieh et al. “A Dynamic Operating System for Han, Chih-Chieh et al. “A Dynamic Operating System for Sensor Nodes.”Sensor Nodes.”
Maurer, Bill. “Introduction to TinyOS and nesC Programming.” Maurer, Bill. “Introduction to TinyOS and nesC Programming.” Crossbow Technology.Crossbow Technology.
““TinyOS Community Forum || An open-source OS for the TinyOS Community Forum || An open-source OS for the networked sensor regime.” networked sensor regime.” http://www.tinyos.net/http://www.tinyos.net/
*All Data Sheets used were reproductions of original hardware *All Data Sheets used were reproductions of original hardware schematics from Crossbow Technology*schematics from Crossbow Technology*