Browse Source

robot cam

efe
Efe Aydın 6 years ago
parent
commit
db43033a02
3 changed files with 183 additions and 112 deletions
  1. +5
    -0
      Ev3/main.py
  2. +47
    -48
      master_app/src/main/java/me/yigitcolakoglu/master_app/cameraForm.form
  3. +131
    -64
      master_app/src/main/java/me/yigitcolakoglu/master_app/cameraForm.java

+ 5
- 0
Ev3/main.py View File

@ -73,6 +73,11 @@ with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
"lng":39 "lng":39
} }
conn.send((json.dumps(data, ensure_ascii=False)+"\n").encode('gbk')) conn.send((json.dumps(data, ensure_ascii=False)+"\n").encode('gbk'))
elif recieved == '+':
cam.run_timed(time_sp=50, speed_sp=750)
elif recieved == '-':
cam.run_timed(time_sp=50, speed_sp=-750)
except BrokenPipeError: except BrokenPipeError:
print("[INFO]: Client disconnected") print("[INFO]: Client disconnected")
stop() stop()


+ 47
- 48
master_app/src/main/java/me/yigitcolakoglu/master_app/cameraForm.form View File

@ -49,8 +49,9 @@
<DimensionLayout dim="0"> <DimensionLayout dim="0">
<Group type="103" groupAlignment="0" attributes="0"> <Group type="103" groupAlignment="0" attributes="0">
<Group type="102" alignment="0" attributes="0"> <Group type="102" alignment="0" attributes="0">
<EmptySpace max="-2" attributes="0"/>
<Component id="jTabbedPane1" min="-2" pref="1624" max="-2" attributes="0"/> <Component id="jTabbedPane1" min="-2" pref="1624" max="-2" attributes="0"/>
<EmptySpace min="0" pref="0" max="32767" attributes="0"/>
<EmptySpace max="32767" attributes="0"/>
</Group> </Group>
</Group> </Group>
</DimensionLayout> </DimensionLayout>
@ -301,11 +302,6 @@
</Properties> </Properties>
</Component> </Component>
<Component class="javax.swing.JLabel" name="jLabel6"> <Component class="javax.swing.JLabel" name="jLabel6">
<Properties>
<Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
<Image iconType="2" name="/home/colakoglu/Downloads/MyCity/master_app/src/main/java/me/yigitcolakoglu/master_app/fan.png"/>
</Property>
</Properties>
</Component> </Component>
<Component class="javax.swing.JLabel" name="fan_rpm"> <Component class="javax.swing.JLabel" name="fan_rpm">
<Properties> <Properties>
@ -332,61 +328,61 @@
<DimensionLayout dim="0"> <DimensionLayout dim="0">
<Group type="103" groupAlignment="0" attributes="0"> <Group type="103" groupAlignment="0" attributes="0">
<Group type="102" attributes="0"> <Group type="102" attributes="0">
<EmptySpace min="-2" pref="19" max="-2" attributes="0"/>
<Component id="robot_cam_label" min="-2" pref="576" max="-2" attributes="0"/>
<EmptySpace pref="231" max="32767" attributes="0"/>
<Group type="103" groupAlignment="1" attributes="0">
<Component id="battery_voltage_label" min="-2" max="-2" attributes="0"/>
<Component id="current_drawn_label" min="-2" max="-2" attributes="0"/>
<Component id="longitude_label" alignment="1" min="-2" max="-2" attributes="0"/>
<Component id="latitude_label" alignment="1" min="-2" max="-2" attributes="0"/>
</Group>
<EmptySpace min="-2" pref="278" max="-2" attributes="0"/>
<Group type="103" groupAlignment="0" attributes="0"> <Group type="103" groupAlignment="0" attributes="0">
<Group type="102" attributes="0">
<EmptySpace min="-2" pref="53" max="-2" attributes="0"/>
<Group type="103" groupAlignment="1" attributes="0">
<Component id="battery_voltage_label" min="-2" max="-2" attributes="0"/>
<Component id="current_drawn_label" min="-2" max="-2" attributes="0"/>
<Component id="longitude_label" alignment="1" min="-2" max="-2" attributes="0"/>
<Component id="latitude_label" alignment="1" min="-2" max="-2" attributes="0"/>
</Group>
<EmptySpace min="-2" pref="278" max="-2" attributes="0"/>
<Group type="103" groupAlignment="0" attributes="0">
<Group type="103" alignment="0" groupAlignment="1" attributes="0">
<Component id="move_robot" min="-2" max="-2" attributes="0"/>
<Component id="robot_stop" min="-2" max="-2" attributes="0"/>
</Group>
<Group type="102" alignment="0" attributes="0">
<EmptySpace min="-2" pref="4" max="-2" attributes="0"/>
<Component id="jSlider1" min="-2" max="-2" attributes="0"/>
</Group>
</Group>
<Group type="103" alignment="0" groupAlignment="1" attributes="0">
<Component id="move_robot" min="-2" max="-2" attributes="0"/>
<Component id="robot_stop" min="-2" max="-2" attributes="0"/>
</Group> </Group>
<Group type="102" alignment="0" attributes="0"> <Group type="102" alignment="0" attributes="0">
<EmptySpace min="-2" pref="19" max="-2" attributes="0"/>
<Component id="robot_cam_label" min="-2" pref="1375" max="-2" attributes="0"/>
<EmptySpace min="-2" pref="4" max="-2" attributes="0"/>
<Component id="cam_slider" min="-2" max="-2" attributes="0"/>
</Group> </Group>
</Group> </Group>
<EmptySpace min="0" pref="228" max="32767" attributes="0"/>
<EmptySpace min="-2" pref="204" max="-2" attributes="0"/>
</Group> </Group>
</Group> </Group>
</DimensionLayout> </DimensionLayout>
<DimensionLayout dim="1"> <DimensionLayout dim="1">
<Group type="103" groupAlignment="0" attributes="0"> <Group type="103" groupAlignment="0" attributes="0">
<Group type="102" alignment="0" attributes="0">
<EmptySpace min="-2" pref="16" max="-2" attributes="0"/>
<Component id="robot_cam_label" min="-2" pref="522" max="-2" attributes="0"/>
<EmptySpace type="separate" max="-2" attributes="0"/>
<Group type="102" attributes="0">
<Group type="103" groupAlignment="0" attributes="0"> <Group type="103" groupAlignment="0" attributes="0">
<Group type="102" alignment="0" attributes="0">
<Component id="battery_voltage_label" min="-2" max="-2" attributes="0"/>
<EmptySpace type="unrelated" max="-2" attributes="0"/>
<Component id="current_drawn_label" min="-2" pref="23" max="-2" attributes="0"/>
<EmptySpace min="-2" pref="14" max="-2" attributes="0"/>
<Component id="longitude_label" min="-2" max="-2" attributes="0"/>
<EmptySpace type="separate" max="-2" attributes="0"/>
<Component id="latitude_label" min="-2" max="-2" attributes="0"/>
<Group type="102" attributes="0">
<EmptySpace min="-2" pref="16" max="-2" attributes="0"/>
<Component id="robot_cam_label" min="-2" pref="768" max="-2" attributes="0"/>
</Group> </Group>
<Group type="102" alignment="0" attributes="0"> <Group type="102" alignment="0" attributes="0">
<Component id="move_robot" min="-2" max="-2" attributes="0"/>
<EmptySpace type="separate" max="-2" attributes="0"/>
<Component id="robot_stop" min="-2" max="-2" attributes="0"/>
<EmptySpace type="separate" max="-2" attributes="0"/>
<Component id="jSlider1" min="-2" max="-2" attributes="0"/>
<EmptySpace min="-2" pref="197" max="-2" attributes="0"/>
<Group type="103" groupAlignment="0" attributes="0">
<Group type="102" alignment="0" attributes="0">
<Component id="battery_voltage_label" min="-2" max="-2" attributes="0"/>
<EmptySpace type="unrelated" max="-2" attributes="0"/>
<Component id="current_drawn_label" min="-2" pref="23" max="-2" attributes="0"/>
<EmptySpace min="-2" pref="14" max="-2" attributes="0"/>
<Component id="longitude_label" min="-2" max="-2" attributes="0"/>
<EmptySpace type="separate" max="-2" attributes="0"/>
<Component id="latitude_label" min="-2" max="-2" attributes="0"/>
</Group>
<Group type="102" alignment="0" attributes="0">
<Component id="move_robot" min="-2" max="-2" attributes="0"/>
<EmptySpace type="separate" max="-2" attributes="0"/>
<Component id="robot_stop" min="-2" max="-2" attributes="0"/>
<EmptySpace type="separate" max="-2" attributes="0"/>
<Component id="cam_slider" min="-2" max="-2" attributes="0"/>
</Group>
</Group>
</Group> </Group>
</Group> </Group>
<EmptySpace pref="146" max="32767" attributes="0"/>
<EmptySpace max="32767" attributes="0"/>
</Group> </Group>
</Group> </Group>
</DimensionLayout> </DimensionLayout>
@ -439,7 +435,10 @@
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="move_robotActionPerformed"/> <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="move_robotActionPerformed"/>
</Events> </Events>
</Component> </Component>
<Component class="javax.swing.JSlider" name="jSlider1">
<Component class="javax.swing.JSlider" name="cam_slider">
<Events>
<EventHandler event="stateChanged" listener="javax.swing.event.ChangeListener" parameters="javax.swing.event.ChangeEvent" handler="cam_sliderStateChanged"/>
</Events>
</Component> </Component>
</SubComponents> </SubComponents>
</Container> </Container>
@ -487,7 +486,7 @@
<Component id="jPanel4" min="-2" max="-2" attributes="0"/> <Component id="jPanel4" min="-2" max="-2" attributes="0"/>
<Component id="jPanel7" min="-2" max="-2" attributes="0"/> <Component id="jPanel7" min="-2" max="-2" attributes="0"/>
</Group> </Group>
<EmptySpace pref="17" max="32767" attributes="0"/>
<EmptySpace max="32767" attributes="0"/>
</Group> </Group>
</Group> </Group>
</DimensionLayout> </DimensionLayout>


