diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 0000000..13566b8
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,8 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Editor-based HTTP Client requests
+/httpRequests/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
diff --git a/.idea/libraries/tinylog.xml b/.idea/libraries/tinylog.xml
new file mode 100644
index 0000000..6f50db9
--- /dev/null
+++ b/.idea/libraries/tinylog.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000..af89096
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,50 @@
+
+
+
+
+
+
+
+
+ Android
+
+
+ CodePlugin DevKit
+
+
+ ComplianceLintAndroid
+
+
+ CorrectnessLintAndroid
+
+
+ Java
+
+
+ Java language level migration aidsJava
+
+
+ LintAndroid
+
+
+ PerformanceLintAndroid
+
+
+ Plugin DevKit
+
+
+ UsabilityLintAndroid
+
+
+
+
+ Android
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 0000000..2f4c369
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..94a25f7
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ProtegeToAASMini.iml b/ProtegeToAASMini.iml
new file mode 100644
index 0000000..994ace1
--- /dev/null
+++ b/ProtegeToAASMini.iml
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/AASMini/AASMini.java b/src/AASMini/AASMini.java
index 38a836b..76e9786 100644
--- a/src/AASMini/AASMini.java
+++ b/src/AASMini/AASMini.java
@@ -5,6 +5,7 @@ import org.pmw.tinylog.Logger;
import java.net.InetAddress;
import java.net.Socket;
+@SuppressWarnings("unused")
public class AASMini {
private final String targetIP;
private final int targetPort;
@@ -20,6 +21,14 @@ public class AASMini {
this.targetPort = port;
}
+ /**
+ * Check if the AAS Mini is connected
+ * @return true if connected, false otherwise
+ */
+ public boolean IsConnected(){
+ return socket != null && socket.isConnected();
+ }
+
/**
* Connect to AAS Mini
* @return true if connected, false otherwise
@@ -42,6 +51,61 @@ public class AASMini {
return false;
}
+ /**
+ * Disconnect from AAS Mini
+ */
+ public void Disconnect(){
+ try{
+ if (socket != null && socket.isConnected()){
+ socket.close();
+ Logger.info("Disconnected from {}:{}", targetIP, targetPort);
+ }
+ } catch (Exception e){
+ Logger.error("Failed to disconnect from {}:{}, Error : {}", targetIP, targetPort, e.getMessage());
+ }
+ socket = null;
+ }
+ //TODO protocol untuk kirim data ke AAS Mini
+ /**
+ * Send data to AAS Mini and receive response
+ * @param data Data to be sent
+ * @return byte array of response or null if failed
+ */
+ private byte[] SendAndReceive(byte[] data){
+ if (IsConnected()){
+ if (data!=null && data.length>0){
+ try{
+ socket.getOutputStream().write(data);
+ byte[] buffer = new byte[1024];
+ int read = socket.getInputStream().read(buffer);
+ if (read>0){
+ byte[] result = new byte[read];
+ System.arraycopy(buffer, 0, result, 0, read);
+ return result;
+ }
+ } catch (Exception e){
+ Logger.error("Failed to send data to {}:{}, Error : {}", targetIP, targetPort, e.getMessage());
+ }
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Send data to AAS Mini
+ * @param data Data to be sent
+ */
+ private void SendData(byte[] data){
+ if (IsConnected()){
+ if (data!=null && data.length>0){
+ try{
+ socket.getOutputStream().write(data);
+ } catch (Exception e){
+ Logger.error("Failed to send data to {}:{}, Error : {}", targetIP, targetPort, e.getMessage());
+ }
+ }
+ }
+ }
}