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

汇邦团建网站谁做的刷会员网站怎么做

汇邦团建网站谁做的,刷会员网站怎么做,me域名免费注册,WordPress搜索功能增强这个是来自ESP32官方示例的改版#xff0c;官方的示例由于存在一些问题所以我进行了修改原本的示例有点逻辑上的问题#xff0c;所以进行了一些修改主要修改有#xff1a;1.新增SD卡测试部分 复制自官方SD卡示例2.新增一个根目录页#xff0c;访问根目录就可以看到3.修改了…这个是来自ESP32官方示例的改版官方的示例由于存在一些问题所以我进行了修改原本的示例有点逻辑上的问题所以进行了一些修改主要修改有1.新增SD卡测试部分 复制自官方SD卡示例2.新增一个根目录页访问根目录就可以看到3.修改了目录展示页可以通过ip地址/list看到原本这个页面只会返回BAD ARGS4.新增Wifi设置页可以通过Wifi设置页更改链接的Wifi(但是建议不要随便更改除非连着串口不然你看不到新的IP地址)5.新增文件上传页可以通过网页进行上传(调用原本的/edit的链接)下面是页面展示主页Index.PNG (29.16 KB, 下载次数: 16)2018-8-27 15:10 上传Wifi设置页WifiSetting.PNG (20.95 KB, 下载次数: 14)2018-8-27 15:10 上传WIFI信息页WIFIINFO.PNG (7.28 KB, 下载次数: 19)2018-8-27 15:10 上传文件目录页File List.PNG (43.39 KB, 下载次数: 16)2018-8-27 15:10 上传文件上传页UPLOAD.PNG (3.88 KB, 下载次数: 17)2018-8-27 15:10 上传主要代码[mw_shl_codecpp,true]/*SDWebServer - Example WebServer with SD Card backend for esp8266Copyright (c) 2015 Hristo Gochkov. All rights reserved.This file is part of the WebServer library for Arduino environment.This library is free software; you can redistribute it and/ormodify it under the terms of the GNU Lesser General PublicLicense as published by the Free Software Foundation; eitherversion 2.1 of the License, or (at your option) any later version.This library is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNULesser General Public License for more details.You should have received a copy of the GNU Lesser General PublicLicense along with this library; if not, write to the Free SoftwareFoundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USAHave a FAT Formatted SD Card connected to the SPI port of the ESP8266The web root is the SD Card root folderFile extensions with more than 3 charecters are not supported by the SD LibraryFile Names longer than 8 charecters will be truncated by the SD library, so keep filenames shorterindex.htm is the default index (works on subfolders as well)upload the contents of SdRoot to the root of the SDcard and access the editor by going to http://esp8266sd.local/editModified by Maoweicao 2018.8.27*/#include #include #include #include #include #include #include FS.h#define DBG_OUTPUT_PORT Serialconst char* ssid .................; //Replace youself wifi ssidconst char* password ......................; //Replace youself wifi passwordconst char* host esp32sd;String wifissid ;String wifipwd ;WebServer server(80);static bool hasSD false;File uploadFile;//format bytesString formatBytes(size_t bytes) {if (bytes 1024) {return String(bytes) B;} else if (bytes (1024 * 1024)) {return String(bytes / 1024.0) KB;} else if (bytes (1024 * 1024 * 1024)) {return String(bytes / 1024.0 / 1024.0) MB;} else {return String(bytes / 1024.0 / 1024.0 / 1024.0) GB;}}void listDir(fs::FS fs, const char * dirname, uint8_t levels){Serial.printf(Listing directory: %s\n, dirname);File root fs.open(dirname);if(!root){Serial.println(Failed to open directory);return;}if(!root.isDirectory()){Serial.println(Not a directory);return;}File file root.openNextFile();while(file){if(file.isDirectory()){Serial.print(  DIR : );Serial.println(file.name());if(levels){listDir(fs, file.name(), levels -1);}} else {Serial.print(  FILE: );Serial.print(file.name());Serial.print(  SIZE: );Serial.println(file.size());}file root.openNextFile();}}void createDir(fs::FS fs, const char * path){Serial.printf(Creating Dir: %s\n, path);if(fs.mkdir(path)){Serial.println(Dir created);} else {Serial.println(mkdir failed);}}void removeDir(fs::FS fs, const char * path){Serial.printf(Removing Dir: %s\n, path);if(fs.rmdir(path)){Serial.println(Dir removed);} else {Serial.println(rmdir failed);}}void readFile(fs::FS fs, const char * path){Serial.printf(Reading file: %s\n, path);File file fs.open(path);if(!file){Serial.println(Failed to open file for reading);return;}Serial.print(Read from file: );while(file.available()){Serial.write(file.read());}file.close();}void writeFile(fs::FS fs, const char * path, const char * message){Serial.printf(Writing file: %s\n, path);File file fs.open(path, FILE_WRITE);if(!file){Serial.println(Failed to open file for writing);return;}if(file.print(message)){Serial.println(File written);} else {Serial.println(Write failed);}file.close();}void appendFile(fs::FS fs, const char * path, const char * message){Serial.printf(Appending to file: %s\n, path);File file fs.open(path, FILE_APPEND);if(!file){Serial.println(Failed to open file for appending);return;}if(file.print(message)){Serial.println(Message appended);} else {Serial.println(Append failed);}file.close();}void renameFile(fs::FS fs, const char * path1, const char * path2){Serial.printf(Renaming file %s to %s\n, path1, path2);if (fs.rename(path1, path2)) {Serial.println(File renamed);} else {Serial.println(Rename failed);}}void deleteFile(fs::FS fs, const char * path){Serial.printf(Deleting file: %s\n, path);if(fs.remove(path)){Serial.println(File deleted);} else {Serial.println(Delete failed);}}void testFileIO(fs::FS fs, const char * path){File file fs.open(path);static uint8_t buf[512];size_t len 0;uint32_t start millis();uint32_t end start;if(file){len file.size();size_t flen len;start millis();while(len){size_t toRead len;if(toRead 512){toRead 512;}file.read(buf, toRead);len - toRead;}end millis() - start;Serial.printf(%u bytes read for %u ms\n, flen, end);file.close();} else {Serial.println(Failed to open file for reading);}file fs.open(path, FILE_WRITE);if(!file){Serial.println(Failed to open file for writing);return;}size_t i;start millis();for(i0; i2048; i){file.write(buf, 512);}end millis() - start;Serial.printf(%u bytes written for %u ms\n, 2048 * 512, end);file.close();}void returnOK() {server.send(200, text/plain, );}void returnOK(String msg) {server.send(200, text/plain, msg\r\n);}void returnFail(String msg) {server.send(500, text/plain, msg \r\n);}bool loadFromSdCard(String path) {String dataType text/plain;if (path.endsWith(/)) {path index.htm;}if (path.endsWith(.src)) {path path.substring(0, path.lastIndexOf(.));} else if (path.endsWith(.htm)) {dataType text/html;} else if (path.endsWith(.css)) {dataType text/css;} else if (path.endsWith(.js)) {dataType application/javascript;} else if (path.endsWith(.png)) {dataType image/png;} else if (path.endsWith(.gif)) {dataType image/gif;} else if (path.endsWith(.jpg)) {dataType image/jpeg;} else if (path.endsWith(.ico)) {dataType image/x-icon;} else if (path.endsWith(.xml)) {dataType text/xml;} else if (path.endsWith(.pdf)) {dataType application/pdf;} else if (path.endsWith(.zip)) {dataType application/zip;}File dataFile SD.open(path.c_str());if (dataFile.isDirectory()) {path /index.htm;dataType text/html;dataFile SD.open(path.c_str());}if (!dataFile) {return false;}if (server.hasArg(download)) {dataType application/octet-stream;}if (server.streamFile(dataFile, dataType) ! dataFile.size()) {DBG_OUTPUT_PORT.println(Sent less data than expected!);}dataFile.close();return true;}void handleWifiPage(){String content Congratulations! You Now Connect to The Wifi!;content You Connect Wifi Name is:String(ssid);content Wifi Password is:String(password);content You input ssid is: wifissid ;content You input password is:wifipwd;content ;server.send(200, text/html, content);}void handleSetWifi(){String msg;if (server.hasArg(DISCONNECT)){Serial.println(Disconnection);String header HTTP/1.1 301 OK\r\nSet-Cookie: ESPSESSIONID0\r\nLocation: /wifiinfo\r\nCache-Control: no-cache\r\n\r\n;server.sendContent(header);return;}if (server.hasArg(WIFINAME) server.hasArg(WIFIPWD)){wifissidserver.arg(WIFINAME);wifipwdserver.arg(WIFIPWD);String header HTTP/1.1 301 OK\r\nSet-Cookie: ESPSESSIONID1\r\nLocation: /wifiinfo\r\nCache-Control: no-cache\r\n\r\n;server.sendContent(header);Serial.println(WIFI INFO:);Serial.println(Wifi Name:wifissid);Serial.println(Wifi Password:wifipwd);if(WiFi.isConnected()){WiFi.disconnect();}WiFi.begin(wifissid.c_str(),wifipwd.c_str());int i0;while (WiFi.status() ! WL_CONNECTED i 50) {//wait 25 secondsSerial.print(.);delay(500);}if (i 51) {DBG_OUTPUT_PORT.print(Could not connect to);DBG_OUTPUT_PORT.println(wifissid);while (1) {delay(500);}}DBG_OUTPUT_PORT.print(Connected! IP address: );DBG_OUTPUT_PORT.println(WiFi.localIP());return;}String content This is a Wifi Setting Page;content Wifi SSID:;content Wifi Password:;content msg ;content We Can Scan The Wifi List is:;int n WiFi.scanNetworks();if(n0)content There is no wifi can use!;else{content ;for(int i0; icontent (String()String( Wifi SSID:)String(WiFi.SSID(i))String( Wifi RSSI:)String(WiFi.RSSI(i))String((WiFi.encryptionType(i) WIFI_AUTH_OPEN)?String( ):String(*))String());}content ;}content ;server.send(200, text/html, content);}void handleRoot(){Serial.println(Enter handleRoot);String header;String content Hello, you successfully connected to ESP32-F!;if (server.hasHeader(User-Agent)){content the user agent used is : server.header(User-Agent) ;}content You can choose this page to visit:;content Wifi Setup;content Wifi Infomation;content File List;content Upload File;content Good Luck Everyone!;content ;server.send(200, text/html, content);}void handleUploadWeb(){File htmlSD.open(/upload/upload.html);String dataType text/html;server.streamFile(html,dataType);Serial.println(Open Upload File);}void handleFileUpload() {bool updonefalse;if (server.uri() ! /edit) {return;}String fileName ;HTTPUpload upload server.upload();if (upload.status UPLOAD_FILE_START) {if (SD.exists((char *)upload.filename.c_str())) {SD.remove((char *)upload.filename.c_str());}fileName /upload/upload.filename.substring(upload.filename.lastIndexOf(\\)1);Serial.println(fileName);uploadFile SD.open(fileName, FILE_WRITE);if(uploadFile!NULL)Serial.println(File exsist!);DBG_OUTPUT_PORT.print(Upload: START, filename: ); DBG_OUTPUT_PORT.println(upload.filename);} else if (upload.status UPLOAD_FILE_WRITE) {if (uploadFile) {if(uploadFile.write(upload.buf, upload.currentSize))Serial.println(write Done);}DBG_OUTPUT_PORT.print(Upload: WRITE, Bytes: ); DBG_OUTPUT_PORT.println(upload.currentSize);} else if (upload.status UPLOAD_FILE_END) {uploadFile.close();DBG_OUTPUT_PORT.print(Upload: END, Size: ); DBG_OUTPUT_PORT.println(upload.totalSize);String message Upload Done!\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 NAME: server.argName(i) \n VALUE: server.arg(i) \n;}server.send(200, text/plain, message);updonetrue;}if(updone)if(fileName!)readFile(SD,fileName.c_str());}void deleteRecursive(String path) {File file SD.open((char *)path.c_str());if (!file.isDirectory()) {file.close();SD.remove((char *)path.c_str());return;}file.rewindDirectory();while (true) {File entry file.openNextFile();if (!entry) {break;}String entryPath path / entry.name();if (entry.isDirectory()) {entry.close();deleteRecursive(entryPath);} else {entry.close();SD.remove((char *)entryPath.c_str());}yield();}SD.rmdir((char *)path.c_str());file.close();}void handleDelete() {if (server.args() 0) {return returnFail(BAD ARGS);}String path server.arg(0);if (path / || !SD.exists((char *)path.c_str())) {returnFail(BAD PATH);return;}deleteRecursive(path);returnOK();}void handleCreate() {if (server.args() 0) {return returnFail(BAD ARGS);}String path server.arg(0);if (path / || SD.exists((char *)path.c_str())) {returnFail(BAD PATH);return;}if (path.indexOf(.) 0) {File file SD.open((char *)path.c_str(), FILE_WRITE);if (file) {file.write(0);file.close();}} else {SD.mkdir((char *)path.c_str());}returnOK();}String listDir2Web(fs::FS fs, const char * dirname, uint8_t levels){String message;File root fs.open(dirname);if(!root){message Failed to open directory ;return message;}if(!root.isDirectory()){message Not a directory ;return message;}File file root.openNextFile();while(file){if(file.isDirectory()){message   DIR : ;message String(file.name())String();if(levels){message listDir2Web(fs, file.name(), levels -1);}} else {message String(  FILE: );message String(file.name())String();message String(  SIZE: );message formatBytes(file.size())String();}file root.openNextFile();}return message;}void printDirectory() {String header ;String message header List the file in the SD Card:;message listDir2Web(SD,/,5);server.send(200,text/html,message);}void handleNotFound() {if (hasSD loadFromSdCard(server.uri())) {return;}String message SDCARD Not Detected\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 NAME: server.argName(i) \n VALUE: server.arg(i) \n;}server.send(404, text/plain, message);DBG_OUTPUT_PORT.print(message);}void setup(void) {DBG_OUTPUT_PORT.begin(115200);DBG_OUTPUT_PORT.setDebugOutput(true);DBG_OUTPUT_PORT.print(\n);WiFi.mode(WIFI_STA);//Soft AP Setting/*IPAddress softLocal(192,168,25,1);IPAddress softGateway(192,168,25,1);IPAddress softSubnet(255,255,255,0);WiFi.softAPConfig(softLocal,softGateway,softSubnet);WiFi.softAP(ESP32_5672C,adminadmin);Serial.println(SoftAP IPAdress:WiFi.softAPIP());*///Station SettingWiFi.begin(ssid, password);DBG_OUTPUT_PORT.print(Connecting to );DBG_OUTPUT_PORT.println(ssid);// Wait for connectionuint8_t i 0;while (WiFi.status() ! WL_CONNECTED i 50) {//wait 25 secondsSerial.print(.);delay(500);}if (i 51) {DBG_OUTPUT_PORT.print(Could not connect to);DBG_OUTPUT_PORT.println(ssid);while (1) {delay(500);}}DBG_OUTPUT_PORT.print(Connected! IP address: );DBG_OUTPUT_PORT.println(WiFi.localIP());//Setting sub networkif (MDNS.begin(host)) {MDNS.addService(http, tcp, 80);DBG_OUTPUT_PORT.println(MDNS responder started);DBG_OUTPUT_PORT.print(You can now connect to http://);DBG_OUTPUT_PORT.print(host);DBG_OUTPUT_PORT.println(.local);}server.on(/,handleRoot);server.on(/list, HTTP_GET, printDirectory);server.on(/edit, HTTP_DELETE, handleDelete);server.on(/edit, HTTP_PUT, handleCreate);server.on(/upload,HTTP_GET,handleUploadWeb);server.on(/wifiinfo,HTTP_GET,handleWifiPage);server.on(/wifiset,HTTP_GET,handleSetWifi);server.on(/wifiset,HTTP_POST,handleSetWifi);server.on(/edit, HTTP_POST, []() {returnOK();}, handleFileUpload);server.onNotFound(handleNotFound);server.begin();DBG_OUTPUT_PORT.println(HTTP server started);/*if (SD.begin(SS)) {DBG_OUTPUT_PORT.println(SD Card initialized.);hasSD true;}**/if(!SD.begin()){Serial.println(Card Mount Failed);return;}else{Serial.println(SD Card Ready!);hasSDtrue;}uint8_t cardType SD.cardType();if(cardType CARD_NONE){Serial.println(No SD card attached);return;}Serial.print(SD Card Type: );if(cardType CARD_MMC){Serial.println(MMC);} else if(cardType CARD_SD){Serial.println(SDSC);} else if(cardType CARD_SDHC){Serial.println(SDHC);} else {Serial.println(UNKNOWN);}uint64_t cardSize SD.cardSize() / (1024 * 1024);Serial.printf(SD Card Size: %lluMB\n, cardSize);listDir(SD, /, 0);createDir(SD, /mydir);createDir(SD, /upload);listDir(SD, /, 0);removeDir(SD, /mydir);listDir(SD, /, 2);writeFile(SD, /hello.txt, Hello );appendFile(SD, /hello.txt, World!\n);readFile(SD, /hello.txt);deleteFile(SD, /foo.txt);renameFile(SD, /hello.txt, /foo.txt);readFile(SD, /foo.txt);testFileIO(SD, /test.txt);Serial.printf(Total space: %lluMB\n, SD.totalBytes() / (1024 * 1024));Serial.printf(Used space: %lluMB\n, SD.usedBytes() / (1024 * 1024));}void loop(void) {server.handleClient();}[/mw_shl_code]当然文件上传页是在SD卡目录下面的所以你需要在SD卡新建一个upload目录并且上传一个upload网页这样就可以上传了。下面是那个比较简单的上传页面记得要替换掉那个IP Address变成你自己的目录或者直接去掉[mw_shl_codehtml,true]Choose You Will Upload File:[/mw_shl_code]另外一个版本[mw_shl_codehtml,true]Choose You Will Upload File:[/mw_shl_code]
http://www.huolong8.cn/news/351047/

