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