当前位置: 首页 > news >正文

电商网站支付接口排名优化价格

电商网站支付接口,排名优化价格,十八未成年禁用免费app,杭州绿城乐居建设管理有限公司网站ESP8266网络服务器的使用 ESP8266WiFi 库① WiFiClass② WiFiClient③ WiFiServer④ WiFiUDP ESP8266WiFiMulti 库① WiFiMulti ESP8266WebServer 库① ESP8266WebServer 网络服务器实例在浏览器中控制ESP8266指示灯将开发板引脚状态显示在网页中 在之前的文章中,曾…

ESP8266网络服务器的使用

  • ESP8266WiFi 库
    • ① WiFiClass
    • ② WiFiClient
    • ③ WiFiServer
    • ④ WiFiUDP
  • ESP8266WiFiMulti 库
    • ① WiFiMulti
  • ESP8266WebServer 库
    • ① ESP8266WebServer
  • 网络服务器实例
    • 在浏览器中控制ESP8266指示灯
    • 将开发板引脚状态显示在网页中

在之前的文章中,曾经编写过两个ESP8266的通信,但对于其背后的原理和调用的库并不熟悉,因此本文章来恶补一下这方面内容。按照惯例,首先介绍一些有关ESP8266网络服务器的库、类以及方法,接着通过几个示例更好理解这些库的作用。

在这里插入图片描述

ESP8266WiFi 库

ESP8266WiFi 库主要用于管理 WiFi 连接和网络通信。它能够提供包括 WiFi 连接、TCP/UDP 通信等功能。以下对其重要类和方法解析。

① WiFiClass

用于管理 WiFi 连接。ESP8266WiFi库中为其配置了WiFiClass类的实例实例对象WiFi,因此通常在程序中,我们无需再专门为其创建一个对象,这方便了我们的程序开发效率。

重要方法:

  • begin(const char* ssid, const char* password): 连接到指定的 WiFi 网络
  • status(): 返回当前 WiFi 连接状态(如 WL_CONNECTED)
  • localIP(): 获取 ESP8266 的本地 IP 地址
  • softAP(const char* ssid, const char* password): 将 ESP8266 设置为 AP 模式(默认为STP模式)
  • disconnect(): 断开当前 WiFi 连接
  • mode(WiFiMode_t mode): 设置WiFi模式,参数mode的值可以是WIFI_STA 、 WIFI_AP 、 WIFI_AP_STA 、 WIFI_OFF 四种

② WiFiClient

用于创建 TCP 客户端,与服务器通信,通常需要手动创建。

重要方法:

  • connect(const char* host, uint16_t port): 连接到指定的服务器。
  • print() / println(): 向服务器发送数据。
  • available(): 检查是否有数据可读。
  • read(): 读取接收到的数据。
  • stop(): 关闭连接。

③ WiFiServer

用于创建 TCP 服务器,监听客户端连接,通常需要手动创建。

重要方法:

  • begin(): 启动服务器。
  • available(): 检查是否有客户端连接。
  • client(): 获取连接的客户端对象。

④ WiFiUDP

用于实现 UDP 通信,通常需要手动创建。

重要方法:

  • begin(uint16_t port): 启动 UDP 服务并监听指定端口。
  • beginPacket(IPAddress ip, uint16_t port): 开始发送 UDP 数据包。
  • write(): 发送数据。
  • endPacket(): 结束数据包发送。
  • parsePacket(): 检查是否有 UDP 数据包到达。
  • read(): 读取接收到的 UDP 数据。
  • remoteIP(): 获取发送方的IP地址,返回一个 IPAddress 对象。
  • remotePort(): 获取发送方的端口号,返回一个 IPAddress 对象。

ESP8266WiFiMulti 库

ESP8266WiFiMulti 库是 ESP8266WiFi 库的扩展,用于管理多个 WiFi 网络。它可以自动尝试连接预配置的多个 WiFi 网络,直到成功连接其中一个。

① WiFiMulti

用于管理多个 WiFi 网络,通常创建一个对象即可。

重要方法:

  • addAP(const char* ssid, const char* password): 添加一个 WiFi 网络到列表中。
  • run(): 尝试连接列表中的 WiFi 网络,返回连接状态。
  • cleanAPlist(): 清除所有已配置的 WiFi 网络。

ESP8266WebServer 库