+ 131
- 64
master_app/src/main/java/me/yigitcolakoglu/master_app/cameraForm.java View File

@ -11,6 +11,7 @@ import java.awt.Graphics2D;
import java.awt.Image; import java.awt.Image;
import java.awt.RenderingHints; import java.awt.RenderingHints;
import java.awt.image.BufferedImage; import java.awt.image.BufferedImage;
import java.nio.charset.StandardCharsets;
import java.util.Base64; import java.util.Base64;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import java.util.logging.Logger;
@ -23,6 +24,10 @@ import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener; import javax.swing.event.ChangeListener;
import org.apache.commons.io.IOUtils; import org.apache.commons.io.IOUtils;
import org.json.JSONObject; import org.json.JSONObject;
import java.security.cert.*;
import java.security.*;
import javax.net.ssl.*;
import javax.swing.JSlider;
/** /**
* *
@ -35,13 +40,14 @@ public class cameraForm extends javax.swing.JFrame implements ChangeListener{
*/ */
public cameraForm() { public cameraForm() {
initComponents(); initComponents();
disableSslVerification();
} }
private ServerSocket server; private ServerSocket server;
private Socket client; private Socket client;
private Thread running = null; private Thread running = null;
private boolean listening = false; private boolean listening = false;
private String ROBOT_IP = "10.42.0.9"; private String ROBOT_IP = "10.42.0.9";
private String AI_IP = "10.10.26.161";
private String AI_IP = "10.10.26.110";
private Socket robotSocket; private Socket robotSocket;
private DataOutputStream out; private DataOutputStream out;
private BufferedReader in; private BufferedReader in;
@ -83,7 +89,7 @@ public class cameraForm extends javax.swing.JFrame implements ChangeListener{
longitude_label = new javax.swing.JLabel(); longitude_label = new javax.swing.JLabel();
robot_stop = new javax.swing.JButton(); robot_stop = new javax.swing.JButton();
move_robot = new javax.swing.JButton(); move_robot = new javax.swing.JButton();
jSlider1 = new javax.swing.JSlider();
cam_slider = new javax.swing.JSlider();
jPanel6 = new javax.swing.JPanel(); jPanel6 = new javax.swing.JPanel();
light_1_label = new javax.swing.JLabel(); light_1_label = new javax.swing.JLabel();
light_2_label = new javax.swing.JLabel(); light_2_label = new javax.swing.JLabel();
@ -155,8 +161,6 @@ public class cameraForm extends javax.swing.JFrame implements ChangeListener{
gpu_temp.setText("40C"); gpu_temp.setText("40C");
jLabel6.setIcon(new javax.swing.ImageIcon("/home/colakoglu/Downloads/MyCity/master_app/src/main/java/me/yigitcolakoglu/master_app/fan.png")); // NOI18N
fan_rpm.setFont(new java.awt.Font("Dialog", 1, 36)); // NOI18N fan_rpm.setFont(new java.awt.Font("Dialog", 1, 36)); // NOI18N
fan_rpm.setText("1000RPM"); fan_rpm.setText("1000RPM");
@ -298,54 +302,60 @@ public class cameraForm extends javax.swing.JFrame implements ChangeListener{
} }
}); });
cam_slider.addChangeListener(new javax.swing.event.ChangeListener() {
public void stateChanged(javax.swing.event.ChangeEvent evt) {
cam_sliderStateChanged(evt);
}
});
javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2); javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
jPanel2.setLayout(jPanel2Layout); jPanel2.setLayout(jPanel2Layout);
jPanel2Layout.setHorizontalGroup( jPanel2Layout.setHorizontalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup() .addGroup(jPanel2Layout.createSequentialGroup()
.addGap(19, 19, 19)
.addComponent(robot_cam_label, javax.swing.GroupLayout.PREFERRED_SIZE, 576, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 231, Short.MAX_VALUE)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(battery_voltage_label)
.addComponent(current_drawn_label)
.addComponent(longitude_label)
.addComponent(latitude_label))
.addGap(278, 278, 278)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(move_robot)
.addComponent(robot_stop))
.addGroup(jPanel2Layout.createSequentialGroup() .addGroup(jPanel2Layout.createSequentialGroup()
.addGap(53, 53, 53)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(battery_voltage_label)
.addComponent(current_drawn_label)
.addComponent(longitude_label)
.addComponent(latitude_label))
.addGap(278, 278, 278)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(move_robot)
.addComponent(robot_stop))
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(4, 4, 4)
.addComponent(jSlider1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))))
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(19, 19, 19)
.addComponent(robot_cam_label, javax.swing.GroupLayout.PREFERRED_SIZE, 1375, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGap(0, 228, Short.MAX_VALUE))
.addGap(4, 4, 4)
.addComponent(cam_slider, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGap(204, 204, 204))
); );
jPanel2Layout.setVerticalGroup( jPanel2Layout.setVerticalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup() .addGroup(jPanel2Layout.createSequentialGroup()
.addGap(16, 16, 16)
.addComponent(robot_cam_label, javax.swing.GroupLayout.PREFERRED_SIZE, 522, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup() .addGroup(jPanel2Layout.createSequentialGroup()
.addComponent(battery_voltage_label)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(current_drawn_label, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(14, 14, 14)
.addComponent(longitude_label)
.addGap(18, 18, 18)
.addComponent(latitude_label))
.addGap(16, 16, 16)
.addComponent(robot_cam_label, javax.swing.GroupLayout.PREFERRED_SIZE, 768, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel2Layout.createSequentialGroup() .addGroup(jPanel2Layout.createSequentialGroup()
.addComponent(move_robot)
.addGap(18, 18, 18)
.addComponent(robot_stop)
.addGap(18, 18, 18)
.addComponent(jSlider1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addContainerGap(146, Short.MAX_VALUE))
.addGap(197, 197, 197)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addComponent(battery_voltage_label)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(current_drawn_label, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(14, 14, 14)
.addComponent(longitude_label)
.addGap(18, 18, 18)
.addComponent(latitude_label))
.addGroup(jPanel2Layout.createSequentialGroup()
.addComponent(move_robot)
.addGap(18, 18, 18)
.addComponent(robot_stop)
.addGap(18, 18, 18)
.addComponent(cam_slider, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
); );
jTabbedPane1.addTab("Robot", jPanel2); jTabbedPane1.addTab("Robot", jPanel2);
@ -474,7 +484,7 @@ public class cameraForm extends javax.swing.JFrame implements ChangeListener{
.addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jPanel4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jPanel7, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addComponent(jPanel7, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap(17, Short.MAX_VALUE))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
); );
jTabbedPane1.addTab("Traffic Lights", jPanel6); jTabbedPane1.addTab("Traffic Lights", jPanel6);
@ -497,8 +507,9 @@ public class cameraForm extends javax.swing.JFrame implements ChangeListener{
layout.setHorizontalGroup( layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup() .addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jTabbedPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 1624, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jTabbedPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 1624, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(0, 0, Short.MAX_VALUE))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
); );
layout.setVerticalGroup( layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
@ -585,6 +596,27 @@ public class cameraForm extends javax.swing.JFrame implements ChangeListener{
} }
}//GEN-LAST:event_robot_stopMousePressed }//GEN-LAST:event_robot_stopMousePressed
private void cam_sliderStateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_cam_sliderStateChanged
JSlider source = (JSlider)evt.getSource();
if (!source.getValueIsAdjusting()) {
source.setValue(50);
}
int val = (int)source.getValue();
if (val < 50) {
try {
out.writeUTF("+");
} catch (IOException ex) {
System.out.println(ex.toString());
}
} else if (val > 50) {
try {
out.writeUTF("-");
} catch (IOException ex) {
System.out.println(ex.toString());
}
}
}//GEN-LAST:event_cam_sliderStateChanged
/** /**
* @param args the command line arguments * @param args the command line arguments
*/ */
@ -615,7 +647,46 @@ public class cameraForm extends javax.swing.JFrame implements ChangeListener{
}}); }});
} }
private static void disableSslVerification() {
try
{
// Create a trust manager that does not validate certificate chains
TrustManager[] trustAllCerts = new TrustManager[] {new X509TrustManager() {
public java.security.cert.X509Certificate[] getAcceptedIssuers() {
return null;
}
public void checkClientTrusted(X509Certificate[] certs, String authType) {
}
public void checkServerTrusted(X509Certificate[] certs, String authType) {
}
}
};
// Install the all-trusting trust manager
SSLContext sc = SSLContext.getInstance("SSL");
sc.init(null, trustAllCerts, new java.security.SecureRandom());
HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
// Create all-trusting host name verifier
HostnameVerifier allHostsValid = new HostnameVerifier() {
public boolean verify(String hostname, SSLSession session) {
return true;
}
};
// Install the all-trusting host verifier
HttpsURLConnection.setDefaultHostnameVerifier(allHostsValid);
} catch (Exception e) {
e.printStackTrace();
}
}
private static String encodeValue(String value) {
try {
return URLEncoder.encode(value, StandardCharsets.UTF_8.toString());
} catch (UnsupportedEncodingException ex) {
throw new RuntimeException(ex.getCause());
}
}
public void onCreate(int port, String name) throws Exception{ public void onCreate(int port, String name) throws Exception{
boolean run = true; boolean run = true;
if (name.equals("robot")) { if (name.equals("robot")) {
@ -625,9 +696,7 @@ public class cameraForm extends javax.swing.JFrame implements ChangeListener{
while (run) { while (run) {
out.writeUTF("i"); out.writeUTF("i");
String resp = in.readLine(); String resp = in.readLine();
System.out.println(resp);
JSONObject values = new JSONObject(resp); JSONObject values = new JSONObject(resp);
System.out.println(values.getString("lat"));
latitude_label.setText("Latitude: " + values.getString("lat")); latitude_label.setText("Latitude: " + values.getString("lat"));
longitude_label.setText("Longitude: " + values.getString("lng")); longitude_label.setText("Longitude: " + values.getString("lng"));
battery_voltage_label.setText("Battery Voltage: " + values.getString("battery_voltage")); battery_voltage_label.setText("Battery Voltage: " + values.getString("battery_voltage"));
@ -643,35 +712,33 @@ public class cameraForm extends javax.swing.JFrame implements ChangeListener{
graphics2D.translate((height - width) / 2, (height - width) / 2); graphics2D.translate((height - width) / 2, (height - width) / 2);
graphics2D.rotate(Math.PI / 2, height / 2, width / 2); graphics2D.rotate(Math.PI / 2, height / 2, width / 2);
graphics2D.drawRenderedImage(image, null); graphics2D.drawRenderedImage(image, null);
robot_cam_label.setIcon(new ImageIcon(dest));
robot_cam_label.setIcon(new ImageIcon(resizeImage(dest,576,768)));
URL obj = new URL(String.format("https://%s:5001/ai", AI_IP)); URL obj = new URL(String.format("https://%s:5001/ai", AI_IP));
HttpsURLConnection con = (HttpsURLConnection) obj.openConnection(); HttpsURLConnection con = (HttpsURLConnection) obj.openConnection();
con.setRequestMethod("POST"); con.setRequestMethod("POST");
ByteArrayOutputStream out = new ByteArrayOutputStream(); ByteArrayOutputStream out = new ByteArrayOutputStream();
ImageIO.write(dest, "jpg", out);
ImageIO.write(dest, "PNG", out);
byte[] bytes = out.toByteArray(); byte[] bytes = out.toByteArray();
String base64 = Base64.getEncoder().encodeToString(bytes); String base64 = Base64.getEncoder().encodeToString(bytes);
String params = "type=damage&img=" + base64;
String params = "type=damage&img=" + encodeValue(base64);
con.setDoOutput(true); con.setDoOutput(true);
DataOutputStream wr = new DataOutputStream(con.getOutputStream());
wr.writeBytes(params);
wr.flush();
wr.close();
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
JSONObject json = new JSONObject(response.toString());
DataOutputStream wr = new DataOutputStream(con.getOutputStream());
wr.writeBytes(params);
wr.flush();
wr.close();
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
JSONObject json = new JSONObject(response.toString());
} }
return; return;
} }
@ -820,7 +887,7 @@ public class cameraForm extends javax.swing.JFrame implements ChangeListener{
}); });
running.start(); running.start();
break; break;
case 1:
case 2:
running = new Thread(() -> { running = new Thread(() -> {
try{ try{
onCreate(69,"lights"); onCreate(69,"lights");
@ -830,7 +897,7 @@ public class cameraForm extends javax.swing.JFrame implements ChangeListener{
}); });
running.start(); running.start();
break; break;
case 3:
case 1:
running = new Thread(() -> { running = new Thread(() -> {
try{ try{
onCreate(0,"robot"); onCreate(0,"robot");
@ -846,6 +913,7 @@ public class cameraForm extends javax.swing.JFrame implements ChangeListener{
// Variables declaration - do not modify//GEN-BEGIN:variables // Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JLabel ambulance_label; private javax.swing.JLabel ambulance_label;
private javax.swing.JLabel battery_voltage_label; private javax.swing.JLabel battery_voltage_label;
private javax.swing.JSlider cam_slider;
private javax.swing.JLabel cpu_temp; private javax.swing.JLabel cpu_temp;
private javax.swing.JLabel cpu_usage; private javax.swing.JLabel cpu_usage;
private javax.swing.JLabel current_drawn_label; private javax.swing.JLabel current_drawn_label;
@ -876,7 +944,6 @@ public class cameraForm extends javax.swing.JFrame implements ChangeListener{
private javax.swing.JPanel jPanel6; private javax.swing.JPanel jPanel6;
private javax.swing.JPanel jPanel7; private javax.swing.JPanel jPanel7;
private javax.swing.JPanel jPanel8; private javax.swing.JPanel jPanel8;
private javax.swing.JSlider jSlider1;
private javax.swing.JTabbedPane jTabbedPane1; private javax.swing.JTabbedPane jTabbedPane1;
private javax.swing.JLabel latitude_label; private javax.swing.JLabel latitude_label;
private javax.swing.JLabel light_1_label; private javax.swing.JLabel light_1_label;


Loading…
Cancel
Save