Thanks a lot, I solved it. I put my code here:

_____________________________________________________
    char lenmsg = 9;
    unsigned char buff[9];
    int i = 0;

    buff[i++] = 0x00;  // syncByte
    buff[i++] = 0xFF;  // Destination Address
    buff[i++] = 0xFF;  // Destination Address
    buff[i++] = 0x00;  // Link source address
    buff[i++] = 0x00;  // Link source address
    buff[i++] = 0x01;  // Message length
    buff[i++] = 0x00;  // Group ID
    buff[i++] = 0x09;  // Active Message handler type
    buff[i++] = 0x56;  // Payload

    send(fd, &lenmsg, 1, 0);    
    send(fd, (char*)buff, lenmsg, 0);
    return 0;
_____________________________________________________


David

> Date: Tue, 29 Jun 2010 15:49:55 +0800
> From: [email protected]
> To: [email protected]
> CC: [email protected]
> Subject: Re: [Tinyos-help] How to send data from PC to mote using 
> SerialForwarder
> 
> 
> Following is a detailed example that we used explain to undergrad students 
> here. Sorry for being too detailed.
> 
> 1) start sf at the desired port number, for ex., ./sf 9001 /dev/ttyUSB0 
> telosb
> 
>                  9001 - SF port number
>                  /dev/ttyUSB0 - device address
>                  telosb - you can use name of the mote to specify baudrate
> 
> 2) Once you start SF at 9001, you can use
> 
>         a) "sfsend" to send commands to your mote: ./sfsend syncByte 
> destination source length AMType PAYLOAD
> 
>                                  syncByte (1 byte): 0
>                                  destination (two bytes): 0 126
>                                  source (2 bytes): 0 0
>                                  length (1 byte): length of payload
>                                  group (1 Byte): 0
>                                  AMType (1 byte): AM type of your message
>                                  PAYLOAD: payload starts here
> 
>          b) You can use "sflisten" to see what your program dumps from the 
> mote
> 
>                          ./sflisten hostAddr sfPort
>                          e.x., ./sflisten 127.0.0.1 9001
> 
> Regards,
> Manjunath D
> 
> 
> Manjunath D
> 
> ################################################################################################################
> ***************************************************************************************************************
> 
> On Tue, 29 Jun 2010, David Rodenas Herráiz wrote:
> 
> >
> > Hi
> >
> > I want to write a C++ program to send data from PC to a base station mote 
> > (app BaseStation) , and this one, send the data received to another mote. I 
> > have problems with the format packet I have to send (I connect to 
> > SerialForwarder and receive data). I have the following code (to do it, I 
> > used: http://www.tinyos.net/tinyos-2.x/doc/html/tep113.html):
> > ____________________________________________________________________
> > char lenmsg = 13;
> > unsigned char buff[13];
> > int i = 0;
> >
> > buff[i++]
> > = 0x7E;  // Framing byte
> > buff[i++] = 0x40;  // Protocol byte:
> > SerialP
> > buff[i++] = 0x09;  // Sequence number?
> > buff[i++] = 0x00;
> > // Packet format dispatch byte
> > buff[i++] = 0xFF;  // Message dest address
> > buff[i++]
> > = 0xFF;  // Message dest address
> > buff[i++] = 0x01;  // Packet size
> > buff[i++]
> > = 0x00;  // Group ID
> > buff[i++] = 0x06;  // Message Type
> > //buff[i++]
> > = 0x5D;  // 0x06 isn't a scape, so I don't need it
> > buff[i++] = 0x56;
> > // Data
> > buff[i++] = 0x00;  // CRC   ?? I don't know how to calculate CRC
> > buff[i++] = 0x00;  // CRC
> > buff[i++]
> > = 0x7E;  // Framing byte */
> >
> > send(fd, &lenmsg, 1, 0);
> > send(fd,
> > (char*)buff, lenmsg, 0);
> > ____________________________________________________________________
> >
> > I can see in the counter of packets written in the SerialForwarder (java 
> > version) that the packet is send, but it doesn't reach the basestation. I 
> > don't know if I'm using the right packet format to send data to 
> > SerialForwarder, because I thing the code above is for serial 
> > communication, not to SerialForwarder communication. I tested the following 
> > code (SerialAM message), but I had the same result:
> >
> > ____________________________________________________________________
> >
> > char lenmsg = 13;
> >
> >  unsigned char buff[13];
> >
> >  int i = 0;
> >
> >
> >
> >  buff[i++] = 0xFF;  // Message dest address
> >
> >  buff[i++]
> > = 0xFF;  // Message dest address
> >
> >  buff[i++] = 0x01;  // Packet size
> >
> >  buff[i++]
> > = 0x00;  // Group ID
> >
> >  buff[i++] = 0x06;  // Message Type
> >
> >  buff[i++] = 0x56;
> > // Data
> >
> >
> >
> >  send(fd, &lenmsg, 1, 0);
> >
> >  send(fd,
> > (char*)buff, lenmsg, 0);
> >
> >
> > ____________________________________________________________________
> >
> >
> >
> > Any suggestion?
> >
> > Thanks
> >
> > David
> >
> >
> >
> > _________________________________________________________________
> > Sé el protagonista de GQ con Messenger y Vodafone Blackberry. ¡Y gana 
> > premios!
> > http://serviciosmoviles.es.msn.com/messenger/vodafone.aspx
                                          
_________________________________________________________________
¿Quieres descubrir todos los trucos de Windows 7? ¡Hazlo aquí!
http://www.sietesunpueblodeexpertos.com/index_windows7.html
_______________________________________________
Tinyos-help mailing list
[email protected]
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help

Reply via email to