Olá gostaria de pedir ajuda
Estou com um projeto onde quero conectar duas placas em um servidor externo, já consigo fazer a conexão com os botões acionando as entradas digitais das placas, mas agora preciso fazer a leitura dos pinos Analógicos e mostra no servidor externo, onde além disso o ideal seria ficar alterando os valores automaticamente mas caso não seja possível o campo onde mostra a variável precisaria se atualizar com uma taxa de tempo determinada, para este projeto irei utilizar 2 plaquinhas ESP8266, e a IDE do arduino para programação, no servidor estou utilizando apenas Http e Javascrip, o código que já funciona é o seguinte:
#include <ESP8266WiFi.h>
// Preencha com os dados de autenticação do seu WiFi
const char* ssid = "minhaInternet"; // Nome da Rede
const char* password = "0123456789"; //Senha da Rede
WiFiServer server(80);
void setup() {
delay(1000);
pinMode(LED_BUILTIN, OUTPUT); //Led interno da placa.
Serial.begin(115200); // Vamos usar para debug
// Conectando à rede WiFi
Serial.println();
Serial.println();
Serial.print("Conectando com: ");
Serial.println(ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi conectado com sucesso");
// Startando o servidor
server.begin();
Serial.print("Servidor startado em ");
Serial.print("http://");
Serial.print(WiFi.localIP());
Serial.println("/");
}
void loop() {
// Aguardando requisições do cliente
WiFiClient client = server.available();
if (!client) {
return;
}
// Leitura da requisição
Serial.print("Mensagem do cliente: ");
while(!client.available()) {
delay(1);
}
String request = client.readStringUntil('\r');
Serial.println(request);
client.flush();
// Muda situação do LED, caso o parâmetro seja detectado
if (request.indexOf("ONOFF") != -1) {
digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN));
}
//Resposta padrão
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println("");
client.println("<!DOCTYPE HTML>");
client.println("<html>");
client.println("<head><title>ESP8266 Web Server Exemplo</title></head>");
client.println("<body>ESP8266 Web Server Exemplo</body>");
client.println("</html>");
delay(1);
}
Para o servidor Web estou utilizando:
<!DOCTYPE html>
<html lang="pt-br">
<head>
<title>Acessando Web Server NodeMCU com Ajax</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
<script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
<script>
function OnOff() {
var xmlhttp = new XMLHttpRequest();
xmlhttp.open("GET", "http://192.168.1.51/LED=ONOFF");
xmlhttp.send();
}
</script>
</head>
<body>
<br/>
<div class="container" style="text-align: center;">
<div class="well">
<h2>Acionando o LED do ESP8266</h2>
<br/>
<a href="#" style="background-color: chartreuse"class="btn btn-default" role="button" onclick="OnOff();"><strong>Ligar/Desligar LED</strong></a>
</div>
</div>
</body>
</html>