Bonjour
Pour une appli je configure un ESP en proxy avec DNS mais voilà, impossible d'appeler la page html via ce DNS avec le smartphone (wifi connecté) -> vfd.local
alors que par l'ip ça fonctionne.
#include <Arduino.h>
#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>
#include <ESP8266mDNS.h>
#include <ESP8266WiFiMulti.h>
#include <ESP8266HTTPClient.h>
#define USE_SERIAL Serial
ESP8266WiFiMulti WiFiMulti;
//const char* ssid = "";
//const char* password = "";
//const char* newssid = "";
//const char* newpassword = "";
ESP8266WebServer server(80);
/******************************************************************/
String postForms1 = "<html>\
<head>\
<title>ESP8266 onduleur</title>\
<style>\
body { background-color: lightblue; font-family: Comic Sans MS, Arial; Color: #000088;text-align: center }\
td {text-align: center;}\
.divbtn { position:absolute; top: 50px; right: 50px;}\
.btn {width:85px;height:85px;background:#cc0000;font: 18px Comic Sans MS;border-radius:50%;border:5px;color:#fff;cursor:pointer}\
.btn:hover{background:#ffffff;color: #cc04c2;}\
table, th, td {border: 1px solid black; border-collapse: collapse;}\
#cadre{padding-bottom:19px;padding-left: 1px;position: relative;}\
.inforp {background-color: grey;color:white;font-family:verdana;width: 30px;position: absolute;}\
input {width: 2.5em;font-size: 1.5em;}\
</style>\
</head>\
<body onload=\"initVar()\">\
<h1>Variateur de fréquence sinusoïdal
pour moteur asynchrone monophasé </h1>\
<h2>Modulation à largeur d'impulsion
</h2>\
<form method=\"post\" action=\"\" >\
<table border=\"border:1px solid black\" width=\"90%\" align=\"center\">\
<tr>\
<td colspan=\"3\"><h3>Fréquence:</h3></td>\
</tr>\
<tr>\
<td width=\"10%\">\
<input type=\"button\" value=\"-\" id=\"d2\" onclick=\"decalefreq(a=-1)\" onmouseover = \"myVar=setInterval(delais2, 200);\" onmouseout = \"clearInterval(myVar);\"/>\
</td>\
<td id=\"cadre\">\
<p class=\"inforp\" id=\"freq\">0</p>\
</td>\
<td width=\"10%\">\
<input type=\"button\" value=\"+\" id=\"d1\" onclick=\"decalefreq(a=1)\" onmouseover = \"myVar=setInterval(delais1, 200);\" onmouseout = \"clearInterval(myVar);\"/>\
</td>\
</tr>\
<tr>\
<td colspan=\"3\">\
<h3>Temps de démarrage:</h3>\
</td>\
</tr>\
<tr>\
<td>\
<input type=\"button\" value=\"-\" id=\"d4\" onclick=\"decaleramp(a=-1)\" onmouseover = \"myVar=setInterval(delais4, 300);\" onmouseout = \"clearInterval(myVar);\"/>\
</td>\
<td id=\"cadre\">\
<p class=\"inforp\" id=\"ramp\">0</p>\
</td>\
<td>\
<input type=\"button\" value=\"+\" id=\"d3\" onclick=\"decaleramp(a=1)\" onmouseover = \"myVar=setInterval(delais3, 300);\" onmouseout = \"clearInterval(myVar);\"/>\
</td>\
</tr>\
</table>\
<h3> Moteur à spire de Frager ou à boucle de déphasage<h3/>\
<div class=\"divbtn\"><input type=\"submit\" class=\"btn\" value=\"Valider\"/></div>\
<input type=\"hidden\" value=\"";
String postForms2 = "\" name=\"frequence\"/>\
<input type=\"hidden\" value=\"";
String postForms3 = "\" name=\"rampe\"/>\
</form>\
<script>\
var y1;\
var y2;\
var elmtfreq;\
var elmtramp;\
var x = 0;\
var r = 0;\
var myVar;\
function initVar() {\
y = parseInt(window.innerWidth,10)*0.8;\
y1 = (y/75);\
y2 = Math.round(y/6);\
elmtfreq = document.getElementById('freq');\
elmtramp = document.getElementById('ramp');\
a = document.getElementsByName('frequence')[0].value;\
decalefreq(a);\
a = document.getElementsByName('rampe')[0].value;\
decaleramp(a);\
}\
function decalefreq() {\
x += (y1*a);\
if(x > -1 & x < (y1*61)){elmtfreq.style.left = Math.round(x) + 'px';};\
x = parseInt(elmtfreq.style.left);\
document.getElementById('freq').textContent = Math.round(x/y1);\
document.getElementsByName('frequence')[0].value = Math.round(x/y1);}\
function decaleramp() {\
r += (y2*a);\
if(r > -1 & r < (y2*6)){elmtramp.style.left = r + 'px';};\
r = parseInt(elmtramp.style.left);\
document.getElementById('ramp').textContent = r/y2;\
document.getElementsByName('rampe')[0].value = r/y2;}\
function delais1(){decalefreq(a=1);}\
function delais2(){decalefreq(a=-1);}\
function delais3(){decaleramp(a=1);}\
function delais4(){decaleramp(a=-1);}\
window.addEventListener('load', function(){\
var d1 = document.getElementById('d1');\
var d2 = document.getElementById('d2');\
var d3 = document.getElementById('d3');\
var d4 = document.getElementById('d4');\
var a;\
d1.addEventListener('touchstart', function(e){a=setInterval(delais1, 200);e.preventDefault()},false);\
d1.addEventListener('touchend', function(e){clearInterval(a);e.preventDefault()}, false);\
d2.addEventListener('touchstart', function(e){a=setInterval(delais2, 200);e.preventDefault()},false);\
d2.addEventListener('touchend', function(e){clearInterval(a);e.preventDefault()}, false);\
d3.addEventListener('touchstart', function(e){a=setInterval(delais3, 300);e.preventDefault()},false);\
d3.addEventListener('touchend', function(e){clearInterval(a);e.preventDefault()}, false);\
d4.addEventListener('touchstart', function(e){a=setInterval(delais4, 300);e.preventDefault()},false);\
d4.addEventListener('touchend', function(e){clearInterval(a);e.preventDefault()}, false);}\
,false)\
</script>\
</body>\
</html>";
String postForms ;
int frequence = 0;
float rampe = 0;
/**************************************************************** */
/******************************************************************/
void handleRoot()
{if ( server.hasArg("frequence") )
{frequence = server.arg("frequence").toInt();
rampe = server.arg("rampe").toFloat();}
postForms = postForms1 + String(frequence) + postForms2 + String(rampe) + postForms3 ;
server.send(200, "text/html", postForms);
}
/***********************************************************/
void setup(void)
{
Serial.begin(115200);
for(uint8_t t = 4; t > 0; t--)
{USE_SERIAL.printf("[SETUP] WAIT %d...\n", t);
USE_SERIAL.flush();
delay(1000);}
//WiFi.softAP(newssid, newpassword);
MDNSResponder mdns;
mdns.begin ( "vfd", WiFi.localIP () );
if (MDNS.begin("vfd"))
{Serial.println("MDNS responder started");}
server.on("/", handleRoot);
MDNS.addService ("http", "tcp", 80);
//server.onNotFound(handleNotFound);
server.begin();
Serial.println("HTTP Server Started");
//WiFiMulti.addAP(ssid, password);
}
/*********************************************************/
void loop(void){
server.handleClient();
}
Auriez vous une idée
Merci