淘宝;https://detail.tmall.com/item.htm?id=536504922008&spm=a1z09.2.0.0.5e160c66c76b3g&_u=e1qf7bf52e27
产品资料:http://www.kbgogo.com/forum.php?mod=viewthread&tid=64&extra=
烧录时版型和参数选择
测试样例1
说明:
- 程序输入 你要连接的路由器 名+密码。
- 烧录进入wemos d1 mini 板,程序自动连接路由器,并返回自己分配到的地址。
- 手机或电脑连接在同一个路由器下,打开网页,输入刚才返回的地址,网页看到结果。
1 烧录程序
/* * Copyright (c) 2015, Majenko Technologies * All rights reserved. * * Redistribution and use in source and binary forms, with or without modification, * are permitted provided that the following conditions are met: * * * Redistributions of source code must retain the above copyright notice, this * ??list of conditions and the following disclaimer. * * * Redistributions in binary form must reproduce the above copyright notice, this * ??list of conditions and the following disclaimer in the documentation and/or * ??other materials provided with the distribution. * * * Neither the name of Majenko Technologies nor the names of its * ??contributors may be used to endorse or promote products derived from * ??this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */#include <ESP8266WiFi.h>#include <WiFiClient.h>#include <ESP8266WebServer.h>#include <ESP8266mDNS.h>const char *ssid = "dongdong";const char *password = "dongdong";ESP8266WebServer server ( 80 );const int led = 13;void handleRoot() {digitalWrite ( led, 1 );char temp[400];int sec = millis() / 1000;int min = sec / 60;int hr = min / 60;snprintf ( temp, 400,"<html> ?<head> ???<meta http-equiv=‘refresh‘ content=‘5‘/> ???<title>ESP8266 Demo</title> ???<style> ?????body { background-color: #cccccc; font-family: Arial, Helvetica, Sans-Serif; Color: #000088; } ???</style> ?</head> ?<body> ???<h1>Hello from ESP8266!</h1> ???<p>Uptime: %02d:%02d:%02d</p> ???<img src=\"/test.svg\" /> ?</body></html>",hr, min % 60, sec % 60);server.send ( 200, "text/html", temp );digitalWrite ( led, 0 );}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 ( void ) {pinMode ( led, OUTPUT );digitalWrite ( led, 0 );Serial.begin ( 115200 );WiFi.begin ( ssid, password );Serial.println ( "" );// Wait for connectionwhile ( WiFi.status() != WL_CONNECTED ) {delay ( 500 );Serial.print ( "." );}Serial.println ( "" );Serial.print ( "Connected to " );Serial.println ( ssid );Serial.print ( "IP address: " );Serial.println ( WiFi.localIP() );if ( MDNS.begin ( "esp8266" ) ) {Serial.println ( "MDNS responder started" );}server.on ( "/", handleRoot );server.on ( "/test.svg", drawGraph );server.on ( "/inline", []() {server.send ( 200, "text/plain", "this works as well" );} );server.onNotFound ( handleNotFound );server.begin();Serial.println ( "HTTP server started" );}void loop ( void ) {server.handleClient();}void drawGraph() {String out = "";char temp[100];out += "<svg xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\" width=\"400\" height=\"150\">\n"; out += "<rect width=\"400\" height=\"150\" fill=\"rgb(250, 230, 210)\" stroke-width=\"1\" stroke=\"rgb(0, 0, 0)\" />\n"; out += "<g stroke=\"black\">\n"; int y = rand() % 130; for (int x = 10; x < 390; x+= 10) { int y2 = rand() % 130; sprintf(temp, "<line x1=\"%d\" y1=\"%d\" x2=\"%d\" y2=\"%d\" stroke-width=\"1\" />\n", x, 140 - y, x + 10, 140 - y2); out += temp; y = y2; }out += "</g>\n</svg>\n";server.send ( 200, "image/svg+xml", out);}
2 连接路由器
我们只需要用浏览器打开这个IP就可以看到8266输出的内容了。
esp8266+arduino(1) 查看网页
原文地址:https://www.cnblogs.com/kekeoutlook/p/8284213.html