From aed1c3a2394a505da3aedcbfa54498fcfe0522db Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Efe=20Ayd=C4=B1n?= <3feaydin@gmail.com>
Date: Tue, 16 Jul 2019 19:55:22 +0300
Subject: [PATCH] aa
---
Ev3/main.py | 61 +-
master_app/nbactions.xml | 2 +-
master_app/pom.xml | 5 +
.../yigitcolakoglu/master_app/cameraForm.form | 555 +++-----------
.../yigitcolakoglu/master_app/cameraForm.java | 695 ++++++------------
5 files changed, 384 insertions(+), 934 deletions(-)
diff --git a/Ev3/main.py b/Ev3/main.py
index 289e991..ac12da0 100644
--- a/Ev3/main.py
+++ b/Ev3/main.py
@@ -1,6 +1,7 @@
#!/usr/bin/env python3
print("[INFO]: Interpreter started")
from ev3dev.core import *
+import ev3dev.ev3 as ev3
print("[INFO]: Imported ev3dev.ev3")
import socket
print("[INFO]: Imported socket")
@@ -9,12 +10,32 @@ print("[INFO]: Imported os")
import json
print("[INFO]: Imported json")
+state = True
+motor1 = ev3.LargeMotor("outA")
+motor2 = ev3.LargeMotor("outD")
+cam = ev3.MediumMotor('outB')
+def move(speed):
+ if time:
+ motor1.run_forever(speed_sp=speed)
+ motor2.run_forever(speed_sp=speed)
+ cam.run_to_abs_pos(position_sp=0, speed_sp=500)
+
+def stop():
+ motor1.stop()
+ motor2.stop()
+ cam.stop()
HOST = '0.0.0.0'
PORT = 3131
-mjpeg_loc = "/home/robot/mjpeg-streamer/mjpeg-streamer-experimantal/mjpeg-streamer"
-os.spawnl(os.P_DETACH, ' -i "./input_uvc.so -f 15 -r 640x480" -o "./output_http.so -w ./www"')
+pid=os.fork()
+if pid==0: # new process
+ mjpeg_loc = "/home/robot/mjpg-streamer/"
+ os.system('{0}mjpg_streamer -i "{0}input_uvc.so -f 15 -y" -o "{0}output_http.so -w {0}www"'.format(mjpeg_loc))
+ exit()
power = PowerSupply()
+if power.measured_volts < 7.1:
+ print("Change the battery.")
+ exit()
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
try:
@@ -25,19 +46,37 @@ with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
conn, addr = s.accept()
with conn:
print('[INFO]: Connected by', addr)
+ move(500)
while True:
+ if cam.speed == 0 and (motor1.speed > 0 and motor2.speed > 0):
+ if state:
+ cam.run_to_abs_pos(position_sp=4000, speed_sp=500)
+ else:
+ cam.run_to_abs_pos(position_sp=0, speed_sp=500)
+ state = not state
try:
- data = {
- "battery_voltage":power.measured_volts,
- "current_drawn":power.measured_amps,
- "lat":31,
- "lng":39
- }
- conn.send((json.dumps(data, ensure_ascii=False)+"\n").encode('gbk'))
+ recieved = conn.recv(1024)
+ if not recieved:
+ pass
+ else:
+ recieved = recieved.decode().strip()[-1]
+ print(recieved)
+ if recieved == 's':
+ stop()
+ elif recieved == 'm':
+ move(500)
+ elif recieved == 'i':
+ data = {
+ "battery_voltage":power.measured_volts,
+ "current_drawn":power.measured_amps,
+ "lat":31,
+ "lng":39
+ }
+ conn.send((json.dumps(data, ensure_ascii=False)+"\n").encode('gbk'))
except BrokenPipeError:
print("[INFO]: Client disconnected")
+ stop()
break
-
-
except KeyboardInterrupt:
+ stop()
s.close()
diff --git a/master_app/nbactions.xml b/master_app/nbactions.xml
index 3b0d5fa..2e5d247 100644
--- a/master_app/nbactions.xml
+++ b/master_app/nbactions.xml
@@ -10,7 +10,7 @@
org.codehaus.mojo:exec-maven-plugin:1.5.0:exec
- -classpath %classpath ${packageClassName} ips.json
+ -classpath %classpath me.yigitcolakoglu.master_app.Main ips.json
java
/home/efeaydin/Masaüstü/MyCity/master_app/src/main/java/me/yigitcolakoglu/master_app
diff --git a/master_app/pom.xml b/master_app/pom.xml
index 1438ee1..27c7400 100644
--- a/master_app/pom.xml
+++ b/master_app/pom.xml
@@ -16,6 +16,11 @@
sshj
0.27.0
+
+ commons-io
+ commons-io
+ 2.6
+
UTF-8
diff --git a/master_app/src/main/java/me/yigitcolakoglu/master_app/cameraForm.form b/master_app/src/main/java/me/yigitcolakoglu/master_app/cameraForm.form
index d8c1646..5f0cd17 100644
--- a/master_app/src/main/java/me/yigitcolakoglu/master_app/cameraForm.form
+++ b/master_app/src/main/java/me/yigitcolakoglu/master_app/cameraForm.form
@@ -82,19 +82,15 @@
-
+
+
+
-
-
+
+
+
-
-
-
-
-
-
-
@@ -109,13 +105,10 @@
-
-
-
-
-
-
-
+
+
+
+
@@ -128,25 +121,31 @@
-
+
-
+
-
+
-
+
-
-
-
-
+
-
+
-
+
+
+
+
+
+
+
+
+
+
@@ -186,216 +185,11 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
@@ -403,33 +197,21 @@
-
-
-
-
-
+
-
-
-
-
-
+
-
-
-
-
-
+
-
-
+
+
@@ -437,19 +219,33 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -457,210 +253,67 @@
-
-
-
-
-
-
-
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
-
+
+
+
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
-
+
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/master_app/src/main/java/me/yigitcolakoglu/master_app/cameraForm.java b/master_app/src/main/java/me/yigitcolakoglu/master_app/cameraForm.java
index 500d4ce..3775cf8 100644
--- a/master_app/src/main/java/me/yigitcolakoglu/master_app/cameraForm.java
+++ b/master_app/src/main/java/me/yigitcolakoglu/master_app/cameraForm.java
@@ -12,6 +12,8 @@ import java.awt.Image;
import java.awt.RenderingHints;
import java.awt.image.BufferedImage;
import java.util.Base64;
+import java.util.logging.Level;
+import java.util.logging.Logger;
import javax.imageio.ImageIO;
import javax.net.ssl.HttpsURLConnection;
import javax.swing.ImageIcon;
@@ -19,7 +21,7 @@ import javax.swing.JOptionPane;
import javax.swing.JTabbedPane;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
-import net.schmizz.sshj.common.IOUtils;
+import org.apache.commons.io.IOUtils;
import org.json.JSONObject;
/**
@@ -33,12 +35,16 @@ public class cameraForm extends javax.swing.JFrame implements ChangeListener{
*/
public cameraForm() {
initComponents();
- initialize();
}
private ServerSocket server;
private Socket client;
private Thread running = null;
private boolean listening = false;
+ private String ROBOT_IP = "10.42.0.9";
+ private String AI_IP = "10.10.26.161";
+ private Socket robotSocket;
+ private DataOutputStream out;
+ private BufferedReader in;
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
@@ -50,40 +56,22 @@ public class cameraForm extends javax.swing.JFrame implements ChangeListener{
jPanel1 = new javax.swing.JPanel();
jTabbedPane1 = new javax.swing.JTabbedPane();
- jPanel2 = new javax.swing.JPanel();
- camera_full_label = new javax.swing.JLabel();
- ambulance_button = new javax.swing.JButton();
- camera_cut_label = new javax.swing.JLabel();
- jPanel3 = new javax.swing.JPanel();
- jLabel1 = new javax.swing.JLabel();
- jLabel2 = new javax.swing.JLabel();
- jLabel3 = new javax.swing.JLabel();
- jLabel4 = new javax.swing.JLabel();
- jLabel5 = new javax.swing.JLabel();
- jLabel6 = new javax.swing.JLabel();
- gpu_usage = new javax.swing.JLabel();
- gpu_temp = new javax.swing.JLabel();
- cpu_usage = new javax.swing.JLabel();
- cpu_temp = new javax.swing.JLabel();
- ram_usage = new javax.swing.JLabel();
- ram_temp = new javax.swing.JLabel();
- jLabel7 = new javax.swing.JLabel();
- fan_rpm = new javax.swing.JLabel();
- fps_label = new javax.swing.JLabel();
- manage_button = new javax.swing.JButton();
- jPanel4 = new javax.swing.JPanel();
jPanel5 = new javax.swing.JPanel();
- intersect_1_Y = new javax.swing.JLabel();
- intersect_1_G = new javax.swing.JLabel();
- intersect_1_R = new javax.swing.JLabel();
+ intersection_label = new javax.swing.JLabel();
+ ambulance_label = new javax.swing.JLabel();
+ fps_label = new javax.swing.JLabel();
jPanel6 = new javax.swing.JPanel();
- intersect_2_Y = new javax.swing.JLabel();
- intersect_2_G = new javax.swing.JLabel();
- intersect_2_R = new javax.swing.JLabel();
- jLabel8 = new javax.swing.JLabel();
- jLabel9 = new javax.swing.JLabel();
+ light_1_label = new javax.swing.JLabel();
+ light_2_label = new javax.swing.JLabel();
jPanel7 = new javax.swing.JPanel();
+ jPanel2 = new javax.swing.JPanel();
robot_cam_label = new javax.swing.JLabel();
+ battery_voltage_label = new javax.swing.JLabel();
+ current_drawn_label = new javax.swing.JLabel();
+ latitude_label = new javax.swing.JLabel();
+ longitude_label = new javax.swing.JLabel();
+ robot_stop = new javax.swing.JButton();
+ move_robot = new javax.swing.JButton();
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
@@ -109,14 +97,43 @@ public class cameraForm extends javax.swing.JFrame implements ChangeListener{
}
});
- camera_full_label.setText(" ");
+ intersection_label.setAlignmentY(0.0F);
- ambulance_button.setText("Start");
- ambulance_button.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- ambulance_buttonActionPerformed(evt);
- }
- });
+ ambulance_label.setName(""); // NOI18N
+
+ fps_label.setText("0 FPS");
+
+ javax.swing.GroupLayout jPanel5Layout = new javax.swing.GroupLayout(jPanel5);
+ jPanel5.setLayout(jPanel5Layout);
+ jPanel5Layout.setHorizontalGroup(
+ jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(jPanel5Layout.createSequentialGroup()
+ .addGap(30, 30, 30)
+ .addComponent(intersection_label, javax.swing.GroupLayout.PREFERRED_SIZE, 1024, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(jPanel5Layout.createSequentialGroup()
+ .addGap(185, 185, 185)
+ .addComponent(ambulance_label, javax.swing.GroupLayout.PREFERRED_SIZE, 250, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addContainerGap(204, Short.MAX_VALUE))
+ .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel5Layout.createSequentialGroup()
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addComponent(fps_label)
+ .addGap(168, 168, 168))))
+ );
+ jPanel5Layout.setVerticalGroup(
+ jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(jPanel5Layout.createSequentialGroup()
+ .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(jPanel5Layout.createSequentialGroup()
+ .addGap(52, 52, 52)
+ .addComponent(fps_label)
+ .addGap(88, 88, 88)
+ .addComponent(ambulance_label, javax.swing.GroupLayout.PREFERRED_SIZE, 280, javax.swing.GroupLayout.PREFERRED_SIZE))
+ .addGroup(jPanel5Layout.createSequentialGroup()
+ .addGap(29, 29, 29)
+ .addComponent(intersection_label, javax.swing.GroupLayout.PREFERRED_SIZE, 768, javax.swing.GroupLayout.PREFERRED_SIZE)))
+ .addContainerGap(181, Short.MAX_VALUE))
+ );
jTabbedPane1.addTab("Intersection & Ambulance", jPanel5);
@@ -147,16 +164,48 @@ public class cameraForm extends javax.swing.JFrame implements ChangeListener{
jTabbedPane1.addTab("Traffic Lights", jPanel6);
- fan_rpm.setFont(new java.awt.Font("Dialog", 1, 24)); // NOI18N
- fan_rpm.setText("2500 RPM");
+ javax.swing.GroupLayout jPanel7Layout = new javax.swing.GroupLayout(jPanel7);
+ jPanel7.setLayout(jPanel7Layout);
+ jPanel7Layout.setHorizontalGroup(
+ jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGap(0, 1693, Short.MAX_VALUE)
+ );
+ jPanel7Layout.setVerticalGroup(
+ jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGap(0, 978, Short.MAX_VALUE)
+ );
+
+ jTabbedPane1.addTab("Loads", jPanel7);
- fps_label.setFont(new java.awt.Font("Dialog", 1, 18)); // NOI18N
- fps_label.setText("60 FPS");
+ battery_voltage_label.setText("Battery Voltage");
- manage_button.setText("Management");
- manage_button.addActionListener(new java.awt.event.ActionListener() {
+ current_drawn_label.setText("Current Drawn");
+
+ latitude_label.setText("Latitude");
+
+ longitude_label.setText("Longitude");
+
+ robot_stop.setText("Stop Robot");
+ robot_stop.addMouseListener(new java.awt.event.MouseAdapter() {
+ public void mousePressed(java.awt.event.MouseEvent evt) {
+ robot_stopMousePressed(evt);
+ }
+ });
+ robot_stop.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
- manage_buttonActionPerformed(evt);
+ robot_stopActionPerformed(evt);
+ }
+ });
+
+ move_robot.setText("Move Robot");
+ move_robot.addMouseListener(new java.awt.event.MouseAdapter() {
+ public void mousePressed(java.awt.event.MouseEvent evt) {
+ move_robotMousePressed(evt);
+ }
+ });
+ move_robot.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ move_robotActionPerformed(evt);
}
});
@@ -165,328 +214,48 @@ public class cameraForm extends javax.swing.JFrame implements ChangeListener{
jPanel2Layout.setHorizontalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
+ .addContainerGap()
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
- .addComponent(camera_full_label, javax.swing.GroupLayout.PREFERRED_SIZE, 1280, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 31, Short.MAX_VALUE))
- .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup()
- .addGap(0, 0, Short.MAX_VALUE)
- .addComponent(ambulance_button, javax.swing.GroupLayout.PREFERRED_SIZE, 247, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addGap(475, 475, 475)))
- .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup()
+ .addComponent(robot_cam_label, javax.swing.GroupLayout.DEFAULT_SIZE, 1469, Short.MAX_VALUE)
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+ .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addComponent(move_robot)
+ .addComponent(robot_stop))
+ .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+ .addGroup(jPanel2Layout.createSequentialGroup()
+ .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addComponent(current_drawn_label)
+ .addComponent(longitude_label))
+ .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+ .addGroup(jPanel2Layout.createSequentialGroup()
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup()
- .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup()
- .addComponent(jLabel7, javax.swing.GroupLayout.PREFERRED_SIZE, 131, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(fan_rpm, javax.swing.GroupLayout.PREFERRED_SIZE, 150, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup()
- .addComponent(fps_label, javax.swing.GroupLayout.PREFERRED_SIZE, 84, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addGap(86, 86, 86)))
- .addGap(18, 18, 18))
- .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, 256, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(camera_cut_label, javax.swing.GroupLayout.PREFERRED_SIZE, 300, javax.swing.GroupLayout.PREFERRED_SIZE)))
- .addContainerGap())
- .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup()
- .addComponent(manage_button, javax.swing.GroupLayout.PREFERRED_SIZE, 124, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addGap(95, 95, 95))))
+ .addComponent(battery_voltage_label)
+ .addComponent(latitude_label))
+ .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))))
);
jPanel2Layout.setVerticalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
- .addGap(32, 32, 32)
+ .addContainerGap()
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addComponent(robot_cam_label, javax.swing.GroupLayout.PREFERRED_SIZE, 480, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(jPanel2Layout.createSequentialGroup()
- .addComponent(camera_full_label, javax.swing.GroupLayout.PREFERRED_SIZE, 720, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 27, Short.MAX_VALUE)
- .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(ambulance_button)
- .addComponent(manage_button))
- .addContainerGap())
- .addGroup(jPanel2Layout.createSequentialGroup()
- .addComponent(camera_cut_label, javax.swing.GroupLayout.PREFERRED_SIZE, 300, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(jPanel2Layout.createSequentialGroup()
- .addGap(180, 180, 180)
- .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(jLabel7)
- .addComponent(fan_rpm, javax.swing.GroupLayout.PREFERRED_SIZE, 38, javax.swing.GroupLayout.PREFERRED_SIZE)))
- .addGroup(jPanel2Layout.createSequentialGroup()
- .addGap(18, 18, 18)
- .addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addComponent(fps_label, javax.swing.GroupLayout.PREFERRED_SIZE, 33, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addGap(110, 110, 110))))
- );
-
- jTabbedPane1.addTab("Loads", jPanel7);
-
- jPanel5.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED));
-
- intersect_1_Y.setBackground(new java.awt.Color(204, 204, 204));
- intersect_1_Y.setForeground(new java.awt.Color(204, 204, 204));
- intersect_1_Y.setOpaque(true);
-
- intersect_1_G.setBackground(new java.awt.Color(204, 204, 204));
- intersect_1_G.setForeground(new java.awt.Color(204, 204, 204));
- intersect_1_G.setOpaque(true);
-
- intersect_1_R.setBackground(new java.awt.Color(204, 204, 204));
- intersect_1_R.setForeground(new java.awt.Color(204, 204, 204));
- intersect_1_R.setOpaque(true);
-
- javax.swing.GroupLayout jPanel5Layout = new javax.swing.GroupLayout(jPanel5);
- jPanel5.setLayout(jPanel5Layout);
- jPanel5Layout.setHorizontalGroup(
- jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel5Layout.createSequentialGroup()
- .addContainerGap(109, Short.MAX_VALUE)
- .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(intersect_1_G, javax.swing.GroupLayout.PREFERRED_SIZE, 196, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(intersect_1_R, javax.swing.GroupLayout.PREFERRED_SIZE, 196, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(intersect_1_Y, javax.swing.GroupLayout.PREFERRED_SIZE, 196, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addGap(107, 107, 107))
- );
- jPanel5Layout.setVerticalGroup(
- jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel5Layout.createSequentialGroup()
- .addGap(54, 54, 54)
- .addComponent(intersect_1_R, javax.swing.GroupLayout.PREFERRED_SIZE, 196, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addGap(45, 45, 45)
- .addComponent(intersect_1_Y, javax.swing.GroupLayout.PREFERRED_SIZE, 196, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addGap(45, 45, 45)
- .addComponent(intersect_1_G, javax.swing.GroupLayout.PREFERRED_SIZE, 196, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addContainerGap(49, Short.MAX_VALUE))
- );
-
- jPanel6.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED));
-
- intersect_2_Y.setBackground(new java.awt.Color(204, 204, 204));
- intersect_2_Y.setForeground(new java.awt.Color(204, 204, 204));
- intersect_2_Y.setOpaque(true);
-
- intersect_2_G.setBackground(new java.awt.Color(204, 204, 204));
- intersect_2_G.setForeground(new java.awt.Color(204, 204, 204));
- intersect_2_G.setOpaque(true);
-
- intersect_2_R.setBackground(new java.awt.Color(204, 204, 204));
- intersect_2_R.setForeground(new java.awt.Color(255, 153, 153));
- intersect_2_R.setOpaque(true);
-
- javax.swing.GroupLayout jPanel6Layout = new javax.swing.GroupLayout(jPanel6);
- jPanel6.setLayout(jPanel6Layout);
- jPanel6Layout.setHorizontalGroup(
- jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel6Layout.createSequentialGroup()
- .addContainerGap(159, Short.MAX_VALUE)
- .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(intersect_2_G, javax.swing.GroupLayout.PREFERRED_SIZE, 196, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(intersect_2_R, javax.swing.GroupLayout.PREFERRED_SIZE, 196, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(intersect_2_Y, javax.swing.GroupLayout.PREFERRED_SIZE, 196, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addGap(163, 163, 163))
- );
- jPanel6Layout.setVerticalGroup(
- jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel6Layout.createSequentialGroup()
- .addGap(36, 36, 36)
- .addComponent(intersect_2_R, javax.swing.GroupLayout.PREFERRED_SIZE, 196, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addGap(53, 53, 53)
- .addComponent(intersect_2_Y, javax.swing.GroupLayout.PREFERRED_SIZE, 196, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addComponent(intersect_2_G, javax.swing.GroupLayout.PREFERRED_SIZE, 196, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addGap(38, 38, 38))
- );
-
- jLabel8.setText("Intersection 1");
-
- jLabel9.setText("Intersection 2");
-
- javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(jPanel4);
- jPanel4.setLayout(jPanel4Layout);
- jPanel4Layout.setHorizontalGroup(
- jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(jPanel4Layout.createSequentialGroup()
- .addGap(276, 276, 276)
- .addComponent(jLabel8)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addComponent(jLabel9)
- .addGap(241, 241, 241))
- .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel4Layout.createSequentialGroup()
- .addGap(125, 125, 125)
- .addComponent(jPanel5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 526, Short.MAX_VALUE)
- .addComponent(jPanel6, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addGap(33, 33, 33))
- );
- jPanel4Layout.setVerticalGroup(
- jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(jPanel4Layout.createSequentialGroup()
- .addContainerGap()
- .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(jLabel9)
- .addComponent(jLabel8))
- .addGap(4, 4, 4)
- .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(jPanel6, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addComponent(jPanel5, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
- .addContainerGap())
- );
-
- jTabbedPane1.addTab("Lights", jPanel4);
-
- javax.swing.GroupLayout jPanel7Layout = new javax.swing.GroupLayout(jPanel7);
- jPanel7.setLayout(jPanel7Layout);
- jPanel7Layout.setHorizontalGroup(
- jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(jPanel7Layout.createSequentialGroup()
- .addGap(449, 449, 449)
- .addComponent(robot_cam_label)
- .addContainerGap(1173, Short.MAX_VALUE))
- );
- jPanel7Layout.setVerticalGroup(
- jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(jPanel7Layout.createSequentialGroup()
- .addGap(243, 243, 243)
- .addComponent(robot_cam_label)
- .addContainerGap(573, Short.MAX_VALUE))
- );
-
- jTabbedPane1.addTab("Robot Cam", jPanel7);
-
- jPanel5.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED));
-
- intersect_1_Y.setBackground(new java.awt.Color(204, 204, 204));
- intersect_1_Y.setForeground(new java.awt.Color(204, 204, 204));
- intersect_1_Y.setOpaque(true);
-
- intersect_1_G.setBackground(new java.awt.Color(204, 204, 204));
- intersect_1_G.setForeground(new java.awt.Color(204, 204, 204));
- intersect_1_G.setOpaque(true);
-
- intersect_1_R.setBackground(new java.awt.Color(204, 204, 204));
- intersect_1_R.setForeground(new java.awt.Color(204, 204, 204));
- intersect_1_R.setOpaque(true);
-
- javax.swing.GroupLayout jPanel5Layout = new javax.swing.GroupLayout(jPanel5);
- jPanel5.setLayout(jPanel5Layout);
- jPanel5Layout.setHorizontalGroup(
- jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel5Layout.createSequentialGroup()
- .addContainerGap(109, Short.MAX_VALUE)
- .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(intersect_1_G, javax.swing.GroupLayout.PREFERRED_SIZE, 196, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(intersect_1_R, javax.swing.GroupLayout.PREFERRED_SIZE, 196, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(intersect_1_Y, javax.swing.GroupLayout.PREFERRED_SIZE, 196, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addGap(107, 107, 107))
- );
- jPanel5Layout.setVerticalGroup(
- jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel5Layout.createSequentialGroup()
- .addGap(54, 54, 54)
- .addComponent(intersect_1_R, javax.swing.GroupLayout.PREFERRED_SIZE, 196, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addGap(45, 45, 45)
- .addComponent(intersect_1_Y, javax.swing.GroupLayout.PREFERRED_SIZE, 196, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addGap(45, 45, 45)
- .addComponent(intersect_1_G, javax.swing.GroupLayout.PREFERRED_SIZE, 196, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addContainerGap(49, Short.MAX_VALUE))
- );
-
- jPanel6.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED));
-
- intersect_2_Y.setBackground(new java.awt.Color(204, 204, 204));
- intersect_2_Y.setForeground(new java.awt.Color(204, 204, 204));
- intersect_2_Y.setOpaque(true);
-
- intersect_2_G.setBackground(new java.awt.Color(204, 204, 204));
- intersect_2_G.setForeground(new java.awt.Color(204, 204, 204));
- intersect_2_G.setOpaque(true);
-
- intersect_2_R.setBackground(new java.awt.Color(204, 204, 204));
- intersect_2_R.setForeground(new java.awt.Color(255, 153, 153));
- intersect_2_R.setOpaque(true);
-
- javax.swing.GroupLayout jPanel6Layout = new javax.swing.GroupLayout(jPanel6);
- jPanel6.setLayout(jPanel6Layout);
- jPanel6Layout.setHorizontalGroup(
- jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel6Layout.createSequentialGroup()
- .addContainerGap(159, Short.MAX_VALUE)
- .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(intersect_2_G, javax.swing.GroupLayout.PREFERRED_SIZE, 196, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(intersect_2_R, javax.swing.GroupLayout.PREFERRED_SIZE, 196, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(intersect_2_Y, javax.swing.GroupLayout.PREFERRED_SIZE, 196, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addGap(163, 163, 163))
- );
- jPanel6Layout.setVerticalGroup(
- jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel6Layout.createSequentialGroup()
- .addGap(36, 36, 36)
- .addComponent(intersect_2_R, javax.swing.GroupLayout.PREFERRED_SIZE, 196, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addGap(53, 53, 53)
- .addComponent(intersect_2_Y, javax.swing.GroupLayout.PREFERRED_SIZE, 196, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addComponent(intersect_2_G, javax.swing.GroupLayout.PREFERRED_SIZE, 196, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addGap(38, 38, 38))
- );
-
- jLabel8.setText("Intersection 1");
-
- jLabel9.setText("Intersection 2");
-
- javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(jPanel4);
- jPanel4.setLayout(jPanel4Layout);
- jPanel4Layout.setHorizontalGroup(
- jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(jPanel4Layout.createSequentialGroup()
- .addGap(276, 276, 276)
- .addComponent(jLabel8)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addComponent(jLabel9)
- .addGap(241, 241, 241))
- .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel4Layout.createSequentialGroup()
- .addGap(125, 125, 125)
- .addComponent(jPanel5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 526, Short.MAX_VALUE)
- .addComponent(jPanel6, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addGap(33, 33, 33))
- );
- jPanel4Layout.setVerticalGroup(
- jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(jPanel4Layout.createSequentialGroup()
- .addContainerGap()
- .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(jLabel9)
- .addComponent(jLabel8))
- .addGap(4, 4, 4)
- .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(jPanel6, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addComponent(jPanel5, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
- .addContainerGap())
- );
-
- jTabbedPane1.addTab("Lights", jPanel4);
-
- javax.swing.GroupLayout jPanel7Layout = new javax.swing.GroupLayout(jPanel7);
- jPanel7.setLayout(jPanel7Layout);
- jPanel7Layout.setHorizontalGroup(
- jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(jPanel7Layout.createSequentialGroup()
- .addGap(449, 449, 449)
- .addComponent(robot_cam_label)
- .addContainerGap(1173, Short.MAX_VALUE))
- );
- jPanel7Layout.setVerticalGroup(
- jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(jPanel7Layout.createSequentialGroup()
- .addGap(243, 243, 243)
- .addComponent(robot_cam_label)
- .addContainerGap(573, Short.MAX_VALUE))
+ .addComponent(move_robot)
+ .addGap(18, 18, 18)
+ .addComponent(robot_stop)))
+ .addGap(18, 18, 18)
+ .addComponent(battery_voltage_label)
+ .addGap(18, 18, 18)
+ .addComponent(current_drawn_label, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addGap(18, 18, 18)
+ .addComponent(longitude_label)
+ .addGap(18, 18, 18)
+ .addComponent(latitude_label)
+ .addContainerGap(182, Short.MAX_VALUE))
);
- jTabbedPane1.addTab("Robot Cam", jPanel7);
+ jTabbedPane1.addTab("Robot", jPanel2);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
@@ -507,56 +276,7 @@ public class cameraForm extends javax.swing.JFrame implements ChangeListener{
pack();
}// //GEN-END:initComponents
- public void initialize() {
- jTabbedPane1.addChangeListener(new ChangeListener() {
- public void stateChanged(ChangeEvent e) {
- System.out.println("Tab: " + jTabbedPane1.getSelectedIndex());
- if(running!=null){
- try{
- server.close();
- client.close();
- running.stop();
- }catch(IOException ex){
- System.out.println("IO Exception occured");
- }catch(Exception ex){
- System.out.println(e.toString());
- }
- }
- switch (jTabbedPane1.getSelectedIndex()) {
- case 0:
- running = new Thread(() -> {
- try{
- onCreate(8485,"cams");
- }catch(Exception ex){
- System.out.println(e.toString());
- }
- });
- running.start();
- break;
- case 1:
- running = new Thread(() -> {
- try{
- onCreate(8484,"lights");
- }catch(Exception ex){
- System.out.println(e.toString());
- }
- });
- running.start();
- break;
- case 2:
- running = new Thread(() -> {
- try{
- onCreate(8483,"Loads");
- }catch(Exception ex){
- System.out.println(e.toString());
- }
- });
- running.start();
- break;
- }
- }
- });
- }
+
private void jTabbedPane1MouseExited(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jTabbedPane1MouseExited
// TODO add your handling code here:
@@ -599,6 +319,38 @@ public class cameraForm extends javax.swing.JFrame implements ChangeListener{
}
}//GEN-LAST:event_ambulance_buttonActionPerformed
+ private void robot_stopMousePressed(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_robot_stopMousePressed
+ try {
+ out.writeUTF("s");
+ } catch (IOException ex) {
+ System.out.println(ex.toString());
+ }
+ }//GEN-LAST:event_robot_stopMousePressed
+
+ private void move_robotMousePressed(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_move_robotMousePressed
+ try {
+ out.writeUTF("m");
+ } catch (IOException ex) {
+ System.out.println(ex.toString());
+ }
+ }//GEN-LAST:event_move_robotMousePressed
+
+ private void move_robotActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_move_robotActionPerformed
+ try {
+ out.writeUTF("m");
+ } catch (IOException ex) {
+ System.out.println(ex.toString());
+ }
+ }//GEN-LAST:event_move_robotActionPerformed
+
+ private void robot_stopActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_robot_stopActionPerformed
+ try {
+ out.writeUTF("s");
+ } catch (IOException ex) {
+ System.out.println(ex.toString());
+ }
+ }//GEN-LAST:event_robot_stopActionPerformed
+
/**
* @param args the command line arguments
*/
@@ -632,22 +384,43 @@ public class cameraForm extends javax.swing.JFrame implements ChangeListener{
public void onCreate(int port, String name) throws Exception{
boolean run = true;
- if (name == "robot") {
+ if (name.equals("robot")) {
+ robotSocket = new Socket(ROBOT_IP, 3131);
+ out = new DataOutputStream(robotSocket.getOutputStream());
+ in = new BufferedReader(new InputStreamReader(robotSocket.getInputStream()));
while (run) {
- BufferedImage image = null;
- URL img_url = new URL("http://10.10.26.141:8080/?action=snapshot");
+ out.writeUTF("i");
+ String resp = in.readLine();
+ System.out.println(resp);
+ JSONObject values = new JSONObject(resp);
+ System.out.println(values.getString("lat"));
+ latitude_label.setText("Latitude: " + values.getString("lat"));
+ longitude_label.setText("Longitude: " + values.getString("lng"));
+ battery_voltage_label.setText("Battery Voltage: " + values.getString("battery_voltage"));
+ current_drawn_label.setText("Current Drawn: " + values.getString("current_drawn"));
+
+ BufferedImage image;
+ URL img_url = new URL(String.format("http://%s:8080/?action=snapshot", ROBOT_IP));
image = ImageIO.read(img_url);
- robot_cam_label.setIcon(new ImageIcon(image));
+ int width = image.getWidth();
+ int height = image.getHeight();
+ BufferedImage dest = new BufferedImage(height, width, image.getType());
+ Graphics2D graphics2D = dest.createGraphics();
+ graphics2D.translate((height - width) / 2, (height - width) / 2);
+ graphics2D.rotate(Math.PI / 2, height / 2, width / 2);
+ graphics2D.drawRenderedImage(image, null);
+ robot_cam_label.setIcon(new ImageIcon(dest));
- URL obj = new URL("http://10.10.26.164:5001/ai");
+ URL obj = new URL(String.format("https://%s:5001/ai", AI_IP));
HttpsURLConnection con = (HttpsURLConnection) obj.openConnection();
con.setRequestMethod("POST");
+ ByteArrayOutputStream out = new ByteArrayOutputStream();
+ ImageIO.write(dest, "jpg", out);
+ byte[] bytes = out.toByteArray();
+ String base64 = Base64.getEncoder().encodeToString(bytes);
- byte[] imageBytes = IOUtils.toByteArray(img_url);
- String base64 = Base64.getEncoder().encodeToString(imageBytes);
-
- String params = "type=coco&img=" + base64;
+ String params = "type=damage&img=" + base64;
con.setDoOutput(true);
DataOutputStream wr = new DataOutputStream(con.getOutputStream());
@@ -665,10 +438,10 @@ public class cameraForm extends javax.swing.JFrame implements ChangeListener{
in.close();
JSONObject json = new JSONObject(response.toString());
- Graphics2D g2d = image.createGraphics();
}
+ return;
}
- this.camera_cut_label.setIcon(new ImageIcon());
+ /*this.camera_cut_label.setIcon(new ImageIcon());
this.camera_full_label.setIcon(new ImageIcon());
String fromClient = "";
String toClient;
@@ -748,34 +521,32 @@ public class cameraForm extends javax.swing.JFrame implements ChangeListener{
javax.swing.JLabel[][] labels = {{intersect_1_R,intersect_1_Y,intersect_1_G},{intersect_2_R,intersect_2_Y,intersect_2_G}};
int[] lights = {0,0};
while(run) {
- BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream()));
+ BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream()));
- fromClient = in.readLine();
+ fromClient = in.readLine();
- if(fromClient != null) {
- if(fromClient.trim().equals("Bye")) {
- run = false;
- System.out.println("socket closed");
- }else{
- System.out.println("received data in size: " + fromClient.length());
- System.out.println(fromClient);
- lights[0] = Character.getNumericValue(fromClient.charAt(0));
- lights[1] = Character.getNumericValue(fromClient.charAt(2));
- for(int i = 0;i < 2;i++){
- for(int j = 0;j<3;j++){
- if(lights[i] == j){
- labels[i][j].setBackground(new java.awt.Color(colors[j][0], colors[j][1], colors[j][2]));
- continue;
- }
- labels[i][j].setBackground(new java.awt.Color(204,204,204));
+ if(fromClient != null) {
+ if(fromClient.trim().equals("Bye")) {
+ run = false;
+ System.out.println("socket closed");
+ }else{
+ System.out.println("received data in size: " + fromClient.length());
+ System.out.println(fromClient);
+ lights[0] = Character.getNumericValue(fromClient.charAt(0));
+ lights[1] = Character.getNumericValue(fromClient.charAt(2));
+ for(int i = 0;i < 2;i++){
+ for(int j = 0;j<3;j++){
+ if(lights[i] == j){
+ labels[i][j].setBackground(new java.awt.Color(colors[j][0], colors[j][1], colors[j][2]));
+ continue;
}
+ labels[i][j].setBackground(new java.awt.Color(204,204,204));
}
}
+ }
}
-
-
- }
- }
+ }
+ }*/
}
public static BufferedImage resizeImage(final Image image, int width, int height) {
@@ -810,7 +581,7 @@ public class cameraForm extends javax.swing.JFrame implements ChangeListener{
try{
onCreate(8485,"cams");
}catch(Exception ex){
- System.out.println(e.toString());
+ System.out.println(ex.toString());
}
});
running.start();
@@ -825,12 +596,12 @@ public class cameraForm extends javax.swing.JFrame implements ChangeListener{
});
running.start();
break;
- case 2:
+ case 3:
running = new Thread(() -> {
try{
onCreate(0,"robot");
}catch(Exception ex){
- System.out.println(e.toString());
+ System.out.println(ex.toString());
}
});
running.start();
@@ -839,42 +610,24 @@ public class cameraForm extends javax.swing.JFrame implements ChangeListener{
}
// Variables declaration - do not modify//GEN-BEGIN:variables
- private javax.swing.JButton ambulance_button;
- private javax.swing.JLabel camera_cut_label;
- private javax.swing.JLabel camera_full_label;
- private javax.swing.JLabel cpu_temp;
- private javax.swing.JLabel cpu_usage;
- private javax.swing.JLabel fan_rpm;
+ private javax.swing.JLabel ambulance_label;
+ private javax.swing.JLabel battery_voltage_label;
+ private javax.swing.JLabel current_drawn_label;
private javax.swing.JLabel fps_label;
- private javax.swing.JLabel gpu_temp;
- private javax.swing.JLabel gpu_usage;
- private javax.swing.JLabel intersect_1_G;
- private javax.swing.JLabel intersect_1_R;
- private javax.swing.JLabel intersect_1_Y;
- private javax.swing.JLabel intersect_2_G;
- private javax.swing.JLabel intersect_2_R;
- private javax.swing.JLabel intersect_2_Y;
- private javax.swing.JLabel jLabel1;
- private javax.swing.JLabel jLabel2;
- private javax.swing.JLabel jLabel3;
- private javax.swing.JLabel jLabel4;
- private javax.swing.JLabel jLabel5;
- private javax.swing.JLabel jLabel6;
- private javax.swing.JLabel jLabel7;
- private javax.swing.JLabel jLabel8;
- private javax.swing.JLabel jLabel9;
+ private javax.swing.JLabel intersection_label;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
- private javax.swing.JPanel jPanel3;
- private javax.swing.JPanel jPanel4;
private javax.swing.JPanel jPanel5;
private javax.swing.JPanel jPanel6;
private javax.swing.JPanel jPanel7;
private javax.swing.JTabbedPane jTabbedPane1;
- private javax.swing.JButton manage_button;
- private javax.swing.JLabel ram_temp;
- private javax.swing.JLabel ram_usage;
+ private javax.swing.JLabel latitude_label;
+ private javax.swing.JLabel light_1_label;
+ private javax.swing.JLabel light_2_label;
+ private javax.swing.JLabel longitude_label;
+ private javax.swing.JButton move_robot;
private javax.swing.JLabel robot_cam_label;
+ private javax.swing.JButton robot_stop;
// End of variables declaration//GEN-END:variables