Posted on: December 27, 2019 Posted by: admin Comments: 16

WebServer trên Esp8266 #4 Up File HTML – Học Cơ Điện Tử



Trang facebook của kênh:
Xem thêm các bài khác tại đây:
Hướng dẫn chi tiết cách dựng web server trên esp8266
Truyền file lên server, lưu file, hiển thị mã html
HTTPUpload
UPLOAD_FILE_START
UPLOAD_FILE_WRITE

Học Cơ Điện Tử, nơi chia sẻ các đồ án, dự án kinh nghiệm học tập, làm việc trong ngành cơ điện tử.
Giới thiệu các mô hình tự động hóa.
Lập trình hệ thống nhúng.
Lập trình PLC.
Thiết kế bản vẽ 3D, bản vẽ 2D.
Xử lý ảnh ứng dụng tương tác.

Đăng ký kênh MIỄN PHÍ tại đây :

Nguồn: https://medinaportal.net/

Xem thêm bài viết: https://medinaportal.net/category/cong-nghe

Categories:

16 People reacted on this

  1. cuối cùng khi test ở ngoài mạng thì ko đk, phải trong cùng 1 mạng thì truy cập được vào đk:(((
    a có thể chỉ cho e làm sao có thể truy cập được khi ngoài mạng không ạ?
    ví dụ esp connect vs 1 wifi khác, máy tính mình kết nối ở wifi khác thì làm sao máy tính mình có thể điều khiển được esp ạ
    e cảm ơn!

  2. #include <ESP8266WebServer.h>

    #include <ESP8266WiFi.h>

    #include <FS.h>

    // ——- function save file to esp ———

    bool saveFile(const char* filename, const char* content, uint16_t len){

    SPIFFS.begin();

    File f = SPIFFS.open(String("/") + filename, "a");

    if(!f){

    // ——– open file failed ———

    f.close();

    return false;

    }

    else{

    //————— complete ————–

    f.write((const uint8_t*)content, len);

    f.close();

    return true;

    }

    }

    //————————————————-

    // ——- function read file to esp ———

    String readFile(const char* filename){

    SPIFFS.begin();

    File f = SPIFFS.open(String("/") + filename, "r");

    String Ret = f.readString();

    f.close();

    return Ret;

    }

    //————————————————-

    ESP8266WebServer sv(80);

    int count = 0;

    char baby[100] = "hello";

    void setup (){

    WiFi.mode(WIFI_AP_STA); // Create wifi star

    WiFi.softAP("MeoMeo","123456"); // Create name and pass wifi

    WiFi.begin("DucNam","39551278"); // connect wifi main

    while(WiFi.waitForConnectResult() != WL_CONNECTED)

    delay(100);

    Serial.begin(115200);

    Serial.println("Your ip: ");

    Serial.println(WiFi.localIP());

    sv.on("/index", []{

    sv.send(200, "text/html", readFile("index.html"));

    });

    // ———————————– Method-post * send file —————————————-

    sv.on("/file",HTTP_ANY,[]{

    sv.send(200, "text/html",

    "<!doctype html>"

    "<html lang='en'>"

    "<head>"

    "<!– Required meta tags –>"

    "<meta charset='utf-8'>"

    "<meta name='viewport' content='width=device-width, initial-scale=1, shrink-to-fit=no'>"

    "<!– Bootstrap CSS –>"

    "<link rel='stylesheet' href='https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css' integrity='sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T' crossorigin='anonymous'>"

    "<title>Hello, world!</title>"

    " <style>"

    " body {background-color: powderblue;}"

    " h1 {color: blue;}"

    " p {color: red;}"

    " </style>"

    "</head>"

    "<body class='container'>"

    "<h1>Hello, world!</h1>"

    "<form method='POST' action='/file' enctype='multipart/form-data'>"

    "<div class='form-group'>"

    "<label for='exampleFormControlFile1'>Example Range input</label>"

    "<input type='file' class='form-control-file' id='exampleFormControlFile1' name='chon file'>"

    "<br><br>"

    "<input type='submit' value='send' class='btn btn-success'>"

    "</div>"

    "</form>"

    "<!– Optional JavaScript –>"

    "<!– jQuery first, then Popper.js, then Bootstrap JS –>"

    "<script src='https://code.jquery.com/jquery-3.3.1.slim.min.js' integrity='sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo' crossorigin='anonymous'></script>"

    "<script src='https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js' integrity='sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1' crossorigin='anonymous'></script>"

    "<script src='https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js' integrity='sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM' crossorigin='anonymous'></script>"

    "</body>"

    "</html>"

    );

    }, []{

    //————– function —————

    HTTPUpload &file = sv.upload();

    if(file.status == UPLOAD_FILE_START){

    Serial.println("start send file …. " + file.filename);

    }

    else if(file.status == UPLOAD_FILE_WRITE){

    Serial.println(" sendDING file …. " + file.filename);

    saveFile("index.html", (const char*)file.buf, file.currentSize);

    }

    }

    );

    sv.begin();

    }

    void loop (){

    sv.handleClient();

    }

  3. @Học Cơ Điện Tử Channel, anh ơi sao em làm cũng tương tự như anh, mà vì sao khi em up file và gửi vào trang …./index (của e là đặt là …/trangchu), nhưng thấy trang (../trangchu) chả thay đổi gì hết anh, e cũng kiểm tra trang cũng k thấy có nhận được, anh còn giữ Code không anh? anh còn cho e xin được không (Gmail của e: thaythao97@gmail.com), hay a cho em mail của a em gửi project qua anh xem giùm e được không? em cảm ơn anh trước ạ!

  4. cái file khi lưu trong bộ nhớ có mất đi khi reset hay cắt nguồn điện không ạ? Khi reset có cần gửi lại file không ạ?

Leave a Comment