XMesh User’s Manual
Revision C, March 2007
PN: 7430-0108-01
© 2005-2007 Crossbow Technology, Inc. All rights reserved.
Information in this document is subject to change without notice.
Crossbow, MoteWorks, MICA, TrueMesh and XMesh are registered trademarks of Crossbow
Technology, Inc. Other product and trade names are trademarks or registered trademarks of their
respective holders.
XMesh User’s Manual
Table of Contents
1 Introduction.............................................................................................................................1
1.1 Mesh Networking Fundamentals ................................................................................... 1
1.2 Topologies ..................................................................................................................... 2
1.3 XMesh Overview........................................................................................................... 4
1.4 XMesh Network Landscape ........................................................................................... 7
1.5 XMesh Features and Benefits......................................................................................... 8
2 Building XMesh.....................................................................................................................11
2.1 XMesh Build Environment.......................................................................................... 11
2.2 Building an XMesh Application................................................................................... 13
2.3 Deploying the Network................................................................................................ 18
2.4 Using Binaries.............................................................................................................. 19
2.5 Building XMesh from Source Code ............................................................................ 19
3 Hardware Overview .............................................................................................................21
3.1 Hardware Platforms ..................................................................................................... 21
3.2 ATmega128 Resources ................................................................................................ 24
3.3 Using ATmega Resources ........................................................................................... 26
3.4 Low Power Operation.................................................................................................. 32
3.5 Optimizing for Battery Operation................................................................................ 34
3.6 A Low Power Design Example.................................................................................... 36
3.7 Estimating the Average Current................................................................................... 38
3.8 Hardware Debugging Techniques................................................................................ 40
4 XMesh Overview...................................................................................................................50
4.1 XMesh Power Configurations ..................................................................................... 50
4.2 Forming a Multi-hop Mesh Network........................................................................... 51
5 Sending and Receiving XMesh Messages ...........................................................................54
5.1 TinyOS Multihop Messages ........................................................................................ 54
5.2 XMesh Messaging API................................................................................................ 54
5.3 Using the Messaging API ............................................................................................ 58
6 XMesh Route Controls.........................................................................................................63
7 XMesh-LP (Low Power).......................................................................................................65
7.1 Low Power Operation.................................................................................................. 65
8 XMesh-ELP (Extended Low Power)...................................................................................70
8.1 What is ELP? ............................................................................................................... 70
Doc.# 7430-0108-01 Rev. C Page i
XMesh User’s Manual
8.2 Operational Theory of ELP.......................................................................................... 71
8.3 The XMesh ELP Interface ........................................................................................... 72
8.4 Building XMesh-ELP .................................................................................................. 75
8.5 Testing XMesh-ELP .................................................................................................... 76
8.6 Monitoring the Network with XSniffer ........................................................................ 76
9 XMeshBase............................................................................................................................78
9.1 What is XMeshBase?................................................................................................... 78
9.2 XMeshBase Services ................................................................................................... 79
9.3 Building XMeshBase................................................................................................... 80
9.4 Using the Heartbeat ..................................................................................................... 81
10 XMesh Services ..................................................................................................................82
10.1 Health Statistics........................................................................................................ 82
10.2 Over-the-Air-Programming (OTAP)........................................................................ 85
10.3 OTAP using MoteConfig Utility .............................................................................. 92
10.4 Watch Dog ............................................................................................................. 100
10.5 Time Synchronization for Low Power................................................................... 100
11 XSniffer.............................................................................................................................105
11.1 Building and Starting XSniffer .............................................................................. 105
11.2 Using XSniffer ....................................................................................................... 105
12 MoteConfig.......................................................................................................................112
13 Appendix A: XMesh Constants ......................................................................................116
14 Appendix B: MICA FUSE SETTINGS .........................................................................119
15 Appendix C: TinyOS Settings and Scripts ....................................................................123
16 Appendix D: TinyOS Components.................................................................................125
17 Appendix E: Computing TOS Packet CRC ..................................................................127
Page ii
Doc.# 7430-0108-01 Rev. C
XMesh User’s Manual
About This Document
The following annotations have been used to provide additional information.
; NOTE
Note provides additional information about the topic.
; EXAMPLE
Examples are given throughout the manual to help the reader understand the terminology.
3 IMPORTANT
This symbol defines items that have significant meaning to the user
WARNING
The user should pay particular attention to this symbol. It means there is a chance that physical
harm could happen to either the person or the equipment.
The following paragraph heading formatting is used in this manual:
1 Heading 1
1.1 Heading 2
1.1.1 Heading 3
This document also uses different body text fonts (listed in Table 0-1) to help you distinguish
between names of files, commands to be typed, and output coming from the computer.
Table 0-1. Font types used in this document.
Font Type Usage
Courier New Normal
Sample code and screen output
Courier New Bold
Commands to be typed by the user
Times New Roman Italic
TinyOS files names, directory names
Franklin Medium Condensed
Text labels in GUIs
Doc.# 7430-0108-01 Rev. C Page iii