ESP8266WebServer 库用于在 ESP8266 上创建简单的 HTTP 服务器,处理客户端请求并返回响应。适用于构建 Web 控制界面或 RESTful API。

① ESP8266WebServer

用于创建 HTTP 服务器。

重要方法:

  • begin(): 启动服务器。
  • handleClient(): 处理客户端请求。
  • on(const char* uri, HTTPMethod method, THandlerFunction handler): 注册路由和处理函数。
  • send(): 向客户端发送响应(如 send(200, “text/plain”, “Hello World”))。
  • arg(): 获取客户端请求中的参数值。
  • hasArg(): 检查请求中是否包含某个参数。
  • uri(): 获取客户端请求的资源,返回所请求的资源名称
  • streamFile(File &file, const String& contentType): 将指定文件内容以流的形式发送给客户端

网络服务器实例

在浏览器中控制ESP8266指示灯

#include <ESP8266WiFi.h>        //  导入ESP8266WiFi库
#include <ESP8266WiFiMulti.h>   //  导入ESP8266WiFiMulti库
#include <ESP8266WebServer.h>   //  导入ESP8266WebServer库ESP8266WiFiMulti wifiMulti;     // 建立ESP8266WiFiMulti对象wifiMultiESP8266WebServer esp8266_server(80);// 建立网络服务器对象,该对象用于响应HTTP请求。监听端口void setup(void){Serial.begin(9600);   // 启动串口通讯pinMode(LED_BUILTIN, OUTPUT); //设置内置LED引脚为输出模式以便控制LED// 将需要连接的一系列WiFi ID和密码输入这里wifiMulti.addAP("josh", "38669836");wifiMulti.addAP("STABiPhone", "20040822Wsy");wifiMulti.addAP("ssid_from_AP_3", "your_password_for_AP_3"); // 环境查找是否有这里列出的Serial.println("Connecting ...");                            // 尝试使用存储的密码连接int i = 0;while (wifiMulti.run() != WL_CONNECTED) {  // 通过wifiMulti.run()检测是否连接成功delay(1000);Serial.print(i++);Serial.print(' ');    // 将会连接信号最强的那一个WiFi信号。}// 跳出循环代表WiFi连接成功,将通过串口监视器输出连接成功信息 Serial.println('\n');Serial.print("Connected to ");Serial.println(WiFi.SSID());              // 通过串口监视器输出连接的WiFi名称Serial.print("IP address:\t");Serial.println(WiFi.localIP());           // 通过串口监视器输出ESP8266的IP地址esp8266_server.begin();                           // 启动网站服务esp8266_server.on("/", HTTP_GET, handleRoot);     // 设置服务器根目录的函数'handleRoot'esp8266_server.on("/LED", HTTP_POST, handleLED);  // 设置处理LED控制请求的函数'handleLED'esp8266_server.onNotFound(handleNotFound);        // 设置处理404的函数'handleNotFound'Serial.println("HTTP esp8266_server started");    // 启动成功
}void loop(void){esp8266_server.handleClient();                     // 检查http服务器访问
}/*handleRoot()函数每当有客户端访问NodeMCU服务器根目录时,请求方式为GETLED页面中当用户按下按钮时,浏览器将会向ESP8266的/LED页面发送HTTP请求,请求方式为POST。ESP8266接收到此请求后将会执行handleLED函数内容*/
void handleRoot() {       esp8266_server.send(200, "text/html", "<form action=\"/LED\" method=\"POST\"><input type=\"submit\" value=\"Toggle LED\"></form>");
}//处理LED控制请求的函数handleLED()
void handleLED() {                          digitalWrite(LED_BUILTIN,!digitalRead(LED_BUILTIN));// 改变LED的点亮或者熄灭状态esp8266_server.sendHeader("Location","/");          // 跳转回页面根目录esp8266_server.send(303);                           // 发送Http相应代码303跳转  
}// 设置处理404情况的函数handleNotFound()
void handleNotFound(){esp8266_server.send(404, "text/plain", "404: Not found"); // 向浏览器发送文字 "404: Not found"
}

在这里插入图片描述
在这里插入图片描述

将开发板引脚状态显示在网页中

本程序通过测试flash引脚的状态(默认高电平,按住时低电平)来运行,手动刷新,可以更好了解这种用法

