我正试图从我的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();
}
}
我正在使用Xbee API http://code.google.com/p/xbee-api/
但是我总是得到这样的错误:
com.rapplogic.xbee.api。XBeeException: AT命令超时,试图在API模式下设置/读取。XBee无线电必须处于API模式(AP=2)才能与此库一起使用com.rapplogic.xbee.api.XBee.doStartupChecks (XBee.java: 124)com.rapplogic.xbee.api.XBee.initConnection (XBee.java: 170)com.rapplogic.xbee.api.XBee.open (XBee.java: 142)com.mohamed.test.main (test.java: 16)
感谢Youuuuuu你在哪个平台?如果是Windows,您可以使用Digi的X-CTU程序与XBee通信吗?确认波特率和模块模式是否正确(ATAP必须设置为2)?
从错误中,看起来您没有将XBee模块的API模式设置为2。尝试使用X-CTU(基于windows的程序)设置它。下面是一个如何使用X-CTU设置API模式的示例(XBee Series 2):设置X-Bee为API模式
我建议您使用包java的OutputStream和InputStream。通过串口与XBee模块通信。使用这个类,您可以发送和接收模块信息。确保模块处于AT模式