查看: 801|回复: 0

小e试用WIFI功能

[复制链接]
  • TA的每日心情
    奋斗
    2022-9-16 05:52
  • 签到天数: 1368 天

    连续签到: 1 天

    [LV.10]以坛为家III

    发表于 2016-5-26 14:36:49 | 显示全部楼层 |阅读模式
    分享到:
    众所周知,Arduino标榜的就是开发简单,这个ESP8266也是如此,当然这要感谢背后开源工作者,有了他们才能如此的开发简单。
        这次要尝试一下ESP8266的WebServer功能。首先用ESP8266连接到路由器上,获取了IP地址后,用PC的浏览器打开对应的页面,查看结果。

        代码中的ssid和密码要输入自己路由器的,也就是用手机连接自己WIFI的那些东西,一定要写对。
        运行后串口输出一些信息,包括已经取得的IP地址,端口号程序监听的是80

        为了验证一下,打开路由器的配置页面,可以看到ESP8266的连接信息

        根据IP地址,在网页中打开,显示ESP8266返回的信息 。
    最后附上程序,ESP8266 WebServer的例子
    #include <ESP8266WiFi.h>
    #include <WiFiClient.h>
    #include <ESP8266WebServer.h>
    #include <ESP8266mDNS.h>
    const char* ssid = "........";
    const char* password = "........";
    ESP8266WebServer server(80);
    const int led = 13;
    void handleRoot() {
      digitalWrite(led, 1);
      server.send(200, "text/plain", "hello from esp8266!");
      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":&quotOST";
      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 connection
      while (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("/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();
    }
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    手机版|小黑屋|与非网

    GMT+8, 2024-11-19 08:52 , Processed in 0.120614 second(s), 17 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.