Newer
Older
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
var server_addr = "192.168.31.81"; // the IP address of your Raspberry PI
const net = require('net');
// Function to request car status data
function get_car_status() {
// const net = require('net');
const client = net.createConnection({ port: server_port, host: server_addr }, () => {
console.log('connected to server!');
// Request status data
client.write("GET_STATUS\r\n");
});
client.on('data', (data) => {
try {
const status = JSON.parse(data.toString());
// Update UI elements with car status
document.getElementById("direction").textContent = status.direction;
document.getElementById("temperature").textContent = status.temperature + "°C";
document.getElementById("speed").textContent = status.speed;
document.getElementById("distance").textContent = status.distance_traveled.toFixed(2) + " m";
// You could also update a small map visualization here
console.log("Updated car status:", status);
} catch (e) {
console.error("Error parsing status data:", e);
}
client.end();
client.destroy();
});
client.on('error', (err) => {
console.error('Connection error:', err);
});
}
function send_data(data) {
// const net = require('net');
const client = net.createConnection({ port: server_port, host: server_addr }, () => {
console.log('connected to server!');
// send the key code to the server
client.write(`${data}\r\n`);
});
// get the response from the server
client.on('data', (data) => {
// Update the UI with any data received from the server
// document.getElementById("direction").innerHTML = direction_dict[data];
console.log(data.toString());
client.end();
client.destroy();
});
client.on('end', () => {
console.log('disconnected from server');
});
client.on('error', (err) => {
console.error('Connection error:', err);
});
}
// const net = require('net');
var input = document.getElementById("message").value;
const client = net.createConnection({ port: server_port, host: server_addr }, () => {
// 'connect' listener.
});
client.on('end', () => {
console.log('disconnected from server');
});
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
}
// for detecting which key is been pressed w,a,s,d
function updateKey(e) {
e = e || window.event;
if (e.keyCode == '87') {
// up (w)
document.getElementById("upArrow").style.color = "green";
send_data("87");
}
else if (e.keyCode == '83') {
// down (s)
document.getElementById("downArrow").style.color = "green";
send_data("83");
}
else if (e.keyCode == '65') {
// left (a)
document.getElementById("leftArrow").style.color = "green";
send_data("65");
}
else if (e.keyCode == '68') {
// right (d)
document.getElementById("rightArrow").style.color = "green";
send_data("68");
}
else{
send_data("0");
}
}
// reset the key to the start state
function resetKey(e) {
e = e || window.event;
send_data("0");
document.getElementById("upArrow").style.color = "grey";
document.getElementById("downArrow").style.color = "grey";
document.getElementById("leftArrow").style.color = "grey";
document.getElementById("rightArrow").style.color = "grey";
}
// update data for every 50ms
// function update_data(){
// setInterval(function(){
// // get image from python server
// client();
// }, 50);
// }
// Periodically update car status (every 1 second)
function update_data() {
setInterval(function() {
get_car_status();
}, 1000);