root / hci / trunk / EneraptorSim3 / EneraptorSim.java @ 83
History | View | Annotate | Download (3.46 KB)
1 | 83 | alexbesir | import java.sql.*; |
---|---|---|---|
2 | import java.io.*; |
||
3 | import java.util.*; |
||
4 | |||
5 | public class EneraptorSim { |
||
6 | |||
7 | public static int state = 0; |
||
8 | |||
9 | public static void main(String[] args) throws Exception { |
||
10 | |||
11 | DatabaseFiller dbf = new DatabaseFiller();
|
||
12 | dbf.start(); |
||
13 | |||
14 | System.out.println("\nEneraptor DMS is turned OFF."); |
||
15 | Scanner in = new Scanner(System.in); |
||
16 | |||
17 | String input = ""; |
||
18 | |||
19 | while(!input.equals("turn on")) { |
||
20 | System.out.print("> "); |
||
21 | input = in.nextLine(); |
||
22 | } |
||
23 | |||
24 | state = 1;
|
||
25 | |||
26 | while(true) { } |
||
27 | |||
28 | } |
||
29 | |||
30 | public static class DatabaseFiller extends Thread { |
||
31 | |||
32 | public void run() { |
||
33 | |||
34 | try {
|
||
35 | doWhatYouMust(); |
||
36 | } catch (Exception e) { |
||
37 | System.exit(1); |
||
38 | } |
||
39 | |||
40 | } |
||
41 | |||
42 | public void doWhatYouMust() throws Exception { |
||
43 | |||
44 | Class.forName("org.postgresql.Driver"); |
||
45 | |||
46 | Connection conn = DriverManager.getConnection("jdbc:postgresql://localhost/eneraptor-db-dev", "eneraptor-hci", "eneraptor-hci-2010"); |
||
47 | |||
48 | // CONFIGURE
|
||
49 | |||
50 | double val = 24; |
||
51 | double thrust = 0.1; |
||
52 | int step = 0; |
||
53 | |||
54 | while(true) { |
||
55 | |||
56 | java.util.Date now = new java.util.Date();
|
||
57 | |||
58 | if(EneraptorSim.state < 3) { |
||
59 | |||
60 | double a = Math.random(); |
||
61 | if(a < 0.05) |
||
62 | val += 0.1;
|
||
63 | else if(a > 0.95) |
||
64 | val -= 0.1;
|
||
65 | |||
66 | } else if (EneraptorSim.state == 3) { |
||
67 | |||
68 | val = val+thrust; |
||
69 | thrust += 0.01;
|
||
70 | |||
71 | } else if (EneraptorSim.state == 4) { |
||
72 | |||
73 | val = val+thrust; |
||
74 | thrust -= 0.05;
|
||
75 | |||
76 | } else if (EneraptorSim.state == 5) { |
||
77 | |||
78 | val = val+thrust; |
||
79 | thrust += 0.05;
|
||
80 | |||
81 | } |
||
82 | |||
83 | |||
84 | Statement st = conn.createStatement();
|
||
85 | String stm = "INSERT INTO logged_data(id, \"version\", date_recieved, device_id, reported_data) VALUES (nextval('hibernate_sequence'), 0, '" + now + "', 'thermometer01', '" + val + "');"; |
||
86 | st.execute(stm); |
||
87 | |||
88 | if(EneraptorSim.state == 1) { |
||
89 | |||
90 | stm = "INSERT INTO logged_data(id, \"version\", date_recieved, device_id, reported_data) VALUES (nextval('hibernate_sequence'), 0, '" + now + "', 'airConditioner01', 'AIR CONDITIONER: TURN OFF');"; |
||
91 | st.execute(stm); |
||
92 | |||
93 | EneraptorSim.state = 2;
|
||
94 | |||
95 | } else if(EneraptorSim.state == 2) { |
||
96 | |||
97 | stm = "INSERT INTO logged_data(id, \"version\", date_recieved, device_id, reported_data) VALUES (nextval('hibernate_sequence'), 0, '" + now + "', 'windowOpener01', 'WINDOW OPENER: OPEN');"; |
||
98 | st.execute(stm); |
||
99 | |||
100 | EneraptorSim.state = 3;
|
||
101 | |||
102 | } else if(EneraptorSim.state == 3) { |
||
103 | |||
104 | if(val > 26) EneraptorSim.state = 4; |
||
105 | |||
106 | } else if(EneraptorSim.state == 4) { |
||
107 | |||
108 | if(val < 20 && thrust < -1) { |
||
109 | |||
110 | |||
111 | EneraptorSim.state = 5;
|
||
112 | stm = "INSERT INTO logged_data(id, \"version\", date_recieved, device_id, reported_data) VALUES (nextval('hibernate_sequence'), 0, '" + now + "', 'windowOpener01', 'WINDOW OPENER: CLOSE');"; |
||
113 | st.execute(stm); |
||
114 | |||
115 | } |
||
116 | |||
117 | } else if(EneraptorSim.state == 5) { |
||
118 | |||
119 | if(val > 15 && thrust > 0.5) { |
||
120 | |||
121 | EneraptorSim.state = 4;
|
||
122 | stm = "INSERT INTO logged_data(id, \"version\", date_recieved, device_id, reported_data) VALUES (nextval('hibernate_sequence'), 0, '" + now + "', 'windowOpener01', 'WINDOW OPENER: OPEN');"; |
||
123 | st.execute(stm); |
||
124 | |||
125 | } |
||
126 | |||
127 | } |
||
128 | |||
129 | |||
130 | st.close(); |
||
131 | step++; |
||
132 | |||
133 | try {
|
||
134 | Thread.currentThread().sleep(1000); |
||
135 | } |
||
136 | catch (InterruptedException e) { |
||
137 | e.printStackTrace(); |
||
138 | } |
||
139 | } |
||
140 | |||
141 | } |
||
142 | } |
||
143 | |||
144 | |||
145 | } |