Browse Source

Небольшие правки для нормального приема сообщений от клиентов

master
Nikita Romanenko 7 years ago
parent
commit
364b0bf33b
  1. 2
      html/acc.html
  2. 15
      src/html.h
  3. 17
      src/main.cpp

2
html/acc.html

@ -63,7 +63,7 @@
function calibrateDevice() { function calibrateDevice() {
var calibrating = 5; var calibrating = 10;
socket.send(JSON.stringify(calibrating)); socket.send(JSON.stringify(calibrating));
document.getElementById("calibrate_text").innerHTML = "Калибровка в течении 10 секунд - Сделайте несколько оборотов устройством перпендикулярно оси Х"; document.getElementById("calibrate_text").innerHTML = "Калибровка в течении 10 секунд - Сделайте несколько оборотов устройством перпендикулярно оси Х";
} }

15
src/html.h

@ -5,7 +5,8 @@ enum parts
HTML_BEGIN, HTML_BEGIN,
HTML_END, HTML_END,
STYLE, STYLE,
SCRIPT SCRIPT,
ACC_CALIBRATE
}; };
const char html_begin[] PROGMEM = { const char html_begin[] PROGMEM = {
@ -78,6 +79,11 @@ const char script[] PROGMEM = {
}\n\ }\n\
context.stroke();\n\ context.stroke();\n\
};\n\ };\n\
function calibrateDevice() {\n\
var calibrating = 10;\n\
socket.send(JSON.stringify(calibrating));\n\
document.getElementById(\"calibrate_text\").innerHTML = \"Калибровка в течении 10 секунд - Сделайте несколько оборотов устройством перпендикулярно оси Х\";\n\
}\n\
</script>\n\ </script>\n\
"}; "};
@ -89,6 +95,10 @@ const char html_end[] PROGMEM = {
</body>\n\ </body>\n\
</html>\n"}; </html>\n"};
const char acc_calibrate[] PROGMEM = {
"<p id=\"calibrate_text\" onclick=\"calibrateDevice()\">Устройство не откалибровано.</p>\n\
<button onclick=\"calibrateDevice()\">Откалибровать</button>"};
static int getHtml(parts p, char &adr, uint16_t buf_size, uint16_t bias) static int getHtml(parts p, char &adr, uint16_t buf_size, uint16_t bias)
{ {
char *buffer = &adr; char *buffer = &adr;
@ -108,6 +118,9 @@ static int getHtml(parts p, char &adr, uint16_t buf_size, uint16_t bias)
case SCRIPT: case SCRIPT:
html_part = script; html_part = script;
break; break;
case ACC_CALIBRATE:
html_part = acc_calibrate;
break;
} }
length = strlen_P(html_part); length = strlen_P(html_part);
for (int i = 0; i != length; i++) for (int i = 0; i != length; i++)

17
src/main.cpp

@ -18,6 +18,12 @@ Graph graphAcc = Graph(200, 50);
long int lastDataSend = 0; long int lastDataSend = 0;
int timeOfCal = 0;
bool accCalibrated = false;
int accCalRemains = 0;
int accMax1 = 0;
int accMax2 = 0;
WebSocketsServer webSocket = WebSocketsServer(81); WebSocketsServer webSocket = WebSocketsServer(81);
void handleAccelerometer() void handleAccelerometer()
@ -29,7 +35,7 @@ void handleAccelerometer()
bias += getHtml(HTML_BEGIN, *html_code, arr_size, 0); bias += getHtml(HTML_BEGIN, *html_code, arr_size, 0);
bias += getHtml(STYLE, *html_code, arr_size, bias); bias += getHtml(STYLE, *html_code, arr_size, bias);
bias += getHtml(SCRIPT, *html_code, arr_size, bias); bias += getHtml(SCRIPT, *html_code, arr_size, bias);
bias += getHtml(HTML_END, *html_code, arr_size, bias); bias += getHtml(HTML_END, *html_code, arr_size, bias);
server.send(200, "text/html", html_code); server.send(200, "text/html", html_code);
@ -112,6 +118,14 @@ void sendAccelerometerData() {
} }
} }
void webSocketEvent(uint8_t num, WStype_t type, uint8_t * payload, size_t length) {
switch(type) {
case WStype_TEXT:
timeOfCal = (int) *payload;
Serial.printf("[%u] get Text: %d\n", num, timeOfCal);
}
}
void setup(void) void setup(void)
{ {
@ -136,6 +150,7 @@ void setup(void)
Serial.println("HTTP server started"); Serial.println("HTTP server started");
webSocket.begin(); webSocket.begin();
webSocket.onEvent(webSocketEvent);
} }
void loop(void) void loop(void)

Loading…
Cancel
Save