Javadrone - 如何在连接到无人机后获取无人机信息?例如。电池电量、海拔高度等?

Javadrone - How to get the drone info after connected into drone? E.G. Battery level, Altitude etc?

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

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()+ " %");

您需要使用com.codeminders.ardrone.NavDataListener接口。

  1. 实现NavDataListener接口, navDataReceived 方法.
  2. 使用 ARDrone 添加您的监听器 方法 addNavDataListener.
  3. 在你的navDataRecieved方法中 您将收到一个包含有效遥测数据的 NavData 对象。