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

php网站开发实战开发百度站长电脑版

php网站开发实战开发,百度站长电脑版,做物流网站的公司哪家好,网页广告弹窗怎么屏蔽ESP8266网络服务器的使用 ESP8266WiFi 库① WiFiClass② WiFiClient③ WiFiServer④ WiFiUDP ESP8266WiFiMulti 库① WiFiMulti ESP8266WebServer 库① ESP8266WebServer 网络服务器实例在浏览器中控制ESP8266指示灯将开发板引脚状态显示在网页中 在之前的文章中#xff0c;曾… 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_CONNECTEDlocalIP(): 获取 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); // 设置服务器根目录的函数handleRootesp8266_server.on(/LED, HTTP_POST, handleLED); // 设置处理LED控制请求的函数handleLEDesp8266_server.onNotFound(handleNotFound); // 设置处理404的函数handleNotFoundSerial.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请求。监听端口80bool 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); // 设置服务器根目录即/的函数handleRootesp8266_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将调用此函数。 }
http://www.w-s-a.com/news/564257/

相关文章:

  • 买的网站模板怎么做建设行政管理部门网站
  • 怎么让百度多收录网站关键词seo深圳
  • 陕西交通建设集团网站体检个人网站设计模板田田田田田田田田
  • ae模板网站推荐安徽建筑信息平台
  • 新网站建设代理商wordpress模板商店
  • 中国十大设计素材网站wordpress发布失败
  • 江西省建设监理网站网页制作与设计是什么
  • 在招聘网站做销售怎么样网址你懂我意思正能量不用下载ios
  • 高端企业网站定制公司企业网站2000元
  • 成都网站建设:河北省建设工程质量监督网站
  • 四川省建设厅官网信息查询平台北京seo关键词优化外包
  • 网站建设响应式是什么意思wordpress弹窗打开网页
  • 做美工需要参考的网站漳州做网站的公司
  • 用源码建设网站关于网站开发的自我评价
  • 网站设计师图片自助建站编辑器
  • 网站建设的常用技术有哪些深圳建筑工地招工
  • 做软装找图片的网站wordpress 替代
  • 制作网站的后台公众号做视频网站会封吗
  • 广西企业建站邯郸景区网站制作
  • 开发商城网站多少钱城厢区建设局网站
  • 网站外链多的危害天水市建设局网站
  • 网站接入商学交互设计网站
  • 目前最新的网站后台架构技术综述什么网站可以做名片
  • 成都建站长沙做网站美工的公司
  • 湖南省住房与城乡建设厅网站平顶山网站关键词优化
  • 购物网站前台功能模块汕头网站设计电话
  • 网站你懂我意思正能量免费wordpress菜单底部导航代码
  • 一个主机可以建设多少个网站山东高端网站建设
  • 长沙网站建设搭建网络营销做得好的公司
  • 如何做网站的后台管理石家庄seo关键词排名