update Ino file

parent 92427af6
#include <Adafruit_TSL2561_U.h>
#include <WiFi.h>
#include "ESPAsyncWebServer.h"
#include <Adafruit_Sensor.h>
#include <Wire.h>
const int ledPin1 = 32;
const int ledPin2 = 33;
const char* ssid = "Lakshan|-_-|";
const char* password = "641080748v";
AsyncWebServer server(80);
String header;
float ir;
float nir;
float full;
......@@ -17,17 +25,42 @@ void configureSensor(void)
tsl.setGain(TSL2561_GAIN_1X);
tsl.setIntegrationTime(TSL2561_INTEGRATIONTIME_101MS);
}
void setup()
{
pinMode (ledPin1, OUTPUT);
pinMode (ledPin2, OUTPUT);
configureSensor();
Serial.begin(9600);
Wire.begin();
}
String readNir() {
uint16_t y = 0;
uint16_t z = 0;
tsl.getLuminosity(&y, &z);
nir = z;
Serial.println(nir);
return String(nir);
}
String readVis() {
uint16_t y = 0;
uint16_t z = 0;
tsl.getLuminosity(&y, &z);
full = y;
vis = full - nir;
Serial.println(vis);
return String(vis);
}
String readNdvi() {
uint16_t y = 0;
uint16_t z = 0;
tsl.getLuminosity(&y, &z);
NDVI = (nir - vis)/(nir + vis);
Serial.println(NDVI);
return String(NDVI);
}
void loop()
{
void loop(){
digitalWrite (ledPin1, HIGH);
digitalWrite (ledPin2, HIGH);
/*
int ms = 500;
delay(ms);
digitalWrite (ledPin1, HIGH);
......@@ -38,14 +71,165 @@ digitalWrite (ledPin2, HIGH);
tsl.getLuminosity(&y, &z);
full = y;
ir=z;
vis = full - ir;
nir = ir;
nir = z;
vis = full - nir;
NDVI = (nir - vis)/(nir + vis);
Serial.print(nir); Serial.println(" 1 (600-1100nm)");
Serial.print(vis); Serial.println(" 1 (Visible)");
Serial.print(NDVI); Serial.println(" 1 (NDVI)");
Serial.println("");
// Display the HTML web page
client.println("<!DOCTYPE html><html>");
client.println("<head><meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">");
client.println("<link rel=\"icon\" href=\"data:,\">");
client.println("<style>html { font-family: Helvetica; display: inline-block; margin: 0px auto; text-align: center;}");
client.println("text-decoration: none; font-size: 30px; margin: 2px; cursor: pointer;}");
// Web Page Heading
client.println("<body><h1>ESP32 Web Server</h1>");
// Display
client.println("<p><span>NIR</span><span>%nir%</span></p>");
client.println("<p><span>Visible</span><span>%vis%</span></p>");
client.println("<p><span>NDVI</span><span>%NDVI%</span></p>");
header = "";
// Close the connection
client.stop();
Serial.println("Client disconnected.");
Serial.println("");
}
*/
}
const char index_html[] PROGMEM = R"rawliteral(
<!DOCTYPE HTML><html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css" integrity="sha384-fnmOCqbTlWIlj8LyTjo7mOUStjsKC4pOpQbqyi7RrhN7udi9RwhKkMHpvLbHG9Sr" crossorigin="anonymous">
<style>
html {
font-family: Arial;
display: inline-block;
margin: 0px auto;
text-align: center;
}
h2 { font-size: 3.0rem; }
p { font-size: 3.0rem; }
.units { font-size: 1.2rem; }
.dht-labels{
font-size: 1.5rem;
vertical-align:middle;
padding-bottom: 15px;
}
</style>
</head>
<body>
<h2>NDVI</h2>
<p>
<span class="dht-labels">NIR Reflection</span>
<span id="temperature">%nir%</span>
</p>
<p>
<span class="dht-labels">VIS reflection (RED)</span>
<span id="temperature">%vis%</span>
</p>
<p>
<span class="dht-labels">NDVI</span>
<span id="humidity">%ndvi%</span>
</p>
</body>
<script>
setInterval(function ( ) {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById("nir").innerHTML = this.responseText;
}
};
xhttp.open("GET", "/nir", true);
xhttp.send();
}, 10000 ) ;
setInterval(function ( ) {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById("vis").innerHTML = this.responseText;
}
};
xhttp.open("GET", "/vis", true);
xhttp.send();
}, 10000 ) ;
setInterval(function ( ) {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById("ndvi").innerHTML = this.responseText;
}
};
xhttp.open("GET", "/ndvi", true);
xhttp.send();
}, 10000 ) ;
</script>
</html>)rawliteral";
String processor(const String& var){
//Serial.println(var);
if(var == "nir"){
return readNir();
}
else if(var == "vis"){
return readVis();
}
else if(var == "ndvi"){
return readNdvi();
}
return String();
}
void setup()
{
pinMode (ledPin1, OUTPUT);
pinMode (ledPin2, OUTPUT);
configureSensor();
Serial.begin(9600);
Wire.begin();
// Connect to Wi-Fi network with SSID and password
Serial.print("Connecting to ");
Serial.println(ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
// Print local IP address and start web server
Serial.println("");
Serial.println("WiFi connected.");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());
server.on("/", HTTP_GET, [](AsyncWebServerRequest *request){
request->send_P(200, "text/html", index_html, processor);
});
server.on("/nis", HTTP_GET, [](AsyncWebServerRequest *request){
request->send_P(200, "text/plain", readNir().c_str());
});
server.on("/vis", HTTP_GET, [](AsyncWebServerRequest *request){
request->send_P(200, "text/plain", readVis().c_str());
});
server.on("/ndvi", HTTP_GET, [](AsyncWebServerRequest *request){
request->send_P(200, "text/plain", readNdvi().c_str());
});
server.begin();
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment