900HP 02: Send packet
This program shows how to send packets to a gateway indicating the MAC address of the receiving XBee module
Required Materials
1 x Waspmote 1 x Battery 1 x MicroUSB wire 1 x XBee-PRO 900HP
Notes
- The battery has to be connected. - This example can be executed in Waspmote v15
Code
/*
* ------ [900HP_02] - send packets to a gateway --------
*
* Explanation: This program shows how to send packets to a gateway
* indicating the MAC address of the receiving XBee module
*
* Copyright (C) 2016 Libelium Comunicaciones Distribuidas S.L.
* http://www.libelium.com
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
* Version: 3.0
* Design: David Gascón
* Implementation: Yuri Carmona
*/
#include <WaspXBee900HP.h>
#include <WaspFrame.h>
// Destination MAC address
//////////////////////////////////////////
char RX_ADDRESS[] = "0013A20040A63E21";
//////////////////////////////////////////
// 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
xbee900HP.ON();
}
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());
// show frame to send
frame.showFrame();
///////////////////////////////////////////
// 2. Send packet
///////////////////////////////////////////
// send XBee packet
error = xbee900HP.send( RX_ADDRESS, frame.buffer, frame.length );
// check TX flag
if( error == 0 )
{
USB.println(F("send ok"));
// blink green LED
Utils.blinkGreenLED();
}
else
{
USB.println(F("send error"));
// blink red LED
Utils.blinkRedLED();
}
// wait for five seconds
delay(5000);
}
Output
H#
Sending packets example
===============================
Current ASCII Frame:
Length: 61
Frame Type: 134
frame (HEX): 3C3D3E86022332323330353330453639354234414230236E6F64655F30312330235354523A6E65775F73656E736F725F6672616D65234241543A393523
frame (STR): <=>�#2230530E695B4AB0#node_01#0#STR:new_sensor_frame#BAT:95#
===============================
send ok
===============================
Current ASCII Frame:
Length: 62
Frame Type: 134
frame (HEX): 3C3D3E86022332323330353330453639354234414230236E6F64655F30312331235354523A6E65775F73656E736F725F6672616D65234241543A31303023
frame (STR): <=>�#2230530E695B4AB0#node_01#1#STR:new_sensor_frame#BAT:100#
===============================
send ok
===============================
Current ASCII Frame:
Length: 62
Frame Type: 134
frame (HEX): 3C3D3E86022332323330353330453639354234414230236E6F64655F30312332235354523A6E65775F73656E736F725F6672616D65234241543A31303023
frame (STR): <=>�#2230530E695B4AB0#node_01#2#STR:new_sensor_frame#BAT:100#
===============================
send ok
Last updated