[Tinyos-help] RE: [imote] TOSBase for imote?

LEE, Yui-wah (Clement) leecy at dnrc.bell-labs.com
Thu Mar 10 13:08:36 PST 2005


Dear Lama,

Thanks for your suggestions!  Especially your reminder of copying data
to the middle layer.

Clement

On Tue, 8 Mar 2005, Nachman, Lama wrote:

> Hi Clement,
> You can certainly abstract out the differences with the middle layer you
> are proposing.  This layer would need to take care of the address
> translation ( AM to imote address) and memory allocation/de-allocation.
> Also, as you mentioned in your email, you'll need to implement the
> broadcast based on the multiple unicast down the tree.  There is a
> broadcast option in BT, but I haven't tried it.  I have implemented
> something similar for the address translation and memory allocation
> abstraction to support a generic reliability layer that ran on top of
> Imote and Mica2.
> Note though that if you need to completely abstract out the differences
> (i.e. no changes to the app) you will need to copy the data in the
> middle layer.  Also, if the app depends on any of the other fields in
> the Tos message (ack, security, time, etc), then you'll have to populate
> these fields, which is more problematic.
>
> Lama
>
> -----Original Message-----
> From: LEE, Yui-wah (Clement) [mailto:leecy at dnrc.bell-labs.com]
> Sent: Tuesday, March 08, 2005 7:49 AM
> To: Kling, Ralph M
> Cc: Tinyos-help at millennium.berkeley.edu; Hummel, Vincent; Nachman, Lama
> Subject: RE: [imote] TOSBase for imote?
>
> Dear Ralph,
>
> Thanks!
>
> I am thinking of writing an imote-specific RadioCRCPacket that is only
> a wrapper providing the interfaces of BareSendMsg and ReceiveMsg.  The
> wrapper uses of the component NetworkC (and its interfaces
> NetworkCommand and NetworkPacket) to actually transmit the bits over
> Bluetooth.
>
> As for the difference between connection-oriented and broadcast lower
> level, in my thinking an imote node (running RadioCRCPacket) can
> simply transmit the bits to all nodes that it has established a link,
> and thus emulate a broadcast medium.
>
> Have you tried something similar before?  If you can point me to some
> code examples that would be great.  If you see some hidden obstacles
> please also let me know.  Thanks in advance!
>
> Why did you say that the common TinyOS demos would have to be
> rewritten? Would the difference between the two network media to
> difficult to mask?
>
> An interesting note that I would point out is that, in the Mica2 case,
> BareSendMsg is often used by an upper layer interfaces call SendMsg[].
> SendMsg[].send() is very similar to imote's NetworkPacket.Send(), they
> both accept arguments for an address (AM address in the former; BT
> address in the latter), message length, and then a pointer to the
> actual data.
>
>
> Clement
>
> On Mon, 7 Mar 2005, Kling, Ralph M wrote:
>
> >
> > Hi Clement,
> >
> > The main reason why we implemented a custom network stack is that the
> > Intel Mote radio is based on a connection oriented lower level
> > (Bluetooth) vs. a broadcast oriented one (Mica2 motes). This
> > necessitates a different approach on how a network is formed,
> > maintained, etc.
> >
> > One can, however, interface to the network at a higher level at which
> > the differences between the different network layers are abstracted
> out
> > (we have, as a matter of fact, done this for some applications). This
> > would require a rewrite of the common TinyOS demos though, to make
> them
> > network independent.
> >
> > - Ralph
> >
> >
> > -----Original Message-----
> > From: LEE, Yui-wah (Clement) [mailto:leecy at dnrc.bell-labs.com]
> > Sent: Monday, March 07, 2005 1:48 PM
> > To: Tinyos-help at millennium.berkeley.edu
> > Subject: Re: [imote] TOSBase for imote?
> >
> > My dear friends from the TinyOS community,
> >
> > I have thought a little bit more about the issue, and would like to
> > see if someone can shed some more light on it.
> >
> > Many TinyOS applications, including TOSBase and OscilloscopeRF, and
> > components, such as GenericComm, use directly or indirectly the
> > component called RadioCRCPacket, which is platform dependent.  So if
> > we can have port RadioCRCPacket to imote, then we can get all these
> > applications and components to work.  However, if I look at the
> > example codes that Intel gave, they use instead another component
> > called NetworkC (beta/platform/imote/NetworkC.nc). (RadioCRCPacket
> > provides the interfaces BareSendMsg and ReceiveMsg; NetworkC provides
> > the interfaces NetworkCommand and NetworkPacket -- the latter two
> > interfaces are imote specific.)  Does anyone know if there are any
> > reasons for that?  I am thinking of implementing an imote
> > RadioCRCPacket by using NetworkC as a reference.  But I am interested
> > to know why Intel was not doing that in the first place.
> >
> > Thanks in advance!
> >
> > Clement
> >
> > On Mon, 7 Mar 2005, LEE, Yui-wah (Clement) wrote:
> >
> > > Hi,
> > >
> > > I need something similar to TOSBase for imote.  Does it already
> exist?
> > > or we will need to program one?  If it is the latter case, what is
> the
> > > easier path to get it done?
> > >
> > > So far, what I have learnt are:
> > >
> > > 1. If I use directly the TOSBase in apps/ (this works for mica2 and
> > >    other platforms), then it will use the component
> RadioCRCPacket.nc.
> > >    There seems to be an imote-specific RadioCRCPacket (defined in
> > >    beta/platform/imote/RadioCRCPacket.nc).  Unfortunately it uses a
> > >    component called BTRadioM, but I could not find it in my
> directory
> > >    (based on TinyOS 1.1.8).  I also goggled for "BTRadioM" or
> > >    "BTRadioM.nc", but could not find any mentioning of them.  Does
> the
> > >    imote-specific RadioCRCPacket.nc work?
> > >
> > > 2. There is an example in contrib/imote/apps/Accelerometer/ that
> seems
> > >    to use BT as radio.  The radio component it uses, however, is
> > >    "NetworkC" but not "RadioCRCPacket".  Does anyone know if this
> > >    example app work or not?  Can I use it as an example to write an
> > >    imote-specific TOSBase? (or an imote-specific RadioCRCPacket) Or
> > >    should I use some other example app as the starting point or
> > >    reference?
> > >
> > > Any other comments in this general direction are welcome.  Thanks in
> > > advance!
> > >
> > > Clement
> > >
> > >
> > > _______________________________________________
> > > Tinyos-help mailing list
> > > Tinyos-help at Millennium.Berkeley.EDU
> > > http://mail.Millennium.Berkeley.EDU/mailman/listinfo/tinyos-help
> > >
> >
> >
>
>



More information about the Tinyos-help mailing list