jose,
you certainly //could// modify a mote-side component in the UART stack to
implement a control message that returns the TOS_LOCAL_ADDRESS of a mote
connected to particular MIB600, and then modify serial forwarder to
implement the PC-side of that same query mechanism.
however, the simpler approach (though less transparent) is to define a
mapping of moteID to SF exported TCP port in a file on your PC, and use a
script to scroll through that file and launch N sessions of SF. I've done
this for a testbed of 35 mica2/MIBs i've used at Columbia and it is
convenient for me. I've used an easy-to-remember mapping (e.g., moteID 1
is mounted on the MIB600 whose associated SF instance exports port 9001,
etc.) so that i don't have to ever look at that mapping file.
I even went the extra step of assigning IPs to the MIB600s in such a way
that the subnet address matches the moteID (e.g., modeID 1 is mounted to
the MIB having address x.x.x.1 whose associated SF instance exports port
9001). This makes writing shell scripts for "one-click" reprogramming of
all motes, "one-click" SF restart (after Java occassionally crashes), etc.
really straightforward to write.
the MIST testbed at MIT has a 55+mica2/MIB setup. i think they use MoteLab
to manage that testbed; one of them might chime in with details on that.
i've been thinking to try that, but haven't had the time to look at it
yet.
-shane
On Thu, 24 Aug 2006, Jos[iso-8859-1] é L. Ponce wrote:
Hello,
All the messages to and from your 50 re-Motes go through one
TOSBase mote on the MIB adapter to get to the host computer
where SerialForwarder (or any other client program) is running.
The messages are distinguished by a destination address (e.g.,
the addr field in the TOS_Msg struct in ...tos/types/AM.h), and
sometimes contain a source address so you can tell where they
came from. To send a message to a specific mote you put it's
moteID in the destination address.
Was that the question?
MS
For the case of using a single mote with TOSBase which forwards messages
it is clear. But, say we got two motes connected per USB to the computer.
We would need two instances of SerialForwarder, each associated to one of
the motes, and if a program on the computer wants to communicate with one
of the motes, it would have to know which SerialFowarder to connect to.
How would I have to do that?
And going a bit further. The ideal case would be to have a program which
automatically checks USB ports, gets the mote address of each mote
connected and creates a SerialForwarder association with each mote, so
that if a program wants to send a message to a mote, it only needs to know
its local address. I am sure something similar already exists. I would
like to know is it done.
Thanks,
- J.
_______________________________________________
Tinyos-help mailing list
Tinyos-help@Millennium.Berkeley.EDU
https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
------------------------------------
http://www.comet.columbia.edu/~shane
_______________________________________________
Tinyos-help mailing list
Tinyos-help@Millennium.Berkeley.EDU
https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help