位置导航: ESP8266库 / ESP8266WebServer库 / 本页
说明
当ESP8266开发板建立网络服务器以后,每当有客户端向服务器发送HTTP请求时,我们可以利用on函数来设置HTTP请求回调函数。
通过HTTP请求回调函数,我们可以让ESP8266服务器生成响应信息并发送给HTTP请求客户端。
语法
server.on(uri, uri_handler);
server.on(uri, method, uri_handler);
参数
– uri: HTTP请求客户端所请求的uri(参数类型:const String*)
– uri_handler: HTTP请求回调函数(参数类型:THandlerFunction)
– method: 此参数用于设置向客户端发送响应信息时所使用的HTTP方法。以下为可供选择的响应方法关键字。
HTTP_ANY
HTTP_GET
HTTP_POST
HTTP_PUT
HTTP_PATCH
HTTP_DELETE
HTTP_OPTIONS
返回值
无
示例程序
如需进一步了解本示例程序的详细使用方法,特别是on函数的功能,请参考《零基础入门学用物联网》免费视频教程中“ESP8266-NodeMCU网络服务器”部分内容。
当您将以下示例程序中的WiFi连接信息修改并且将本示例程序上传ESP8266开发板后,开发板随即会自动连接WiFi。WiFi连接成功后,您将可以从串口监视器获取当前ESP8266开发板的IP地址。此时,ESP8266已经成功建立了网络服务器。您可以通过ESP8266的IP地址来访问该网络服务器。
假设您的ESP8266开发板IP地址是192.168.0.110。那么接下来您可以通过浏览器输入该IP地址。(如下图所示)
当您在浏览器地址栏中输入IP后并按下回车,这时您将看到浏览器中显示上图所示的网页页面。该页面即是通过ESP8266所建立的。
在以下示例程序中,我们使用了server.on(“/”, homepage);语句来设置浏览器访问网站首页时的回调函数“homepage”。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
/********************************************************************** 项目名称/Project : 零基础入门学用物联网 程序名称/Program name : WebServer_demo_on 团队/Team : 太极创客团队 / Taichi-Maker (www.taichi-maker.com) 作者/Author : Dapenson 日期/Date(YYYYMMDD) : 20200320 程序目的/Purpose : 使用8266作为WebServer,并用浏览器打开设备IP+80端口进行访问 ----------------------------------------------------------------------- 本示例程序为太极创客团队制作的《零基础入门学用物联网》中示例程序。 该教程为对物联网开发感兴趣的朋友所设计和制作。如需了解更多该教程的信息,请参考以下网页: http://www.taichi-maker.com/homepage/esp8266-nodemcu-iot/iot-c/esp8266-nodemcu-web-server/ ***********************************************************************/ #include <ESP8266WiFi.h> #include <ESP8266WebServer.h> //设置您的WiFi接入信息 const char* ssid = "TaichiMaker"; const char* password = "xxxxxxxx"; ESP8266WebServer server(80); void homepage() { server.send(200, "text/plain", "test homepage !"); Serial.println("用户访问了主页"); } void setup(void) { //初始化串口 Serial.begin(115200); Serial.println(""); //初始化网络 WiFi.mode(WIFI_STA); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(""); Serial.print("IP Address: "); Serial.println(WiFi.localIP()); //初始化WebServer server.on("/", homepage); server.begin(); Serial.println("HTTP server started"); } void loop(void) { //监听客户请求并处理 server.handleClient(); } |
相关内容
– onNotFound – 未找到资源处理配置
– onFileUpload – 文件上传处理配置
– addHandler – 设置请求响应回调
位置导航: ESP8266库 / ESP8266WebServer库 / 本页