本帖最后由 wing 于 2017-5-19 01:05 编辑
那么这里是代码 - //8266 AP+ws wifi ssid=ESP8266xxxxxxxx pwd=ap20170519 访问 http://192.168.128.1/pwm1.q 可见页面
- #include <ESP8266WiFi.h>
- #include <ESP8266WebServer.h>
- ESP8266WebServer server ( 80 );
- const int led = 13;
- void pwm1_page() {
- char temp[1100]=
- "<html><head><style>.v{-webkit-appearance:slider-vertical;writing-mode:bt-lr;width:150;height:400;position:absolute;top:0;}.v.l{left:0;}.v.r{right:0;}i{width:180;margin:10 auto;display:block;}</style><script>var xhr=new XMLHttpRequest();function udp(){if(xhr.readyState==4){var rtn=xhr.responseText;if(rtn.indexOf("l")>=0)document.getElementById("t_l").value=rtn;if(rtn.indexOf("r")>=0)document.getElementById("tr").value=rtn;}}function roc(S){var txt,url;url="pwm2.q?";if(S==1){txt=document.getElementById("r_l").value;url=url+"l="+escape(txt);}if(S==2){txt=document.getElementById("rr").value;url=url+"r="+escape(txt);}xhr.open("GET",url,true);xhr.onreadystatechange=udp;xhr.send();}</script></head><body><input type="range"min="-1000"max="1000"value="0"class="v l"ontouchend="roc(1)"onmouseup="roc(1)"id="r_l"/><i>l:<input type="text"id="t_l"/></i><i>r:<input type="text"id="tr"/></i><input type="range"min="-1000"max="1000"value="0"class="v r"ontouchend="roc(2)"onmouseup="roc(2)"id="rr"/></body></html>";
- server.send ( 200, "text/html", temp );
- }
- void pwm2_page() {
- String p= "";
- if (server.hasArg("r")) //是否有r参数
- {
- p="r="+server.arg("r"); //取r参数值
- server.send(200, "text/plain", p);
- return;
- }
- if (server.hasArg("l"))
- {
- p="l="+server.arg("l");
- server.send(200, "text/plain", p);
- return;
- }
- }
- void handleNotFound() {
- digitalWrite ( led, 1 );
- String message = "File Not Found\n\n";
- message += "URI: ";
- message += server.uri();
- message += "\nMethod: ";
- message += ( server.method() == HTTP_GET ) ? "GET" : "POST";
- message += "\nArguments: ";
- message += server.args();
- message += "\n";
- for ( uint8_t i = 0; i < server.args(); i++ ) {
- message += " " + server.argName ( i ) + ": " + server.arg ( i ) + "\n";
- }
- server.send ( 404, "text/plain", message );
- digitalWrite ( led, 0 );
- }
- void setup() {
- Serial.begin ( 115200 );
- Serial.println("");
- // 设置内网
- IPAddress softLocal(192,168,128,1);
- IPAddress softGateway(192,168,128,1);
- IPAddress softSubnet(255,255,255,0);
- WiFi.softAPConfig(softLocal, softGateway, softSubnet);
- String apName = ("ESP8266_"+(String)ESP.getChipId()); //ap的名称 ESP8266xxxxxxxx 前面固定是ESP8266后面是芯片ID号
- const char *softAPName = apName.c_str();
- WiFi.softAP(softAPName, "ap20170519");
- IPAddress myIP = WiFi.softAPIP();
- Serial.print("AP IP address: ");
- Serial.println(myIP);
- Serial.print("softAPName: ");
- Serial.println(apName);
- server.on ( "/inline", []() {
- server.send ( 200, "text/plain", "this works as well" );
- } );
- server.on ( "/pwm1.q", pwm1_page );
- server.on ( "/pwm2.q", pwm2_page );
- server.onNotFound ( handleNotFound );
- server.begin();
- Serial.println ( "HTTP server started" );
- }
- void loop ( void ) {
- server.handleClient();
- }
复制代码
当然我还没有把PWM的控制写上去 |