diff --git a/raspberry-backend/arduino_recorder.py b/raspberry-backend/arduino_recorder.py index ffb7ade5a31e433616a1a0d024fb31f3620177f9..581c3230714d631cb9dd964dbb3641cb44e89a9b 100755 --- a/raspberry-backend/arduino_recorder.py +++ b/raspberry-backend/arduino_recorder.py @@ -41,6 +41,10 @@ def database_setup(): exec_string += var + " FLOAT NOT NULL, " exec_string += "alarms STRING NOT NULL " + # Setting the maximum size of the DB to 100 MB + conn.execute("PRAGMA max_page_count = 204800") + conn.execute("PRAGMA page_size = 512") + conn.execute('''CREATE TABLE IF NOT EXISTS {tn} ({ex_str});''' .format(tn=TABLE_NAME, ex_str=exec_string)) diff --git a/raspberry-backend/database/HEC_monitoringDB.sqlite b/raspberry-backend/database/HEC_monitoringDB.sqlite index 31c89492ea6892f24469db51b60cc4d1d202e6de..471743d7857451fdc86b9211851205d5c9177aa2 100644 Binary files a/raspberry-backend/database/HEC_monitoringDB.sqlite and b/raspberry-backend/database/HEC_monitoringDB.sqlite differ diff --git a/raspberry-backend/database/HEC_monitoringDB_backup.sqlite b/raspberry-backend/database/HEC_monitoringDB_backup.sqlite index f39836b3a4a0e279261674ef64278a4a278c9814..76867c5ad0eab29c4905a870c3ac969fd457d369 100644 Binary files a/raspberry-backend/database/HEC_monitoringDB_backup.sqlite and b/raspberry-backend/database/HEC_monitoringDB_backup.sqlite differ diff --git a/raspberry-backend/static/js/Chart-display.js b/raspberry-backend/static/js/Chart-display.js index b533cea2f8c42c0e00207a7ded6dee2e8d03c278..d2886195c001ad61dafd947fb8c6dc94797efbe7 100644 --- a/raspberry-backend/static/js/Chart-display.js +++ b/raspberry-backend/static/js/Chart-display.js @@ -1,32 +1,55 @@ var chart_pressure; var chart_flow; var chart_volume; +var time_value = 0 ; + /** * Request data from the server, add it to the graph and set a timeout * to request again */ -function requestChartVar1(var1) { +function requestChartVar() { $.ajax({ url: '/live-data', success: function(point) { - if(chart_pressure.data.datasets[0].data.length > 10){ + if(chart_pressure.data.datasets[0].data.length > 30){ chart_pressure.data.labels.shift(); chart_pressure.data.datasets[0].data.shift(); } + if(chart_flow.data.datasets[0].data.length > 30){ + chart_flow.data.labels.shift(); + chart_flow.data.datasets[0].data.shift(); + } + if(chart_volume.data.datasets[0].data.length > 30){ + chart_volume.data.labels.shift(); + chart_volume.data.datasets[0].data.shift(); + } + + // Convert epoch timestamp into seconds + var date = new Date(point.created_at); + var seconds = date.getSeconds(); + + // Show the time that has passed + chart_pressure.data.labels.push(-(60-seconds)); + chart_pressure.data.datasets[0].data.push(point["pressure_buffer"]); // add the point - chart_pressure.data.labels.push(point.created_at); - chart_pressure.data.datasets[0].data.push(point[var1]); + chart_flow.data.labels.push(point.created_at); + chart_flow.data.datasets[0].data.push(point["pressure_inhale"]); + // add the point + chart_volume.data.labels.push(point.created_at); + chart_volume.data.datasets[0].data.push(point["temperature_buffer"]); chart_pressure.update(); + chart_flow.update(); + chart_volume.update(); }, cache: false }); // call it again after one second - setTimeout(requestChartVar1, 1000, var1); + setTimeout(requestChartVar, 1000); } @@ -46,51 +69,48 @@ $(document).ready(function() { ] }, options: { + responsive: true, title: { display: false, - text: 'Variable 1' + text: 'Pressure [mbar]' }, scales: { xAxes: [{ - type: 'time', + ticks: { + beginAtZero: true + }, + //type: 'time', time: { unit: 'second', displayFormat: 'second' } - }] + }], + yAxes: [{ + ticks: { + beginAtZero: true, + suggestedMax: 25 + }, + scaleLabel: { + display: true, + labelString: 'Pressure [mbar]' + } + }] }, legend : { display: false} + }, + plugins: { + streaming: { + duration: 20000, + refresh: 1000, + delay: 2000, + onRefresh: requestChartVar() + } } }); - requestChartVar1("pressure_buffer"); }); -function requestChartVar2(var1) { - $.ajax({ - url: '/live-data', - success: function(point) { - - if(chart_flow.data.datasets[0].data.length > 10){ - chart_flow.data.labels.shift(); - chart_flow.data.datasets[0].data.shift(); - } - - - // add the point - chart_flow.data.labels.push(point.created_at); - chart_flow.data.datasets[0].data.push(point[var1]); - - - chart_flow.update(); - }, - cache: false - }); - // call it again after one second - setTimeout(requestChartVar2, 1000, var1); -} - $(document).ready(function() { @@ -125,35 +145,10 @@ $(document).ready(function() { display: false} } }); - requestChartVar2("pressure_inhale"); + //requestChartVar("pressure_inhale"); }); -function requestChartVar3(var1) { - $.ajax({ - url: '/live-data', - success: function(point) { - - if(chart_volume.data.datasets[0].data.length > 10){ - chart_volume.data.labels.shift(); - chart_volume.data.datasets[0].data.shift(); - } - - - // add the point - chart_volume.data.labels.push(point.created_at); - chart_volume.data.datasets[0].data.push(point[var1]); - - - chart_volume.update(); - }, - cache: false - }); - // call it again after one second - setTimeout(requestChartVar3, 1000, var1); -} - - $(document).ready(function() { var ctx_volume = document.getElementById('volume_chart'); @@ -187,7 +182,7 @@ $(document).ready(function() { display: false} } }); - requestChartVar3("temperature_buffer"); + //requestChartVar("temperature_buffer"); }); diff --git a/raspberry-backend/static/js/Chart-display_BACKUP.js b/raspberry-backend/static/js/Chart-display_BACKUP.js new file mode 100644 index 0000000000000000000000000000000000000000..d9c7d0ee5d289a59e0a323be1ca746ff3ad08586 --- /dev/null +++ b/raspberry-backend/static/js/Chart-display_BACKUP.js @@ -0,0 +1,200 @@ +var chart_pressure; +var chart_flow; +var chart_volume; +var time_value = 0 ; + +/** + * Request data from the server, add it to the graph and set a timeout + * to request again + */ +function requestChartVar1() { + $.ajax({ + url: '/live-data', + success: function(point) { + + if(chart_pressure.data.datasets[0].data.length > 10){ + chart_pressure.data.labels.shift(); + chart_pressure.data.datasets[0].data.shift(); + } + + + // add the point + chart_pressure.data.labels.push(point.created_at); + time_value = point.created_at; + console.log(time_value) + chart_pressure.data.datasets[0].data.push(point[var1]); + + // add the point + chart_flow.data.labels.push(point.created_at); + chart_flow.data.datasets[0].data.push(point[var1]); + + + chart_pressure.update(); + }, + cache: false + }); + // call it again after one second + setTimeout(requestChartVar1, 1000); +} + + + +$(document).ready(function() { + var ctx_pressure = document.getElementById('pressure_chart'); + chart_pressure = new Chart(ctx_pressure, { + type: 'line', + data: { + labels: [], + datasets: [{ + data: [], + label: "Var1", + borderColor: "#3e95cd", + fill: false + } + ] + }, + options: { + title: { + display: false, + text: 'Variable 1' + }, + scales: { + xAxes: [{ + time: { + unit: 'second', + displayFormat: 'second' + } + }] + }, + legend : { + display: false} + } + }); + requestChartVar1("pressure_buffer"); +}); + + +function requestChartVar2(var1) { + $.ajax({ + url: '/live-data', + success: function(point) { + + if(chart_flow.data.datasets[0].data.length > 10){ + chart_flow.data.labels.shift(); + chart_flow.data.datasets[0].data.shift(); + } + + + // add the point + chart_flow.data.labels.push(point.created_at); + chart_flow.data.datasets[0].data.push(point[var1]); + + + chart_flow.update(); + }, + cache: false + }); + // call it again after one second + setTimeout(requestChartVar2, 1000, var1); +} + + + +$(document).ready(function() { + var ctx_flow = document.getElementById('flow_chart'); + chart_flow = new Chart(ctx_flow, { + type: 'line', + data: { + labels: [], + datasets: [{ + data: [], + label: "Var1", + borderColor: "#3e95cd", + fill: false + } + ] + }, + options: { + title: { + display: false, + text: 'Variable 1' + }, + scales: { + xAxes: [{ + type: 'time', + time: { + unit: 'second', + displayFormat: 'second' + } + }] + }, + legend : { + display: false} + } + }); + requestChartVar2("pressure_inhale"); +}); + + +function requestChartVar3(var1) { + $.ajax({ + url: '/live-data', + success: function(point) { + + if(chart_volume.data.datasets[0].data.length > 10){ + chart_volume.data.labels.shift(); + chart_volume.data.datasets[0].data.shift(); + } + + + // add the point + chart_volume.data.labels.push(point.created_at); + chart_volume.data.datasets[0].data.push(point[var1]); + + + chart_volume.update(); + }, + cache: false + }); + // call it again after one second + setTimeout(requestChartVar3, 1000, var1); +} + + + +$(document).ready(function() { + var ctx_volume = document.getElementById('volume_chart'); + chart_volume = new Chart(ctx_volume, { + type: 'line', + data: { + labels: [], + datasets: [{ + data: [], + label: "Var1", + borderColor: "#3e95cd", + fill: false + } + ] + }, + options: { + title: { + display: false, + text: 'Variable 1' + }, + scales: { + xAxes: [{ + type: 'time', + time: { + unit: 'second', + displayFormat: 'second' + } + }] + }, + legend : { + display: false} + } + }); + requestChartVar3("temperature_buffer"); +}); + + diff --git a/raspberry-backend/templates/charts.html b/raspberry-backend/templates/charts.html index 4bac9e6366618541236403663f4be145a265b31b..c284ddcb6a1067cc70e6674affbaf3141f4120ec 100644 --- a/raspberry-backend/templates/charts.html +++ b/raspberry-backend/templates/charts.html @@ -38,15 +38,7 @@ </div> </div> - <div class = "col-md-5 py-0 px-0 mr-0"> - - - - - </div> - </div> - </div> - + </div> </div> </div>