#include <ESP8266WiFi.h>
#include <ESP8266WiFiMulti.h>
#include <ESP8266WebServer.h> 
#define buttonPin 0            // 按钮引脚GPIO0连接flashESP8266WiFiMulti wifiMulti;     // 建立ESP8266WiFiMulti对象wifiMultiESP8266WebServer esp8266_server(80);// 建立网络服务器对象,该对象用于响应HTTP请求。监听端口(80)bool pinState;  // 存储引脚状态变量void setup(){Serial.begin(9600);   // 启动串口通讯pinMode(buttonPin, INPUT_PULLUP); // 将按键引脚设置为输入上拉模式wifiMulti.addAP("STABiPhone", "20040822Wsy");wifiMulti.addAP("ssid_from_AP_2", "your_password_for_AP_2");Serial.println("Connecting ...");int i = 0;                                 while (wifiMulti.run() != WL_CONNECTED) {delay(1000);Serial.print(i++); Serial.print(' ');    // 将会连接信号最强的那一个WiFi信号。}// 此处while循环判断是否跳出循环的条件。// WiFi连接成功后将通过串口监视器输出连接成功信息 Serial.println('\n');                     // WiFi连接成功后Serial.print("Connected to ");            // NodeMCU将通过串口监视器输出。Serial.println(WiFi.SSID());              // 连接的WiFI名称Serial.print("IP address:\t");Serial.println(WiFi.localIP());           // NodeMCU的IP地址esp8266_server.begin();                   // 启动网站服务                esp8266_server.on("/", handleRoot);       // 设置服务器根目录即'/'的函数'handleRoot'esp8266_server.onNotFound(handleNotFound);// 设置处理404情况的函数'handleNotFound'        Serial.println("HTTP esp8266_server started");//  告知用户ESP8266网络服务功能已经启动
}void loop(){esp8266_server.handleClient();     // 处理http服务器访问pinState = digitalRead(buttonPin); // 获取引脚状态
}void handleRoot() {   String displayPinState;                   // 存储按键状态的字符串变量if(pinState == HIGH){                     // 当按键引脚0为高电平displayPinState = "Button State: HIGH"; // 字符串赋值高电平信息} else {                                  // 当按键引脚0为低电平displayPinState = "Button State: LOW";  // 字符串赋值低电平信息}esp8266_server.send(200, "text/plain", displayPinState); // 向浏览器发送按键状态信息  
}// 设置处理404情况的函数'handleNotFound'
void handleNotFound(){esp8266_server.send(404, "text/plain", "404: Not found") // NodeMCU将调用此函数。
}

在这里插入图片描述
按住flash效果


