X-Git-Url: http://plrg.eecs.uci.edu/git/?p=iot2.git;a=blobdiff_plain;f=benchmarks%2Fother%2FDoorlockAndOutlet%2FZigbeeTest_doorlock.java;fp=benchmarks%2Fother%2FDoorlockAndOutlet%2FZigbeeTest_doorlock.java;h=20ff4f2f791cd47683f0e326150cf426f2d77bd2;hp=0000000000000000000000000000000000000000;hb=093bd1103f814b977573805d799f64adb4596919;hpb=116d70fa80051fbc6a7a2c2987e185801ce9da30 diff --git a/benchmarks/other/DoorlockAndOutlet/ZigbeeTest_doorlock.java b/benchmarks/other/DoorlockAndOutlet/ZigbeeTest_doorlock.java new file mode 100644 index 0000000..20ff4f2 --- /dev/null +++ b/benchmarks/other/DoorlockAndOutlet/ZigbeeTest_doorlock.java @@ -0,0 +1,81 @@ +import java.util.Map; +import java.net.*; +import java.io.*; +import java.util.*; + +import iotruntime.*; +import iotruntime.zigbee.*; + +import iotcode.interfaces.*; +import java.rmi.RemoteException; + +//public class ZigbeeTest_doorlock implements IoTZigbeeCallback { +public class ZigbeeTest_doorlock implements SmartthingsSensorCallback { + public final int SOCKET_SEND_BUFFER_SIZE = 1024; + public final int SOCKET_RECEIVE_BUFFER_SIZE = 1024; + private static final String MY_IP_ADDRESS = "127.0.0.1"; + public static final String DEVIDE_MAC_ADDRESS = "002446fffd00b0ba"; //doorlock sensor + + public void newReadingAvailable(SmartthingsSensor _sensor) { + //public void newReadingAvailable(SmartthingsSensor _sensor) throws RemoteException { + System.out.println("New Message!!!!"); + int status = ((DoorlockSensor)_sensor).getStatus(); + switch (status) { + case 0: + System.out.println("Not fully locked"); + break; + case 1: + System.out.println("Locked"); + break; + case 2: + System.out.println("Unlocked"); + break; + default: + System.out.println("Unknown value: " + status); + break; + } + } + + public static void main(String[] args) throws UnknownHostException, SocketException, InterruptedException, IOException, IOException, RemoteException{ + + String message = "type: policy_set\n"; + message += "ip_address: " + MY_IP_ADDRESS + "\n"; // local ip address + message += "port: " + "5959\n"; // port number + message += "device_address_long: " + DEVIDE_MAC_ADDRESS + "\n"; + DatagramPacket sendPacket = new DatagramPacket(message.getBytes(), message.getBytes().length, InetAddress.getByName("127.0.0.1"), 5005); // address and port of the gateway which means Raspberry PI's IP address + DatagramSocket socket = new DatagramSocket(12345/*test number*/); + socket.setSendBufferSize(4096); + socket.setReceiveBufferSize(4096); + socket.send(sendPacket); + socket.setReuseAddress(true); + socket.close(); + + IoTDeviceAddress zigUdpAddr = new IoTDeviceAddress("127.0.0.1", 5959, 5005,false,false); + IoTZigbeeAddress zigAddrLong = new IoTZigbeeAddress(DEVIDE_MAC_ADDRESS); + + Set zigSet = new HashSet(); + zigSet.add(zigAddrLong); + IoTSet zigIotSet = new IoTSet(zigSet); + + Set devSet = new HashSet(); + devSet.add(zigUdpAddr); + IoTSet devIotSet = new IoTSet(devSet); + DoorlockSensor sen = new DoorlockSensor(devIotSet, zigIotSet); + + ZigbeeTest_doorlock zTest = new ZigbeeTest_doorlock(); + sen.registerCallback(zTest); + + System.out.println("About to init"); + sen.init(); + + // ZigbeeTest_doorlock zTest = new ZigbeeTest_doorlock(); + // sen.registerCallback(zTest); + + + System.out.println("Loop Begin"); + while (true) { + + } + } + +}