Lesson 3.2: Understanding Web Server and ajax techniques on esp8266 - Self-study IOT programming

แชร์
ฝัง
  • เผยแพร่เมื่อ 24 ธ.ค. 2024

ความคิดเห็น • 100

  • @trieule7722
    @trieule7722 4 ปีที่แล้ว +2

    Quá hay, kiến thức chuyên sâu mà chi tiết quá a

  • @tamnhat847
    @tamnhat847 4 ปีที่แล้ว +1

    E cảm ơn a! Video rất hay, mong a tiếp tục hướng dẫn thêm về Điện thông minh smart.

    • @dienthongminhesmart
      @dienthongminhesmart  4 ปีที่แล้ว

      Cảm ơn bạn. Nếu có thời gian mình sẽ làm tiếp video chia sẻ.

  • @buimanhha3741
    @buimanhha3741 4 ปีที่แล้ว +1

    Cảm ơn anh. Video rất hữu ích ạ.

  • @luongduyang9146
    @luongduyang9146 4 ปีที่แล้ว +1

    mong a làm video về đo nhiệt độ, độ ẩm trên webserver

  • @nhatsinhnguyen4415
    @nhatsinhnguyen4415 4 ปีที่แล้ว +2

    cảm ơn anh! video rất bổ ích ạ❤️

  • @TuanTran-pg9mf
    @TuanTran-pg9mf 4 ปีที่แล้ว +1

    Rất hay và chi tiết , nhưng tiếc là đầu em hơi đất một tí (Đã xem 4 lần có tua đi tua lại nhiều phần)

  • @khanhieunguyen9470
    @khanhieunguyen9470 3 ปีที่แล้ว

    Bác có video hướng dẫn code hệ thống tưới cây điều khiển qua internet (có gắn camera quan sát nữa thì tuyệt) nếu chưa có hi vọng bác làm và giới thiệu những linh kiện cần có. Cám ơn bán nhiều

    • @dienthongminhesmart
      @dienthongminhesmart  3 ปีที่แล้ว

      Chưa có cái này bạn

    • @khanhieunguyen9470
      @khanhieunguyen9470 3 ปีที่แล้ว

      @@dienthongminhesmart hi vọng bác ra video hướng dẫn anh em nhập môn :3

  • @cuunguyenviet3510
    @cuunguyenviet3510 4 ปีที่แล้ว

    Video của anh hay mà ít người xem nhỉ!!!

    • @dienthongminhesmart
      @dienthongminhesmart  4 ปีที่แล้ว +1

      Bạn like và share giúp mình nhé. Cảm ơn bạn

  • @HoangTran-op9tw
    @HoangTran-op9tw 4 ปีที่แล้ว +1

    Cảm ơn anh a

  • @hiepduong2306
    @hiepduong2306 8 หลายเดือนก่อน

    anh cho e xin vid hướng dẫn đưa DHT11 lên web vs ạ

  • @gnuhuuh
    @gnuhuuh 4 ปีที่แล้ว

    cảm ơn bạn, rất hữu ích

  • @H.N.M
    @H.N.M ปีที่แล้ว

    Bạn nộp code vào để dùng cho máy in wifi dc k bạn

  • @tungvan4029
    @tungvan4029 3 ปีที่แล้ว

    anh chia sẽ code cập nhật nhiệt độ DHT11 như trong video có đề cập được không ạ. cám ơn anh. mong anh tiếp tục ra video chia sẽ.

  • @HOANG-hi3wd
    @HOANG-hi3wd 3 ปีที่แล้ว

    quá hay

    • @dienthongminhesmart
      @dienthongminhesmart  3 ปีที่แล้ว

      Thanks

    • @HOANG-hi3wd
      @HOANG-hi3wd 3 ปีที่แล้ว

      @@dienthongminhesmart video này ko có link code hả a, thanks a

    • @dienthongminhesmart
      @dienthongminhesmart  3 ปีที่แล้ว

      @@HOANG-hi3wd có bạn. Gửi mail đến vanhon96@gmail.com nhé.

  • @huy_ute4146
    @huy_ute4146 ปีที่แล้ว

    anh ơi.. cho e hỏi là mình muốn thêm 1 ảnh background phía sau thì mình đưa ảnh vào code như thế nào a ạ.. cám ơn anh nhiều !!!

    • @dienthongminhesmart
      @dienthongminhesmart  ปีที่แล้ว +1

      Cái này phức tạp à, có 2 trường hợp. 1 là có kết nối internet thì load ảnh từ internet về. Còn không có kết nối internet thì tải ảnh vào bộ nhờ spiffs

  • @luongvanchung93
    @luongvanchung93 4 ปีที่แล้ว +1

    bạn có biết làm cái ddns cho esp không ạ? mình làm bằng ESpMDNS mà chế độ AP thì được nhưng sang chế độ STATION thì không được

    • @dienthongminhesmart
      @dienthongminhesmart  4 ปีที่แล้ว

      Được nha bạn phải cài thêm phần mềm mới nhận

    • @luongvanchung93
      @luongvanchung93 4 ปีที่แล้ว

      @@dienthongminhesmart bạn có thể chỉ chi tiết giúp mình không, hoặc bạn có tài liệu cho mình xin tham khảo vơi

    • @dienthongminhesmart
      @dienthongminhesmart  4 ปีที่แล้ว +1

      Trên điện thoại thì phải cài app bonjour browser. Trên máy tính thì phải cài thêm phần mềm bonjour cho window. Sau khi cài xong thì bạn mới sử dụng được mDNS

    • @luongvanchung93
      @luongvanchung93 4 ปีที่แล้ว

      @@dienthongminhesmart cám ơn bạn

  • @haobui5655
    @haobui5655 4 ปีที่แล้ว

    Cảm ơn anh rất nhiều, video rất cụ thể dễ tiếp cận cho người mới bắt đầu. Anh cho em hỏi làm sao để kiểm tra trạng thái hoạt động thực tế của thiết bị gửi về và hiển thị trạng thái lên wedserver vậy a. Vd khi điều khiển đèn chẳng hạn nếu e nhấn on thì wedserver hiển thị trạng thái đèn đã on nhưng nếu trạng thái bóng đèn thực tế giả sử bị hỏng hay ai đó đã tháo mất bóng thì làm sao để kiểm tra và hiển thị đúng trạng thái thiết bị lên wedserver ạ

    • @dienthongminhesmart
      @dienthongminhesmart  4 ปีที่แล้ว

      Nếu vậy bạn phải thiết kế thêm 1 cảm biến dòng. Khi đèn on thì sẽ có dòng điện chạy qua. Nó sẽ báo về webserver

  • @ngotiendung7660
    @ngotiendung7660 2 ปีที่แล้ว

    Video hay quá ạ!
    E đã học được 4 video tính từ video đầu trong playlist tới video này.
    A cho e hỏi để hiểu và làm đc mảng này thì e phải học html, css, JavaScript hay còn cái nào nữa không ạ?
    Tại vì em code theo a thì e code được nhưng để tự code thì e k tài nào làm nổi.
    Mong a tư vấn giúp e ạ.
    E cảm ơn a!

    • @dienthongminhesmart
      @dienthongminhesmart  2 ปีที่แล้ว

      Đăng ký khóa học trong phần mô tả sẽ code được à bạn

  • @TheGiang-i4y
    @TheGiang-i4y ปีที่แล้ว

    em muốn lấy data của một trang web bất kỳ xuống esp8266 có thực hiện được không ạ

    • @dienthongminhesmart
      @dienthongminhesmart  ปีที่แล้ว

      Được bình thường nếu nó cung cấp api bạn nhé

    • @TheGiang-i4y
      @TheGiang-i4y ปีที่แล้ว

      @@dienthongminhesmart em cảm ơn anh ạ

  • @salamanderdragon233
    @salamanderdragon233 2 ปีที่แล้ว

    em có làm theo nhưng khi có nhiều máy truy cập webserver bị đơ ạ:

  • @NguyenThang-tp2hk
    @NguyenThang-tp2hk 2 ปีที่แล้ว

    cho em hỏi nếu mình trao đổi dữ liệu theo kiểu này thì esp và client phải bắt chung 1 wifi đúng ko ạ

    • @dienthongminhesmart
      @dienthongminhesmart  2 ปีที่แล้ว +1

      Đúng bạn nhé

    • @NguyenThang-tp2hk
      @NguyenThang-tp2hk 2 ปีที่แล้ว

      @@dienthongminhesmart cho em hỏi là làm sao để biết hiệu suất esp32 đang sử dụng không ạ, em cảm ơn ạ

    • @dienthongminhesmart
      @dienthongminhesmart  2 ปีที่แล้ว

      Không rõ nữa bạn. Chưa nghiên cứu cái này

  • @hainguyenhuynhngoc4170
    @hainguyenhuynhngoc4170 3 ปีที่แล้ว

    anh cho em xin code hiển thị trạng thái đèn với nhiệt độ của dây ds18b20 với ạ. Em cám ơn

  • @tungtamtu
    @tungtamtu 3 ปีที่แล้ว

    document.getElementById("trangthaiD1").innerHTML = Obj.D1;
    document.getElementById("trangthaiD2").innerHTML = Obj.D2;
    Cho em hỏi tại sao lại có.D1 và .D2 ở cuối ạ

    • @dienthongminhesmart
      @dienthongminhesmart  3 ปีที่แล้ว

      Giá trị biến tách ra từ chuỗi json thôi bạn

    • @tuannguyen-tk2bd
      @tuannguyen-tk2bd 2 ปีที่แล้ว

      cái này thì lấy node element ra rồi inner nó vào node text .... Obj.D1 thì là lấy được chữ string "ON" rồi gán vào thẻ có id trạng thái 1 thôi còn D2 thì tương tự

  • @minhphuc1283
    @minhphuc1283 3 ปีที่แล้ว

    a cho e hỏi có cách nào để dùng Ajax trên app ko?

    • @dienthongminhesmart
      @dienthongminhesmart  3 ปีที่แล้ว

      App inventer thì có bạn nhé

    • @minhphuc1283
      @minhphuc1283 3 ปีที่แล้ว

      @@dienthongminhesmart vậy e nên sử dụng ra sao a?

    • @dienthongminhesmart
      @dienthongminhesmart  3 ปีที่แล้ว

      Đầu tiên viết ajax trên webserver trước. Sau đó thiết lập lệnh request trên app inventor

    • @minhphuc1283
      @minhphuc1283 3 ปีที่แล้ว

      @@dienthongminhesmart e chưa biết viết code ajax trên app ra sao. xin chỉ dẫn

  • @minhphuc1283
    @minhphuc1283 4 ปีที่แล้ว

    a cho e hỏi. nếu ko có internet thì đt kết nối với 8266 được bao xa?

  • @tridungdo9634
    @tridungdo9634 4 ปีที่แล้ว

    Em cám ơn anh ạ. Nhưng a cho em hỏi, vì sao em vào web browser vẫn không được (mặc dù đã chạy phiên bản ESP 2.5.0). Em copy + paste địa chỉ IP vào google chrome nhưng nó hiển thị ra màn hình :" This site can not be reached". Mong anh giúp đỡ ạ

    • @dienthongminhesmart
      @dienthongminhesmart  4 ปีที่แล้ว +1

      Bạn kiểm tra lại kết nối xem có đúng ip chưa nhé.

  • @nguyenphamhung7598
    @nguyenphamhung7598 4 ปีที่แล้ว

    sao mình ko truy cập vào được địa chỉ của ESP vậy ad? Nó bảo Không thể truy cập trang web này. Mong ad chỉ với ạ

    • @dienthongminhesmart
      @dienthongminhesmart  4 ปีที่แล้ว

      Bạn vào tool-> board manager cài lại board esp8266 phiên bản 2.5.0 nhé

    • @nguyenphamhung7598
      @nguyenphamhung7598 4 ปีที่แล้ว

      @@dienthongminhesmart vẫn ko ddc ad ơi

    • @dienthongminhesmart
      @dienthongminhesmart  4 ปีที่แล้ว

      Cài team viewer rồi gửi mã qua facebook mình xem giúp cho nhé

  • @tnthang1005
    @tnthang1005 4 ปีที่แล้ว

    Mình dùng esp8266-01 và arduinonunor3 thì code mình phải xử lý sao bạn, như đây thì chỉ nạp code 1 lần cho mỗi esp. Camon bạn.

    • @dienthongminhesmart
      @dienthongminhesmart  4 ปีที่แล้ว +1

      Nạp code cho esp và arduino riêng sau đó giao tiếp qua rs232

    • @tnthang1005
      @tnthang1005 4 ปีที่แล้ว

      @@dienthongminhesmart Ad cho mình xin link tài liệu liên quan đc ko ạ.

  • @nguyenquangthien6375
    @nguyenquangthien6375 3 ปีที่แล้ว

    anh ơi cho em hỏi cái dòng. if(xhttp.readyState==4 && xhttp.status==200) thì sao lại là 4 vs 200 ạ

    • @dienthongminhesmart
      @dienthongminhesmart  3 ปีที่แล้ว

      Bạn tra google là ra à htgp.readyState và http.staus

  • @tuananhnguyen7381
    @tuananhnguyen7381 4 ปีที่แล้ว

    em làm theo giống video nhưng vẫn không kết nối đến webserver được ạ mong anh chỉ giúp em với ạ

    • @dienthongminhesmart
      @dienthongminhesmart  4 ปีที่แล้ว +1

      Vào tool->board manager cài lại board esp8266 phiên bản 2.5.0 nhé

  • @tajle6890
    @tajle6890 4 ปีที่แล้ว

    E nạp vào wemos d1 mà ko kết nối dc ad nhỉ

    • @dienthongminhesmart
      @dienthongminhesmart  4 ปีที่แล้ว +1

      Bạn chỉnh lại board nạp là nodemcu 1.0 luôn nhé

    • @tajle6890
      @tajle6890 4 ปีที่แล้ว

      @Điện thông minh E-smart thank ad

  • @tajle6890
    @tajle6890 4 ปีที่แล้ว

    e nạp vào wemos d1 dc nhưng khi kết nối vào ip thì bị reset ạ

    • @dienthongminhesmart
      @dienthongminhesmart  4 ปีที่แล้ว +1

      Bạn tải lại phiên bản esp8266 2.5.0 nhé

    • @tajle6890
      @tajle6890 4 ปีที่แล้ว

      @@dienthongminhesmart thank ad

  • @tc170
    @tc170 3 ปีที่แล้ว

    của mình nó toàn báo lỗi redefinition of 'ESP8266WebServer webServer'
    là vì sao vậy mọi người

    • @dienthongminhesmart
      @dienthongminhesmart  3 ปีที่แล้ว

      Bạn chọn đúng board chưa?

    • @tc170
      @tc170 3 ปีที่แล้ว

      @@dienthongminhesmart rồi cậu

    • @tc170
      @tc170 3 ปีที่แล้ว

      @@dienthongminhesmart mình xài phiên bản 1.8.15 không biết có phải lỗi từ đó ko

  • @locle7786
    @locle7786 3 ปีที่แล้ว

    cho mình xin code với ạ. cảm ơn

    • @dienthongminhesmart
      @dienthongminhesmart  3 ปีที่แล้ว

      Gửi mail bạn cho dienthongminhesmart@gmail.com nhé.

  • @18_TrầnAnhHào
    @18_TrầnAnhHào ปีที่แล้ว

    String s = "{\"D1\": \""+ d1 +"\",\"D2\": \""+ d2 +"\"}";
    ai giải thích cái tách chuỗi này giúp mình với :

    • @kietthandsome2440
      @kietthandsome2440 ปีที่แล้ว

      giờ bạn hiểu chưa, giải thích lại giùm mình với kaka

    • @SoraHiraki
      @SoraHiraki ปีที่แล้ว

      @@kietthandsome2440 json

  • @thienduongngoc6732
    @thienduongngoc6732 4 ปีที่แล้ว

    Anh ơi, em không sữa gì chổ này mà viết thêm vào y như clip của anh mà nó báo lỗi vậy, a chỉ em cách fix vs a ơi. Cần thiết thì a có thể hướng dẫn em qua mail : duongngocthien402@gmail.com được không ạ.
    -----------------------------------------------------------------------------------------------
    WiFi:91:20: error: 'mainpage' was not declared in this scope
    webServer.on("/",mainpage);
    ^
    WiFi:92:25: error: 'on_D4' was not declared in this scope
    webServer.on("/on_D4",on_D4);
    ^
    WiFi:93:26: error: 'off_D4' was not declared in this scope
    webServer.on("/off_D4",off_D4);
    ^
    WiFi:94:31: error: 'get_statusD4' was not declared in this scope
    webServer.on("/getstatusD4",get_statusD4);

    • @thienduongngoc6732
      @thienduongngoc6732 4 ปีที่แล้ว

      Code em thế này :v A giúp em với ạ
      #include
      #include ;
      ESP8266WebServer webServer(80);
      char* ssid = "mnpq";
      char* pass = "11111111";
      const char MainPage[] PROGMEM =R"=====(



      HOME PAGE

      body {text-align : center;}
      h1 {color : #003399;}
      a {text-decoration: none ; color :#FFFFFF;}
      .bt_on {
      height:50px;
      width:100px ;
      margin : 10px 0;
      background-color: #FF6600;
      border-radius:5px;}
      .bt_off {
      height:50px;
      width:100px ;
      margin : 10px 0;
      background-color: #00FF00;
      border-radius:5px;}




      ESP8266WebServer
      Trạng thái đèn D4:

      ON
      OFF



      // Tạo đối tượng request
      function create_obj(){
      td = navigator.appName;
      if(td==Cốc Cốc"){
      obj = new XMLHttpRequest();}
      return obj;
      }
      var xhttp = create_obj()
      // ham update dữ liệu tự động
      setInterval(function(){
      getstatusD4();
      },1000);

      //kiem tra trang thái chan D4
      function getstatusD4(){
      xhttp.open("GET","getstatusD4",true);
      xhttp.onreadystatechange = process_json;
      xhttp.send();
      }

      // Kiểm tra response
      function process_json(){
      if(xhttp.readyState == 4 && xhttp.status==200){
      // Update data sử dung JavaScrip
      var trangthaiD4 = xhttp.responseText;
      document.getElementById("trangthaiD4").innerHTML=trangthaiD4
      }
      }




      )=====";
      void setup() {
      pinMode(D4, OUTPUT);
      digitalWrite(D4,HIGH);
      WiFi.disconnect();
      WiFi.mode(WIFI_STA);
      WiFi.begin(ssid,pass);
      //Thiết lập cổng Serial
      Serial.begin(9600);
      Serial.println("Connecting");
      while (WiFi.status() != WL_CONNECTED) {
      delay(500);
      Serial.print("...");
      }
      Serial.println(WiFi.localIP());
      //Sever
      webServer.on("/",mainpage);
      webServer.on("/on_D4",on_D4);
      webServer.on("/off_D4",off_D4);
      webServer.on("/getstatusD4",get_statusD4);
      webServer.begin();
      }
      void loop() {
      webServer.handleClient();
      }
      void mainpage(){
      String s=MainPage;
      webServer.send(200,"text/html",s);
      }
      void on_D4(){
      digitalWrite(D4,LOW);
      String s=MainPage;
      webServer.send(200,"text/html","chan D4 đã ON");
      }
      void off_D4(){
      digitalWrite(D4,HIGH);
      String s=MainPage;
      webServer.send(200,"text/html","chan D4 đã OFF");
      }
      void get_statusD4(){
      String d4;
      if(digitalRead(D4)==1){
      d4="OFF";
      } else{
      d4="ON";
      }
      String s="{\"D4\":\""+d4 +"\"}";
      webServer.send(200,"application/json",s);
      }

    • @dienthongminhesmart
      @dienthongminhesmart  4 ปีที่แล้ว

      Bạn vào tool---board manager cài lại phiên bản esp8266 là 2.5.0 nhé

    • @thienduongngoc6732
      @thienduongngoc6732 4 ปีที่แล้ว

      @@dienthongminhesmart em cài 2.5.0 rồi AD, lỗi này em dò ngta nói gì biến cục bộ gì gì đó á. Mà em như video k ra

    • @thienduongngoc6732
      @thienduongngoc6732 4 ปีที่แล้ว

      @@dienthongminhesmart Nó báo không được khai báo là sao vậy AD,

  • @TuanTran-pg9mf
    @TuanTran-pg9mf 4 ปีที่แล้ว

    Rất hay và chi tiết , nhưng tiếc là đầu em hơi đất một tí (Đã xem 4 lần có tua đi tua lại nhiều phần)

  • @minhphuc1283
    @minhphuc1283 4 ปีที่แล้ว

    Có thể đặt ip tĩnh cho webserver ko a?

    • @dienthongminhesmart
      @dienthongminhesmart  4 ปีที่แล้ว

      có thể bạn nhé

    • @minhphuc1283
      @minhphuc1283 4 ปีที่แล้ว

      @@dienthongminhesmart e đã thử đặt ip tĩnh nhưng ko có kết quả xin giúp đỡ

    • @dienthongminhesmart
      @dienthongminhesmart  4 ปีที่แล้ว +1

      @@minhphuc1283 WiFi.config(local_ip, gateway, subnet, dns1, dns2); bạn phải lấy được thông số về gateway, subnet, dns của modem wifi bạn thiết lập kết nối

    • @minhphuc1283
      @minhphuc1283 4 ปีที่แล้ว

      @@dienthongminhesmart đã làm được. xin cảm ơn

    • @dienthongminhesmart
      @dienthongminhesmart  4 ปีที่แล้ว

      @@minhphuc1283 ko có chi