在Java中从Xbee获取信息

在Java中从Xbee获取信息,java,xbee,ar.drone,Java,Xbee,Ar.drone,我正试图从我的Xbee获取一些信息,但它不起作用 这是我的课堂测试代码: public static void main (String[] args){ XBee xbee = new XBee(); try { xbee.open("COM3", 9600); } catch (XBeeException e) { // TODO Auto-generated catch block e.printStackTra

我正试图从我的Xbee获取一些信息,但它不起作用

这是我的课堂测试代码:

 public static void main (String[] args){
     XBee xbee = new XBee();
     try {
        xbee.open("COM3", 9600);
    } catch (XBeeException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    while (true) {
        try {
            XBeeResponse response = xbee.getResponse(10000);
            // we got a response!
        } catch (XBeeTimeoutException e) {
            // we timed out without a response
        } catch (XBeeException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
我使用的是XbeeAPI

但我总是会犯这样的错误:

com.rapplogic.xbee.api.XBeeException:尝试在api模式下设置/读取时,AT命令超时。XBee收音机必须处于API模式(AP=2)才能与此库一起使用 在com.rappologic.xbee.api.xbee.doStartupChecks上(xbee.java:124) 在com.rappologic.xbee.api.xbee.initConnection(xbee.java:170)上 在com.rappologic.xbee.api.xbee.open上(xbee.java:142) 位于com.mohamed.test.main(test.java:16)


谢谢你你在哪个站台?如果是Windows,您能否使用Digi的X-CTU程序与XBee通信?您确认波特率以及模块处于正确模式(ATAP必须设置为2)了吗?

从错误中可以看出,您没有将XBee模块的API模式设置为2。尝试使用X-CTU(基于windows的程序)进行设置。下面是一个如何使用X-CTU设置API模式的示例(XBee Series 2):

我建议您使用包java.io的OutputStream和InputStream通过串行方式与XBee模块通信。通过此类,您可以发送和接收模块信息。确保模块处于AT模式