文章转载自:
http://dinncogestic.stkw.cn
http://dinncopreconscious.stkw.cn
http://dinncoarthrology.stkw.cn
http://dinncoantifeedant.stkw.cn
http://dinncoretardate.stkw.cn
http://dinncochad.stkw.cn
http://dinncotrirectangular.stkw.cn
http://dinncoeclosion.stkw.cn
http://dinncoserif.stkw.cn
http://dinncorecreational.stkw.cn
http://dinncopellagrous.stkw.cn
http://dinncoillegible.stkw.cn
http://dinncotempeh.stkw.cn
http://dinncomastodont.stkw.cn
http://dinncofraud.stkw.cn
http://dinncognotobiotic.stkw.cn
http://dinncodivine.stkw.cn
http://dinncozizz.stkw.cn
http://dinncopursily.stkw.cn
http://dinncohendecasyllable.stkw.cn
http://dinncohyetometer.stkw.cn
http://dinncounanimous.stkw.cn
http://dinncociminite.stkw.cn
http://dinncovarimax.stkw.cn
http://dinncoallied.stkw.cn
http://dinncoscriptwriter.stkw.cn
http://dinncorejudge.stkw.cn
http://dinncoreseat.stkw.cn
http://dinncopenumbral.stkw.cn
http://dinncoinjure.stkw.cn
http://dinncooceanica.stkw.cn
http://dinncosnorty.stkw.cn
http://dinncounvexed.stkw.cn
http://dinncoscourge.stkw.cn
http://dinnconorthland.stkw.cn
http://dinncochrysalis.stkw.cn
http://dinncostadia.stkw.cn
http://dinncophilomena.stkw.cn
http://dinncooxeye.stkw.cn
http://dinncoaustrian.stkw.cn
http://dinncoacetin.stkw.cn
http://dinncofootball.stkw.cn
http://dinncomissilery.stkw.cn
http://dinncounanswered.stkw.cn
http://dinncohyperostotic.stkw.cn
http://dinncowineshop.stkw.cn
http://dinncononarithmetic.stkw.cn
http://dinncofairness.stkw.cn
http://dinncoshears.stkw.cn
http://dinncoabeyant.stkw.cn
http://dinncobifilar.stkw.cn
http://dinncoarachnidan.stkw.cn
http://dinncovespid.stkw.cn
http://dinncoangico.stkw.cn
http://dinncodiglyceride.stkw.cn
http://dinncocolander.stkw.cn
http://dinncohelicar.stkw.cn
http://dinncobenadryl.stkw.cn
http://dinncofootboy.stkw.cn
http://dinncosporicidal.stkw.cn
http://dinncomhr.stkw.cn
http://dinncofantasy.stkw.cn
http://dinncoperipateticism.stkw.cn
http://dinncocerebrosclerosis.stkw.cn
http://dinncoknar.stkw.cn
http://dinncodeliver.stkw.cn
http://dinncokerala.stkw.cn
http://dinncotricuspidate.stkw.cn
http://dinncospittoon.stkw.cn
http://dinncoductless.stkw.cn
http://dinncointermixable.stkw.cn
http://dinncobourgeon.stkw.cn
http://dinncoaging.stkw.cn
http://dinncostripling.stkw.cn
http://dinncodarkey.stkw.cn
http://dinncohierocratic.stkw.cn
http://dinncoprealtar.stkw.cn
http://dinncocaliphate.stkw.cn
http://dinncotierce.stkw.cn
http://dinncoredevelopment.stkw.cn
http://dinncotillite.stkw.cn
http://dinncoindustrial.stkw.cn
http://dinncokirundi.stkw.cn
http://dinncopor.stkw.cn
http://dinncomanipulation.stkw.cn
http://dinncothreefold.stkw.cn
http://dinncofigurante.stkw.cn
http://dinncoyom.stkw.cn
http://dinncofertilizer.stkw.cn
http://dinncohartlepool.stkw.cn
http://dinncoatretic.stkw.cn
http://dinncoeyewinker.stkw.cn
http://dinncoleucocyte.stkw.cn
http://dinncohorrible.stkw.cn
http://dinncodoubleender.stkw.cn
http://dinncotomfool.stkw.cn
http://dinncodaiker.stkw.cn
http://dinncooutwatch.stkw.cn
http://dinncomeekness.stkw.cn
http://dinncodecaffeinate.stkw.cn
http://www.dinnco.com/news/134797.html

相关文章:

  • 专做化妆品的网站长沙网站seo技术厂家
  • 可以做试卷的网站英语seo顾问多少钱
  • 网站开发与规划百度信息流推广是什么意思
  • 简单制作网页seo外链建设的方法
  • 郑州建设银行网站专业搜索引擎优化电话
  • 山西太原网站制作semseo
  • 公司在网上做网站怎么做账app开发公司哪家好
  • 简单建网站品牌宣传活动策划方案
  • 做营销网站代理挣钱吗中国广告网
  • 中企动力做网站怎么样福州短视频seo方法
  • 爱建站小程序特点seo推广方法集合
  • 武汉秋莱网站建设搜索引擎技巧
  • 济南建设网站的公司吗seo权重查询
  • 用dw 网站开发与设计报告fba欧美专线
  • 台州黄岩网站建设360优化大师下载安装
  • 交易平台网站建设策划书地推公司排名
  • 网站建设分析浏览器看b站
  • 手机网站系统下载运营网站是什么意思
  • 如何做网站信息点击软件
  • 大丰网站建设价格怎么查网站是不是正规
  • 织梦后台搭建网站并调用标签建设自己怎么做一个网页
  • 东莞公司网站建设公司seo优化点击软件
  • 投资管理公司注册郑州网站seo优化
  • 独立个人博客网站制作电商推广平台有哪些
  • 怎么做单页网站导航热狗seo外包
  • 政府部门网站建设需求软文营销软文推广
  • 建设安全员协会网站百度seo优化排名
  • 三亚平台公司公众号微博seo
  • 做网站打广告图片素材营销网站建设软件下载
  • 做日语网站东营网站建设制作