Sat, 04 May 2019 11:41:16 +0200
Work on web interface using websockets.
0 | 1 | document.getElementById("test").innerHTML = "WebSocket is not connected"; |
2 | ||
3 | var websocket = new WebSocket('ws://'+location.hostname+'/ws'); | |
40
71e06f6d80fd
Work on web interface using websockets.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
4 | //var slider = document.getElementById("myRange"); |
0 | 5 | |
6 | ||
7 | var BBScreen={ | |
8 | ||
40
71e06f6d80fd
Work on web interface using websockets.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
9 | Screen: -1, |
71e06f6d80fd
Work on web interface using websockets.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
10 | setScreen: function(s){ |
71e06f6d80fd
Work on web interface using websockets.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
11 | console.log("Screen:"+s); |
71e06f6d80fd
Work on web interface using websockets.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
12 | switch (s) { |
71e06f6d80fd
Work on web interface using websockets.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
13 | case '0': |
71e06f6d80fd
Work on web interface using websockets.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
14 | case '100': |
71e06f6d80fd
Work on web interface using websockets.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
15 | case '101': |
71e06f6d80fd
Work on web interface using websockets.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
16 | case '102': |
71e06f6d80fd
Work on web interface using websockets.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
17 | case '103': |
71e06f6d80fd
Work on web interface using websockets.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
18 | case '104': |
71e06f6d80fd
Work on web interface using websockets.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
19 | case '105': |
71e06f6d80fd
Work on web interface using websockets.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
20 | case '106': |
71e06f6d80fd
Work on web interface using websockets.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
21 | case '107': |
71e06f6d80fd
Work on web interface using websockets.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
22 | case '201': |
71e06f6d80fd
Work on web interface using websockets.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
23 | $("#mltline").show(); |
71e06f6d80fd
Work on web interface using websockets.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
24 | //$("#mlt01").hide(); |
71e06f6d80fd
Work on web interface using websockets.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
25 | $("#midline").show(); |
71e06f6d80fd
Work on web interface using websockets.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
26 | $("#hltline").show(); |
71e06f6d80fd
Work on web interface using websockets.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
27 | $("#row_info").hide(); |
71e06f6d80fd
Work on web interface using websockets.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
28 | console.log("this is 0"); |
71e06f6d80fd
Work on web interface using websockets.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
29 | break; |
71e06f6d80fd
Work on web interface using websockets.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
30 | case '108': $("#mltline").show(); // to boil |
71e06f6d80fd
Work on web interface using websockets.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
31 | $("#midline").hide(); |
71e06f6d80fd
Work on web interface using websockets.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
32 | $("#hltline").hide(); |
71e06f6d80fd
Work on web interface using websockets.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
33 | break; |
71e06f6d80fd
Work on web interface using websockets.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
34 | case '109': $("#mltline").show(); // boil |
71e06f6d80fd
Work on web interface using websockets.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
35 | $("#midline").show(); |
71e06f6d80fd
Work on web interface using websockets.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
36 | $("#hltline").hide(); |
71e06f6d80fd
Work on web interface using websockets.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
37 | break; |
71e06f6d80fd
Work on web interface using websockets.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
38 | case '2': $("#mltline").hide(); |
71e06f6d80fd
Work on web interface using websockets.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
39 | $("#midline").hide(); |
71e06f6d80fd
Work on web interface using websockets.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
40 | $("#hltline").hide(); |
71e06f6d80fd
Work on web interface using websockets.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
41 | $("#row_info").show(); |
71e06f6d80fd
Work on web interface using websockets.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
42 | console.log("this is 2"); |
71e06f6d80fd
Work on web interface using websockets.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
43 | break; |
71e06f6d80fd
Work on web interface using websockets.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
44 | default: $("#mltline").hide(); |
71e06f6d80fd
Work on web interface using websockets.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
45 | $("#midline").hide(); |
71e06f6d80fd
Work on web interface using websockets.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
46 | $("#hltline").hide(); |
71e06f6d80fd
Work on web interface using websockets.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
47 | console.log("this is default"); |
71e06f6d80fd
Work on web interface using websockets.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
48 | break; |
71e06f6d80fd
Work on web interface using websockets.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
49 | } |
71e06f6d80fd
Work on web interface using websockets.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
50 | }, |
0 | 51 | MLT_pv: function(s) { |
52 | $("#mlt_pv").text(s); | |
53 | }, | |
54 | MLT_sp: function(s) { | |
55 | $("#mlt_sp").text(s); | |
56 | }, | |
57 | MLT_power: function(s) { | |
58 | $("#mlt_power").text(s); | |
59 | }, | |
60 | MLT_led: function(s) { | |
61 | if (s == 0) | |
62 | $("#mlt_led").css("background-color", "#270"); | |
63 | else | |
64 | $("#mlt_led").css("background-color", "#5E0"); | |
65 | }, | |
66 | Pump_led: function(s) { | |
67 | if (s == 0) | |
68 | $("#pump_led").css("background-color", "#820"); | |
69 | else | |
70 | $("#pump_led").css("background-color", "#F40"); | |
71 | }, | |
72 | HLT_pv: function(s) { | |
73 | $("#hlt_pv").text(s); | |
74 | }, | |
75 | HLT_sp: function(s) { | |
76 | $("#hlt_sp").text(s); | |
77 | }, | |
78 | HLT_power: function(s) { | |
79 | $("#hlt_power").text(s); | |
80 | }, | |
81 | HLT_led: function(s) { | |
82 | if (s == 0) | |
83 | $("#hlt_led").css("background-color", "#270"); | |
84 | else | |
85 | $("#hlt_led").css("background-color", "#5E0"); | |
86 | }, | |
87 | Topmessage: function(s) { | |
88 | $("#top_msg").text(s); | |
89 | }, | |
90 | Timer: function(s) { | |
91 | $("#timer").text(s); | |
92 | }, | |
93 | }; | |
94 | ||
95 | var BrewBoard = { | |
96 | ||
97 | p_msg:function(e){ | |
98 | var b=this; | |
99 | var a=JSON.parse(e); | |
100 | var c={ | |
40
71e06f6d80fd
Work on web interface using websockets.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
101 | main: function(v){ |
71e06f6d80fd
Work on web interface using websockets.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
102 | BBScreen.setScreen(v) |
71e06f6d80fd
Work on web interface using websockets.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
103 | }, |
0 | 104 | mlt_pv:function(v){ |
105 | BBScreen.MLT_pv(v) | |
106 | }, | |
107 | mlt_sp:function(v){ | |
108 | BBScreen.MLT_sp(v) | |
109 | }, | |
110 | mlt_power:function(v){ | |
111 | BBScreen.MLT_power(v) | |
112 | }, | |
113 | mlt_led:function(v){ | |
114 | BBScreen.MLT_led(v) | |
115 | }, | |
116 | pump_led:function(v){ | |
117 | BBScreen.Pump_led(v) | |
118 | }, | |
119 | hlt_pv:function(v){ | |
120 | BBScreen.HLT_pv(v) | |
121 | }, | |
122 | hlt_sp:function(v){ | |
123 | BBScreen.HLT_sp(v) | |
124 | }, | |
125 | hlt_power:function(v){ | |
126 | BBScreen.HLT_power(v) | |
127 | }, | |
128 | hlt_led:function(v){ | |
129 | BBScreen.HLT_led(v) | |
130 | }, | |
131 | top_msg:function(v){ | |
132 | BBScreen.Topmessage(v) | |
133 | }, | |
134 | timer:function(v){ | |
135 | BBScreen.Timer(v) | |
136 | }, | |
137 | }; | |
138 | console.log(e); | |
139 | $.each(a,function(k,v){ | |
140 | if (typeof(c[k])!="undefined"){ | |
141 | c[k](v) | |
142 | } | |
143 | }); | |
144 | } | |
145 | }; | |
146 | ||
147 | ||
40
71e06f6d80fd
Work on web interface using websockets.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
148 | function sendTouch(x, y) { |
71e06f6d80fd
Work on web interface using websockets.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
149 | websocket.send('{"touch":{"x":"'+x+'","y":"'+y+'"}}'); |
71e06f6d80fd
Work on web interface using websockets.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
150 | console.log('Sent {"touch":{"x":"'+x+'","y":"'+y+'"}}'); |
0 | 151 | } |
152 | ||
153 | ||
40
71e06f6d80fd
Work on web interface using websockets.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
154 | /* Define keys in the screens and their actions. */ |
71e06f6d80fd
Work on web interface using websockets.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
155 | $("#ok_info").click( function() { sendTouch(160,220); }); |
71e06f6d80fd
Work on web interface using websockets.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
156 | |
71e06f6d80fd
Work on web interface using websockets.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
157 | |
0 | 158 | websocket.onopen = function(evt) { |
159 | console.log('WebSocket connection opened'); | |
160 | document.getElementById("test").innerHTML = "WebSocket is connected!"; | |
161 | } | |
162 | ||
163 | /* | |
164 | * Process received websocket messages. | |
165 | */ | |
166 | websocket.onmessage = function(evt) { | |
167 | var msg = evt.data; | |
168 | var value; | |
169 | switch (msg.charAt(0)) { | |
170 | case '{': | |
171 | BrewBoard.p_msg(evt.data); | |
172 | break; | |
173 | default: | |
174 | document.getElementById("output").innerHTML = evt.data; | |
175 | break; | |
176 | } | |
177 | } | |
178 | ||
179 | websocket.onclose = function(evt) { | |
180 | console.log('Websocket connection closed'); | |
181 | document.getElementById("test").innerHTML = "WebSocket closed"; | |
182 | } | |
183 | ||
184 | websocket.onerror = function(evt) { | |
185 | console.log('Websocket error: ' + evt); | |
186 | document.getElementById("test").innerHTML = "WebSocket error????!!!1!!"; | |
187 | } | |
188 | ||
189 |