Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Queue;
- import java.util.concurrent.ConcurrentLinkedQueue;
- import org.apache.log4j.PropertyConfigurator;
- import com.rapplogic.xbee.api.PacketListener;
- import com.rapplogic.xbee.api.XBee;
- import com.rapplogic.xbee.api.XBeeResponse;
- import com.rapplogic.xbee.api.wpan.RxResponseIoSample;
- import com.rapplogic.xbee.api.XBeeAddress16;
- import com.rapplogic.xbee.api.XBeeAddress64;
- import com.rapplogic.xbee.api.XBeeException;
- import com.rapplogic.xbee.api.XBeeTimeoutException;
- import com.rapplogic.xbee.api.zigbee.ZNetTxRequest;
- import com.rapplogic.xbee.api.zigbee.ZNetTxStatusResponse;
- import com.rapplogic.xbee.util.ByteUtils;
- import com.rapplogic.xbee.api.wpan.TxRequest16;
- import com.rapplogic.xbee.api.wpan.TxRequest64;
- import com.rapplogic.xbee.api.wpan.TxStatusResponse;
- XBee xbee;
- String mod1 = "00 13 A2 00 40 A9 91 6B";
- XBeeAddress64 addr64 = new XBeeAddress64(mod1);
- Queue<XBeeResponse> queue = new ConcurrentLinkedQueue<XBeeResponse>();
- XBeeResponse response;
- void setup() {
- background(0);
- frameRate(10);
- size(100, 100);
- try {
- xbee = new XBee();
- // replace with your COM port
- xbee.open("COM9", 9600);
- xbee.addPacketListener(new PacketListener() {
- public void processResponse(XBeeResponse response) {
- queue.offer(response);
- }
- }
- );
- }
- catch (Exception e) {
- System.out.println("XBee failed to initialize");
- e.printStackTrace();
- System.exit(1);
- }
- }
- void draw() {
- int[] payload = ByteUtils.stringToIntArray("hola XBee!");
- sendPackets ( addr64, payload);
- try {
- readPackets();
- }
- catch (Exception e) {
- e.printStackTrace();
- }
- }
- void sendPackets ( XBeeAddress64 addr64, int [] payload) {
- try {
- // ZNetTxRequest request = new ZNetTxRequest(addr64, payload);
- TxRequest64 tx2 = new TxRequest64(addr64, payload);
- // xbee.sendAsynchronous(request);
- xbee.sendAsynchronous(tx2);
- }
- catch (XBeeException e) {
- }
- }
- void readPackets() throws Exception {
- while ( (response = queue.poll ()) != null) {
- // we got something!
- //println("ID de respuesta = "+response.getApiId());
- if (response.getApiId() == ApiId.ZNET_RX_RESPONSE) {
- println("hola");
- response = xbee.getResponse();
- try {
- ZNetRxResponse sample = (ZNetRxResponse) response;
- String ms = "";
- int [] data = sample.getData();
- for (int i = 0; i< data.length; i++) {
- char b = char(data [i]) ;
- ms+=b;
- }
- //char b = char(data [0]) ;
- println("data="+ms);
- }
- catch (ClassCastException e) {
- }
- } else if (response.getApiId() == ApiId.RX_16_RESPONSE) {
- println("Received RX 16 packet " + ((RxResponse16)response));
- response = xbee.getResponse();
- try {
- RxResponse16 Sample = (RxResponse16) response;
- String ms = "";
- int [] data = Sample.getData();
- for (int i = 0; i< data.length; i++) {
- char b = char(data [i]) ;
- ms+=b;
- }
- println("data="+ms);
- }
- catch (ClassCastException e) {
- // not an IO Sample
- println("error leyendo paquetes");
- }
- } else if (response.getApiId() == ApiId.RX_64_RESPONSE) {
- println("Received RX 64 packet " + ((RxResponse64)response));
- //response = xbee.getResponse();
- try {
- RxResponse64 Sample = (RxResponse64) response;
- String ms = "";
- int [] data = Sample.getData();
- for (int i = 0; i< data.length; i++) {
- char b = char(data [i]) ;
- ms+=b;
- }
- println("data="+ms);
- }
- catch (ClassCastException e) {
- println("error leyendo paquetes");
- }
- }
- if (response.getApiId() == ApiId.RX_16_IO_RESPONSE) {
- try {
- RxResponseIoSample ioSample = (RxResponseIoSample) response;
- println("We received a sample from " + ioSample.getSourceAddress());
- if (ioSample.containsAnalog()) {
- println("10-bit temp reading (pin 19) is " +
- ioSample.getSamples()[0].getAnalog1());
- }
- }
- catch (ClassCastException e) {
- // not an IO Sample
- println("error leyendo paquetes");
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement