Advertisement
Guest User

Untitled

a guest
Jul 27th, 2015
207
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.11 KB | None | 0 0
  1. import java.util.Queue;
  2. import java.util.concurrent.ConcurrentLinkedQueue;
  3. import org.apache.log4j.PropertyConfigurator;
  4. import com.rapplogic.xbee.api.PacketListener;
  5. import com.rapplogic.xbee.api.XBee;
  6. import com.rapplogic.xbee.api.XBeeResponse;
  7. import com.rapplogic.xbee.api.wpan.RxResponseIoSample;
  8. import com.rapplogic.xbee.api.XBeeAddress16;
  9. import com.rapplogic.xbee.api.XBeeAddress64;
  10. import com.rapplogic.xbee.api.XBeeException;
  11. import com.rapplogic.xbee.api.XBeeTimeoutException;
  12. import com.rapplogic.xbee.api.zigbee.ZNetTxRequest;
  13. import com.rapplogic.xbee.api.zigbee.ZNetTxStatusResponse;
  14. import com.rapplogic.xbee.util.ByteUtils;
  15.  
  16. import com.rapplogic.xbee.api.wpan.TxRequest16;
  17. import com.rapplogic.xbee.api.wpan.TxRequest64;
  18. import com.rapplogic.xbee.api.wpan.TxStatusResponse;
  19.  
  20. XBee xbee;
  21. String mod1 = "00 13 A2 00 40 A9 91 6B";
  22. XBeeAddress64 addr64 = new XBeeAddress64(mod1);
  23.  
  24. Queue<XBeeResponse> queue = new ConcurrentLinkedQueue<XBeeResponse>();
  25. XBeeResponse response;
  26.  
  27. void setup() {
  28. background(0);
  29. frameRate(10);
  30. size(100, 100);
  31.  
  32. try {
  33. xbee = new XBee();
  34. // replace with your COM port
  35. xbee.open("COM9", 9600);
  36. xbee.addPacketListener(new PacketListener() {
  37. public void processResponse(XBeeResponse response) {
  38. queue.offer(response);
  39. }
  40. }
  41. );
  42. }
  43. catch (Exception e) {
  44. System.out.println("XBee failed to initialize");
  45. e.printStackTrace();
  46. System.exit(1);
  47. }
  48. }
  49.  
  50. void draw() {
  51. int[] payload = ByteUtils.stringToIntArray("hola XBee!");
  52. sendPackets ( addr64, payload);
  53. try {
  54. readPackets();
  55. }
  56. catch (Exception e) {
  57. e.printStackTrace();
  58. }
  59. }
  60.  
  61. void sendPackets ( XBeeAddress64 addr64, int [] payload) {
  62. try {
  63. // ZNetTxRequest request = new ZNetTxRequest(addr64, payload);
  64. TxRequest64 tx2 = new TxRequest64(addr64, payload);
  65. // xbee.sendAsynchronous(request);
  66. xbee.sendAsynchronous(tx2);
  67. }
  68. catch (XBeeException e) {
  69. }
  70. }
  71.  
  72.  
  73. void readPackets() throws Exception {
  74. while ( (response = queue.poll ()) != null) {
  75. // we got something!
  76. //println("ID de respuesta = "+response.getApiId());
  77. if (response.getApiId() == ApiId.ZNET_RX_RESPONSE) {
  78. println("hola");
  79. response = xbee.getResponse();
  80. try {
  81. ZNetRxResponse sample = (ZNetRxResponse) response;
  82. String ms = "";
  83. int [] data = sample.getData();
  84. for (int i = 0; i< data.length; i++) {
  85. char b = char(data [i]) ;
  86. ms+=b;
  87. }
  88. //char b = char(data [0]) ;
  89. println("data="+ms);
  90. }
  91. catch (ClassCastException e) {
  92. }
  93. } else if (response.getApiId() == ApiId.RX_16_RESPONSE) {
  94. println("Received RX 16 packet " + ((RxResponse16)response));
  95. response = xbee.getResponse();
  96. try {
  97.  
  98. RxResponse16 Sample = (RxResponse16) response;
  99. String ms = "";
  100. int [] data = Sample.getData();
  101. for (int i = 0; i< data.length; i++) {
  102. char b = char(data [i]) ;
  103. ms+=b;
  104. }
  105. println("data="+ms);
  106. }
  107. catch (ClassCastException e) {
  108. // not an IO Sample
  109. println("error leyendo paquetes");
  110. }
  111. } else if (response.getApiId() == ApiId.RX_64_RESPONSE) {
  112. println("Received RX 64 packet " + ((RxResponse64)response));
  113. //response = xbee.getResponse();
  114. try {
  115.  
  116. RxResponse64 Sample = (RxResponse64) response;
  117. String ms = "";
  118. int [] data = Sample.getData();
  119. for (int i = 0; i< data.length; i++) {
  120. char b = char(data [i]) ;
  121. ms+=b;
  122. }
  123. println("data="+ms);
  124. }
  125. catch (ClassCastException e) {
  126.  
  127. println("error leyendo paquetes");
  128. }
  129. }
  130. if (response.getApiId() == ApiId.RX_16_IO_RESPONSE) {
  131. try {
  132. RxResponseIoSample ioSample = (RxResponseIoSample) response;
  133.  
  134. println("We received a sample from " + ioSample.getSourceAddress());
  135.  
  136. if (ioSample.containsAnalog()) {
  137. println("10-bit temp reading (pin 19) is " +
  138. ioSample.getSamples()[0].getAnalog1());
  139. }
  140. }
  141. catch (ClassCastException e) {
  142. // not an IO Sample
  143. println("error leyendo paquetes");
  144. }
  145. }
  146. }
  147. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement