Code examples and extended information

In the Waspmote Development section you can find complete examples:

https://development.libelium.com/waspmote/

Example:

#include \
#include \
// Destination MAC address
//////////////////////////////////////////
char RX_ADDRESS[] = \"0013A200403A2A49\";
//////////////////////////////////////////
// Define the Waspmote ID
char WASPMOTE_ID[] = \"node_01\";
// define variable
uint8_t error;
void setup()
{
    // init USB port
    USB.ON();
    USB.println(F(\"Sending packets example\"));
    // store Waspmote identifier in EEPROM memory
    frame.setID( WASPMOTE_ID );
    // init XBee
    xbeeZB.ON();
    delay(3000);
    //////////////////////////
    // 2. check XBee\'s network parameters
    //////////////////////////
    checkNetworkParams();
}
void loop()
{
    ///////////////////////////////////////////
    // 1. Create ASCII frame
    ///////////////////////////////////////////
    // create new frame
    frame.createFrame(ASCII);
    // add frame fields
    frame.addSensor(SENSOR_STR, \"new_sensor_frame\");
    frame.addSensor(SENSOR_BAT, PWR.getBatteryLevel());
    ///////////////////////////////////////////
    // 2. Send packet
    ///////////////////////////////////////////
    // send XBee packet
    error = xbeeZB.send( RX_ADDRESS, frame.buffer, frame.length );
    // check TX flag
    if( error == 0 )
    {
    USB.println(F(\"send ok\"));
    }
    else
    {
    USB.println(F(\"send error\"));
    }
    // wait for five seconds
    delay(5000);
}
/*******************************************
*
* checkNetworkParams - Check operating
* network parameters in the XBee module
*
*******************************************/
void checkNetworkParams()
{
    // 1. get operating 64-b PAN ID
    xbeeZB.getOperating64PAN();
    // 2. wait for association indication
    xbeeZB.getAssociationIndication();
    while( xbeeZB.associationIndication != 0 )
    {
        delay(2000);
        // get operating 64-b PAN ID
        xbeeZB.getOperating64PAN();
        USB.print(F(\"operating 64-b PAN ID: \"));
        USB.printHex(xbeeZB.operating64PAN[0]);
        USB.printHex(xbeeZB.operating64PAN[1]);
        USB.printHex(xbeeZB.operating64PAN[2]);
        USB.printHex(xbeeZB.operating64PAN[3]);
        USB.printHex(xbeeZB.operating64PAN[4]);
        USB.printHex(xbeeZB.operating64PAN[5]);
        USB.printHex(xbeeZB.operating64PAN[6]);
        USB.printHex(xbeeZB.operating64PAN[7]);
        USB.println();
        xbeeZB.getAssociationIndication();
    }
    USB.println(F(\"\nJoined a network!\"));
    // 3. get network parameters
    xbeeZB.getOperating16PAN();
    xbeeZB.getOperating64PAN();
    xbeeZB.getChannel();
    USB.print(F(\"operating 16-b PAN ID: \"));
    USB.printHex(xbeeZB.operating16PAN[0]);
    USB.printHex(xbeeZB.operating16PAN[1]);
    USB.println();
    USB.print(F(\"operating 64-b PAN ID: \"));
    USB.printHex(xbeeZB.operating64PAN[0]);
    USB.printHex(xbeeZB.operating64PAN[1]);
    USB.printHex(xbeeZB.operating64PAN[2]);
    USB.printHex(xbeeZB.operating64PAN[3]);
    USB.printHex(xbeeZB.operating64PAN[4]);
    USB.printHex(xbeeZB.operating64PAN[5]);
    USB.printHex(xbeeZB.operating64PAN[6]);
    USB.printHex(xbeeZB.operating64PAN[7]);
    USB.println();
    USB.print(F(\"channel: \"));
    USB.printHex(xbeeZB.channel);
    USB.println();
}

Last updated