От мобилни телефони до цифрови камери
pipilica - майстор
Имам термометър с ESP8266 дето вади графика на две температури и работеше повече от две години до оня ден.
Спря да вади графиката, викам си скапало се е и заредих кода на друга платка и пак няма графика, то се оказа че скрипта го взима от нета и тия имали проблем с някъв лиценз и за това няма скрипт.
В крайна сметка намерих скрипта и го турих в папка и като стартирам 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
temp.JPG (32.62 KиБ) Видяна 90 пъти

Прикачен файл

temp1.JPG
temp1.JPG (26.5 KиБ) Видяна 93 пъти
sstefanov - майстор
Липсва ти файла js/highcharts.js
Виж дали браузера ти го тегли и откъде.

Тема "Проблем с ESP8266" | Включи се в дискусията:


Сподели форума:

Бъди информиран. Следвай "Направи сам" във Facebook:

Намери изпълнител и вдъхновения за дома. Следвай MaistorPlus във Facebook: