import java.lang.reflect.*; import java.net.URL; import gw.*; public class GetLastBatteryVoltage { public static double TIMEOUT = 2.0; private GWPort proxy; GetLastBatteryVoltage(String gateway) { try { URL portURL = new URL("http://restsoap:AIIT@" + gateway + "/gw/soap"); GWServiceLocator locator = new GWServiceLocator(); proxy = locator.getGWPort(portURL); } catch (Exception e) { e.printStackTrace(); System.exit(2); } } public void get(String name, String addr) { GW__eventsReadLast_Result result; GW__Event_Result[] results; GW__Event value; Nx_node_stats_t event; try { result = proxy.eventsReadLast(name, addr); results = result.getResults(); for (int i = 0; i < results.length; i++) { value = results[i].getValue(); event = value.getNodeStatsEvent(); System.out.println( "Mote " + results[i].getAddr() + " Time " + results[i].getTimestamp() + " Voltage " + event.getVoltage() ); } } catch (Exception e) { e.printStackTrace(); System.exit(2); } } public static void main(String [] args) { if (args.length != 1 && args.length != 2) { System.out.println("Usage: java GetLastBatteryVoltage gateway [mote]"); System.exit(3); } String gateway = args[0]; String attrName; String mote; if (args.length == 1) mote = "ffffffffffffffff"; else mote = args[1]; GetLastBatteryVoltage get = new GetLastBatteryVoltage(gateway); attrName = "NodeStatsEvent"; get.get(attrName, mote); } }