📄 mcenter.html
字号:
<title>TinyOS Message Center</title>
</head>
<body bgcolor="#f8f8ff" link="#005BB7" vlink="#005BB7">
<table border=0 hspace=4 cellspacing=2 width="100%" cellpadding=3>
<tr bgcolor="#e0e0ff">
<td width="100%">
<font face="tahoma,arial,helvetica"><b><big><big>
The TinyOS Message Center Tool</big></big></b>
<p>
Last updated 8 August 2003
</font>
</td></tr>
</table>
<p>This document describes Message Center, a tool for sending and
receiving packets in TinyOS networks. It provides ways to dyanmically
generate packet formats for sending to and receiving from a TinyOS
network, as well as support for sending all packets generated by MIG.</p>
<p>
<table border=0 hspace=4 cellspacing=2 width="100%" cellpadding=3>
<tr bgcolor="#e0e0ff">
<td width="100%"><nobr><b><font
face="arial,helvetica">Running Message Center</font></b></nobr></td>
</tr></table></p>
<p>Message Center can be found in <TT> <A
HREF="../tools/java/net/tinyos/mcenter">
tools/java/net/tinyos/mcenter</A></TT>. The main class is
<tt>net.tinyos.mcenter.MessageCenter</tt>.</p>
<p>
<table border=0 hspace=4 cellspacing=2 width="100%" cellpadding=3>
<tr bgcolor="#e0e0ff">
<td width="100%"><nobr><b><font
face="arial,helvetica">Windows</font></b></nobr></td>
</tr></table></p>
<p>Message Center has two windows that are always present, the
SerialConnector and AppLoader. SerialConnector controls how
Message Center talks to a TinyOS network; it can talk to a
SerialForwarder, directly to a serial port, or to a TOSSIM
simulation. AppLoader allows a user to dynamically load
applications designed to work within Message Center.</p>
<p>The SerialConnector is responsible to inject the messages into
the MessageCenter. It offers different sources. These sources are
similar to the ones in the SerialForward. After selecting the
apropriate source and adjusting it's setting, the message
forwarding can be started by pressing the Start button. If the
source sucessfully started the button turns into Stop button. If
this does not happens check the shell where the MessageCenter was
started for error message. The packet size and the group id can
be set in the SerialConnector. Other packet sizes then the
deafault 36 should be used with care.</p>
<CENTER><IMG SRC=img/SerialConnector.gif></CENTER>
<p>The AppLoader consists of two separate parts. One is the list
of the known apps. Double clicking on one of the list item, will
load that applet. The selected Applet can be removed from the list
with the remove button. New applet can be added by specifing the
its fully casted name (eg. isis.nest.messageCenter.AllMSGDisplay
)in the textbox. After typing the name press Enter or click on the
LoadApp button. If the applet can be loaded it will be added to
the list and appear on the screen. If nothing happens check the
shell where the MessageCenter was started for error message.</p>
<CENTER><IMG SRC=img/AppLoader.gif></CENTER>
<p>
<table border=0 hspace=4 cellspacing=2 width="100%" cellpadding=3>
<tr bgcolor="#e0e0ff">
<td width="100%"><nobr><b><font
face="arial,helvetica">Message Center Applications</font></b></nobr></td>
</tr></table></p>
<p><b>All Message Display</b>
(<tt>net.tinyos.mcenter.AllMSGDisplay</tt>): Displays all of
the incoming messages without any formatting. (a simple packet
listener) The arrival time of the message can be displayed
(timstamp checkbox)</p>
<CENTER><IMG SRC=img/AllMSGDisplay.gif></CENTER>
<p><b>Message
Injector</b>(<tt>net.tinyos.mcenter.MessageInjector</tt>):
Automatically loads all MIG generated packets reachable from
your Java CLASSPATH, providing a GUI for each one. Users can
specify the values of all fields in the packet and can send
them to any mote address.</p>
<CENTER><IMG SRC=img/MessageInjector.gif></CENTER>
<p><b>Diagnosis Message Display</b>
(<tt>net.tinyos.mcenter.DiagMSGDisplay</tt>): Displays the
received diagonis messages ( <tt>TOSROOT/lib/DiagMsg</tt> -
Vanderbilt library) The AM type of the message can be
specified. The arrival time of the message can be displayed
(timstamp checkbox)</p>
<CENTER><IMG SRC=img/DiagMSGDisplay.gif></CENTER>
<p><b>Big Message Display</b>
(<tt>net.tinyos.mcenter.BigMSGDisplay</tt>): Displays and
saves the incomming big messages. Continous messages which are
describing one countinous array of data ( TOSROOT/lib/BigMsg -
Vanderbilt library). The AM type of the message can be
specified. The arrival time of the message can be displayed
(timstamp checkbox). The file which the Messages will bw saved
into have to be specified.</p>
<CENTER><IMG SRC=img/BigMSGDisplay.gif></CENTER>
<p><b>Message Table</b> (<tt>net.tinyos.mcenter.MessageTable</tt>):
Displays and formats arbitrary messages in a table. The format
of the message can be dynamically changed in the following
way. First, we have to specify the active message ID of the
message. Then we specify the message body layout. Each line
in the message format text window represents one field in the
message. The format of each line is<br>
<p>[unique|omit|const] <type> <name> [= <value>]</p>
<p>The following types are suppported:</p>
<p>int8, uint8, hex8, int16, uint16, hex16, int32, uint32, hex32, float, char</p>
<p>The type can be specified as above, or with "_t"
attached, so the usual "uint8_t" is accepted. The <name>
of the field is displayed in the corresponding columns of
the table. The omit modifier will supress the display of
this field in the table. The const modifier is used to
filter messages. If the corresponding value in the
incoming message does not equal the <value> specified,
then the message is dropped. The unique modifier is used
to select group messages. Normally, when no unique field
is specified, each incoming message is added at the end of
the table. When there are unique fields, then for each
incoming message we check whether a row already exists in
the table whose unique fields exactly match the
corresponding fields of the incoming message. If so, then
the new message will replace the matching row. There are
two checkboxes in the message format. The timestamp
checkbox will put a time stamp on message and display this
value in the first column. The count checkbox is usefull
only for unique fileds. It counts the number of times a
row was updated as a result of a unique match. After
changing the message format, the user has to press the
"Reset" button to reset the message table and parse the
new message format. Selected rows of the table cen be
deleted with the "Delete Row(s)" button. Empty rows can be
added by the "Add Row" button. Finally, the selected rows
can be sent back the the base station by clicking on the
"Send Msg(s)" button. Configurations can be saved, deleted
and recalled with the combobox on the top of the message
table window.</p>
<CENTER><IMG SRC=img/MessageTable.gif></CENTER>
</ul>
<p>
<table border=0 hspace=4 cellspacing=2 width="100%" cellpadding=3>
<tr bgcolor="#e0e0ff">
<td width="100%"><nobr><b><font
face="arial,helvetica">Acknowledgements</font></b></nobr></td>
</tr></table></p>
<p>Message Center was designed and primarily implemented by Andrs
Nadas, Janos Sallai, and Miklos Maroti at Vanderbilt
University. Some modifications were made by Joe Polastre of UC
Berkeley to incorporate the packet protocol changes in TinyOS
1.1. Philip Levis of UC Berkeley incorporated the MessageInjector.</P>
</body>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -