quang cao hosting

Điều khiển thiết bị qua Web Sever với ESP8266 không cần Arduino

Xem: 1684    Tải: 0   Thảo luận: 0   Mục: Hệ thống nhúng   Lĩnh vực: none

0 điểm   ( 1 đánh giá ) File đã được kiểm thử

Giới thiệu

Hôm nay, mình sẽ chia sẻ cách lập trình để điều khiển thiết bị bằng ESP8266, thông qua nền Web. Nó giống như module Ethernet á, nhưng ESP8266 tuyệt vời hơn bởi vì nó không cần kết nối qua cáp mạng so với Elthernet Shield và cũng không phụ thuộc vào Arduino. Chúng ta cùng đi tìm hiểu nào!!!

Chuẩn bị

Kết nối

Nguồn cấp cho ESP8266 là 3.3V nhé! Đây là sơ đồ lúc hoạt động ý!!! ( Cái sơ đồ này thiếu nha, mình lấy trên google !! các bạn phải nối cả chân CH-PD với 3.3V nữa thì ESP8266 mới hoạt động...chân này là chân enable của module ESP8266 nhé )

 

Nạp Code

Đầu tiên, các bạn kết nối ESP8266 với USB UART như sau:

ESP8266 USB UART
TX RX
RX TX
Vcc 3.3V
GND GND
CH_PD 3.3V

Sau đó, các bạn phải down thư viện tại đây

 


 
  1. #include <ESP8266WiFi.h>
  2.  
  3. const char* ssid = "your-ssid";// tên wifi mà bạn muốn connect
  4. const char* password = "your-password";//pass wifi
  5.  
  6. int ledPin = 2; // GPIO2
  7. WiFiServer server(80);// Port 80
  8.  
  9. void setup() {
  10. Serial.begin(115200);
  11. delay(10);
  12.  
  13. pinMode(ledPin, OUTPUT);
  14. digitalWrite(ledPin, LOW);
  15.  
  16. // Kết nỗi với wifi
  17. Serial.println();
  18. Serial.println();
  19. Serial.print("Connecting to ");
  20. Serial.println(ssid);
  21.  
  22. WiFi.begin(ssid, password);
  23.  
  24. while (WiFi.status() != WL_CONNECTED) {
  25. delay(500);
  26. Serial.print(".");
  27. }
  28. Serial.println("");
  29. Serial.println("WiFi connected");
  30.  
  31. // Bắt đầu sever
  32. server.begin();
  33. Serial.println("Server started");
  34.  
  35. // In địa chỉ IP
  36. Serial.print("Use this URL to connect: ");
  37. Serial.print("http://");
  38. Serial.print(WiFi.localIP());
  39. Serial.println("/");
  40.  
  41. }
  42.  
  43. void loop() {
  44. // Kiểm tra xem đã connect chưa
  45. WiFiClient client = server.available();
  46. if (!client) {
  47. return;
  48. }
  49.  
  50. // Đọc data
  51. Serial.println("new client");
  52. while(!client.available()){
  53. delay(1);
  54. }
  55.  
  56. String request = client.readStringUntil(‘\r’);
  57. Serial.println(request);
  58. client.flush();
  59.  
  60. int value = LOW;
  61. if (request.indexOf("/LED=ON") != -1) {
  62. digitalWrite(ledPin, HIGH);
  63. value = HIGH;
  64. }
  65. if (request.indexOf("/LED=OFF") != -1) {
  66. digitalWrite(ledPin, LOW);
  67. value = LOW;
  68. }
  69. //digitalWrite(ledPin, value);
  70.  
  71.  
  72. // Tạo giao diện cho html!!! giống con elthernet shield á!!! bạn có thể thiết kế 1 giao diện html khác, cho đẹp
  73. client.println("HTTP/1.1 200 OK");
  74. client.println("Content-Type: text/html");
  75. client.println(""); // do not forget this one
  76. client.println("<!DOCTYPE HTML>");
  77. client.println("<html>");
  78.  
  79. client.print("Led pin is now: ");
  80.  
  81. if(value == HIGH) {
  82. client.print("On");
  83. } else {
  84. client.print("Off");
  85. }
  86. client.println("<br><br>");
  87. client.println("Click <a href=\"/LED=ON\">here</a> turn the LED on pin 2 ON<br>");
  88. client.println("Click <a href=\"/LED=OFF\">here</a> turn the LED on pin 2 OFF<br>");
  89. client.println("</html>");
  90.  
  91. delay(1);
  92. Serial.println("Client disonnected");
  93. Serial.println("");
  94.  
  95. }

Sau khi ESP8266 connect với Wifi...các bạn bật Serial Monitor để xem IP của ESP8266. Vào trình duyệt và gõ địa chỉ IP...các bạn có thể điều khiển led trong mạng LAN!!! để ứng dụng vào các dự án điều khiển thiết bị từ xa, các bạn cần NAT PORT IP!!!

Lời kết

Trên đây là cách điều khiển thiết bị từ xa bằng ESP8266. Chúc các bạn thành công nhé!!!

Điều khiển thiết bị qua Web Sever với ESP8266 không cần Arduino

Điều khiển thiết bị qua Web Sever với ESP8266 không cần Arduino Đăng ngày 17-03-2020  Hôm nay, mình sẽ chia sẻ cách lập trình để điều khiển thiết bị bằng ESP8266, thông qua nền Web. Nó giống như module Ethernet á, nhưng ESP8266 tuyệt vời hơn bởi vì nó không cần kết nối qua cáp mạng so với Elthernet Shield và cũng không phụ thuộc vào Arduino. Chúng ta cùng đi tìm hiểu nào!!! 5/10 1684

Thảo luận:

Để bình luận bạn phải đăng nhập thành viên.

File tương tự

Files cùng mục

 
File gợi ý cho bạn
File tải nhiều nhất
Megacode.vn - Thư viện mã nguồn chia sẻ, tải file cho cộng đồng
Copyright © 2013-2021. All rights reserved. Bản quyền thuộc VinaGon
Email: info@vinagon.com
Hotline: 086.924.3838