相关文章:

  • 网站建设的内容有哪些网站项目名称
  • wordpress+短视频主题福州seo推广
  • 撰写网站策划书温州网站建设和推广
  • 网站业务建设是什么巩义企业网站建设
  • 管局审核一定要能打开网站国际业务网站有哪些
  • 微信网站建设报价单网络营销方案策划书
  • 电商网站 技术柳州网站网站建设
  • 福州网站建设fjfzwl推广网站的网址和网鱼相匹配
  • 购物网站用html怎么做做网站建设赚钱吗
  • 超能力联盟网站wordpress 新闻主题
  • 电商网站开发意义iis7搭建网站织梦
  • 做竞彩网站代理犯法么做网站攻略
  • 网站收录查询工具规划设计公司网站
  • 石家庄网络推广建站是短视频迅猛发展的非常重要的因素
  • 静态企业网站下载池州网站优化公司
  • 给个龙做罗拉的网站梅州市建设局网站
  • 北京网站建设hj华网天下知乎 wordpress插件
  • 网站做水印有没有影响吗广告公司推广平台
  • 门户网站建设情况报告中装建设重组消息
  • 下载百度官方网站wordpress 清空浏览量
  • 专业做网站哪家便宜推广平台有哪些渠道
  • 企业网站打不开什么原因中国能建招商平台
  • 我要找个做网站的公司子域名网址大全
  • wordpress在线代码编辑器seo网站推广专员招聘
  • 如何做建筑一体化的网站做网站的基本知识
  • 学校门户网站建设工作汇报小程序游戏免广告神器
  • 建设企业学习网站在线一键建站系统
  • 阳江网站制作企业微信app
  • 在网站上部署淘宝联盟推广代码的推广模式.哪家网站专门做折扣销售
  • 网站取消备案重庆网站建站建设的费用