Имам термометър с ESP8266 дето вади графика на две температури и работеше повече от две години до оня ден.
Спря да вади графиката, викам си скапало се е и заредих кода на друга платка и пак няма графика, то се оказа че скрипта го взима от нета и тия имали проблем с някъв лиценз и за това няма скрипт.
В крайна сметка намерих скрипта и го турих в папка и като стартирам index.html от компа тръгва и вади графиката, но всичко качено на контролера не вади графика, а само зарежда страницата но явно не иска да чете скрипта.
Вече три дена се боря като свиня с блажен вестник и нямам напредък, четох, преправях код и файда йок.
Дайте някъв акъл щот вече не знам какво да преправям.
Те фаловете ако е важно
Те така вади графиката, над линията се появяват точки с температурата и пише къде е тая температура
това е като заредя index.html от компа.
А другото е от контролера.
Спря да вади графиката, викам си скапало се е и заредих кода на друга платка и пак няма графика, то се оказа че скрипта го взима от нета и тия имали проблем с някъв лиценз и за това няма скрипт.
В крайна сметка намерих скрипта и го турих в папка и като стартирам index.html от компа тръгва и вади графиката, но всичко качено на контролера не вади графика, а само зарежда страницата но явно не иска да чете скрипта.
Вече три дена се боря като свиня с блажен вестник и нямам напредък, четох, преправях код и файда йок.
Дайте някъв акъл щот вече не знам какво да преправям.
Те фаловете ако е важно
Код: Избери всички
<!DOCTYPE HTML><html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="js/highcharts.js"></script>
<style>
body {
min-width: 310px;
max-width: 1200px;
height: 400px;
margin: 0 auto;
}
h2 {
font-family: Arial;
font-size: 0.8rem;
text-align: center;
}
</style>
</head>
<body>
<h2>ESP8266 DS1631 Temperature</h2>
<div id="chart-distance" class="container"></div>
<div id="chart-distance1" class="container"></div>
</body>
<script>
//Highcharts.setOptions({
//time: {
// timezoneOffset: -120
// }
// });
var chartT = new Highcharts.Chart({
chart:{ renderTo : 'chart-distance' },
title: { text: ' Temperature Outside' },
series: [{
showInLegend: false,
data: [],
zones: [{
value: 20,
color: '#0000ff'
}, {
value: 25,
color: '#00ff00'
}, {
value: 35,
color: '#ff0000'
}]
}],
plotOptions: {
line: { animation: false,
dataLabels: { enabled: true }
},
series: { color: '#059e8a' }
},
xAxis: { type: 'datetime',
},
yAxis: {
title: { text: 'Temperature ' }
},
credits: { enabled: false }
});
setInterval(function ( ) {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
var x = (new Date()).getTime(),
y = parseFloat(this.responseText);
//console.log(this.responseText);
if(chartT.series[0].data.length > 40) {
chartT.series[0].addPoint([x, y], true, true, true);
} else {
chartT.series[0].addPoint([x, y], true, false, true);
}
}
};
xhttp.open("GET", "/distance", true);
xhttp.send();
}, 180000 ) ;
var chartT1 = new Highcharts.Chart({
chart:{ renderTo : 'chart-distance1' },
title: { text: ' Temperature Kotel' },
series: [{
showInLegend: false,
data: [],
zones: [{
value: 35,
color: '#0000ff'
}, {
value: 55,
color: '#00ff00'
}, {
value: 75,
color: '#ff0000'
}]
}],
plotOptions: {
line: { animation: false,
dataLabels: { enabled: true }
},
series: { color: '#059e8a' }
},
xAxis: { type: 'datetime',
},
yAxis: {
title: { text: 'Temperature ' }
},
credits: { enabled: false }
});
setInterval(function ( ) {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
var x = (new Date()).getTime(),
y = parseFloat(this.responseText);
//console.log(this.responseText);
if(chartT1.series[0].data.length > 40) {
chartT1.series[0].addPoint([x, y], true, true, true);
} else {
chartT1.series[0].addPoint([x, y], true, false, true);
}
}
};
xhttp.open("GET", "/distance1", true);
xhttp.send();
}, 182000 ) ;
</script>
</html>
Код: Избери всички
//theiotprojects.com
#include <DS1631.h>
#include <ESP8266WiFi.h>
//#include <Arduino.h>
#include <ESPAsyncTCP.h>
#include <ESPAsyncWebServer.h>
#include <FS.h>
#include <Wire.h>
DS1631 Temp1(3);
DS1631 Temp2(2);
// Replace with your network credentials
const char* ssid = "TP-LINK_AC68";
const char* password = "";
// Create AsyncWebServer object on port 80
AsyncWebServer server(80);
//WiFiClient client;
//int d = 0;
//int d1 = 0;
//unsigned long myChannelNumber = 1;
//const char * myWriteAPIKey = "QDECQ6XRRW7YG4S2";
//unsigned long lastTime = 0;
//unsigned long timerDelay = 185000;
String getDistance() {
// Read Distance
float d = Temp1.readTempOneShot();
if (isnan(d)) {
Serial.println("Failed to read from HC-SR04 sensor!");
return "";
}
else {
Serial.println(d);
return String(d);
}
}
String getDistance1() {
// Read Distance
float d1 = Temp2.readTempOneShot();
if (isnan(d1)) {
Serial.println("Failed to read from HC-SR0401 sensor!");
return "";
}
else {
Serial.println(d1);
return String(d1);
}
}
void setup () {
// Serial port for debugging purposes
Serial.begin (115200);
WiFi.mode(WIFI_STA);
//ThingSpeak.begin(client); // Initialize ThingSpeak
Wire.setClock(10000L);
Wire.begin(SDA, SCL);
int config = Temp1.readConfig();
Temp2.readConfig();
Temp1.writeConfig(1); // 1=9bit 5=10bit 9=11bit 13=12bit
Temp2.writeConfig(1);
// Initialize SPIFFS
if (! SPIFFS.begin ()) {
Serial.println ("An Error has occurred while mounting SPIFFS");
return;
}
// Connect to Wi-Fi
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Connecting to WiFi..");
}
// Print ESP32 Local IP Address
Serial.println(WiFi.localIP());
// Route for web page
server.on ("/", HTTP_GET, [] (AsyncWebServerRequest * request) {
request-> send (SPIFFS, "/index.html");
});
server.on ("/distance", HTTP_GET, [] (AsyncWebServerRequest * request) {
request-> send_P (200, "text / plain", getDistance(). c_str ());
});
server.on ("/distance1", HTTP_GET, [] (AsyncWebServerRequest * request) {
request-> send_P (200, "text / plain", getDistance1(). c_str ());
});
// start server
server.begin ();
}
void loop() {
}това е като заредя index.html от компа.
А другото е от контролера.
Прикачен файл
temp.JPG (32.62 KиБ) Видяна 137 пъти
Прикачен файл
temp1.JPG (26.5 KиБ) Видяна 140 пъти