2

我正在开发一个使用 Javadrone API 及其库来控制 Parrot Ar.Drone 的应用程序。我能够连接到无人机并使其成功起飞/降落。

Javadrone API 可以在这里下载:https ://code.google.com/p/javadrone/downloads/list

但是,我不知道如何提取我想要的无人机信息。我试图调用适当的函数。但它行不通。

我的代码:

import com.codeminders.ardrone.NavData;

In my class : -
    //declare a jlabel for battery level 
    public NavData data;
    public int value = data.getBattery();
    JLabel batteryStatus = new JLabel(); 

    batteryStatus.setForeground(Color.YELLOW);    
    batteryStatus.setText(data.getBattery()+ " %");

    if (value < 15) {
            batteryStatus.setForeground(Color.RED);
    } else if (value < 50) {
            batteryStatus.setForeground(Color.ORANGE);
    } else {
            batteryStatus.setForeground(Color.GREEN);
    }

知道如何使它起作用吗?如果我运行这段代码,它不会运行,因为它会编译卡在 getBattery() 方法上。我想在项目中实现这个调用函数,以便获得相关的航班信息。例如高度可以显示在我的应用程序上。谢谢。

代码编译的输出:

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at ardrone.arDroneFrame.jButtonConnectActionPerformed(arDroneFrame.java:462)
LINE 462 : batteryStatus.setText(data.getBattery()+ " %");
4

1 回答 1

0

您需要使用该com.codeminders.ardrone.NavDataListener界面。

  1. 实现NavDataListener接口和 navDataReceived方法
  2. ARDrone 使用方法addNavDataListener添加您的侦听器。
  3. 在您的navDataRecieved方法中,您将收到一个带有有效遥测数据的 NavData 对象。
于 2015-06-24T17:13:39.747 回答