Lập trình ESP8266 V1 bằng Arduino IDE
Ở bài viết trước mình cũng đã trình bày cách lập trình điều khiển module ESP8266V1 với arduino uno và trong bài viết này mình sẽ trình bày cách Lập trình ESP8266 V1 bằng Arduino IDE. ESP8266 là một chip tích hợp cao - System on Chip (SoC), có khả năng xử lý và lưu trữ tốt, cung cấp khả năng vượt trội để trang bị thêm tính năng wifi cho các hệ thống khác hoặc đóng vai trò như một giải pháp độc lập. ESP8266 cung cấp khả năng kết nối mạng wifi đầy đủ và khép kín, bạn có thể sử dụng nó để tạo một web server đơn giản hoặc sử dụng như một access point.
Giới thiệu Module Wifi ESP8266 V1
ESP8266 là một chip tích hợp cao - System on Chip (SoC), có khả năng xử lý và lưu trữ tốt, cung cấp khả năng vượt trội để trang bị thêm tính năng wifi cho các hệ thống khác hoặc đóng vai trò như một giải pháp độc lập.
Module wifi ESP8266 v1 cung cấp khả năng kết nối mạng wifi đầy đủ và khép kín, bạn có thể sử dụng nó để tạo một web server đơn giản hoặc sử dụng như một access point.
Chuẩn bị:
- 1 x ESP8266 v1
- 1 x USB TTL (ví dụ CP2102,…)
- 1 x phần mền Arduino IDE ( các bạn có thể tải tại đây)
Thông số kỹ thuật Module Wifi ESP8266 V1
- Wifi 802.11 b/g/n
- Wifi 2.4 GHz, hỗ trợ WPA/WPA2
- Chuẩn điện áp hoạt động 3.3V
- Chuẩn giao tiếp nối tiếp UART với tốc độ Baud lên đến 115200
- Có 3 chế độ hoạt động: Client, Access Point, Both Client and Access Point
- Hỗ trợ các chuẩn bảo mật như: OPEN, WEP, WPA_PSK, WPA2_PSK, WPA_WPA2_PSK
- Hỗ trợ cả 2 giao tiếp TCP và UDP
- Tích hợp công suất thấp 32-bit CPU có thể được sử dụng như là bộ vi xử lý ứng dụng
- SDIO 1.1 / 2.0, SPI, UART
- Làm việc như các máy chủ có thể kết nối với 5 máy con
Sơ đồ chân và các chức năng Module Wifi ESP8266 V1
- URXD(RX) — dùng để nhận tín hiệu trong giao tiếp UART với vi điều khiển
- VCC — đầu vào 3.3V
- GPIO 0 — kéo xuống thấp cho chế độ upload bootloader
- RST — chân reset cứng của module, kéo xuống mass để reset
- GPIO 2 — thường được dùng như một cổng TX trong giao tiếp UART để debug lỗi
- CH_PD — kích hoạt chip, sử dụng cho Flash Boot và updating lại module, nối với mức cao
- GND — nối với mass
- UTXD (TX) — dùng để truyền tín hiệu trong giao tiếp UART với vi điều khiển
Những kiến thức cơ bản đã xong bây giờ chúng tiến hành từng bước như sau:
Sau khi download phần mền Arduino IDE, các bạn tiến hành cài đặt như bình thường và mở chương trình ra nhé.
Để tiến hành chức năng nạp code từ IDE cho esp8266 các bạn làm như sau:
Vào File→ Preferences, vào textbox Additional Board Manager URLs thêm đường link sau http://arduino.esp8266.com/stable/package_esp8266com_index.json
Chọn OK để chấp nhận.
Tiếp theo vào Tool→Board→Boards Manager
Đợi một lát để chương trình tìm kiếm. Ta kéo xuống và click vào ESP8266 by ESP8266 Community, click vào Install. Chờ phần mềm tự động download và cài đặt.
Sau khi cài đặt xong chúng ta bắt đầu lập trình cho ESP8266:
Sơ đồ nối dây giữa UART vs ESP8266
Sau khi nối dây xong ta bắt đầu kết nối mudule USB-to-UART vào máy tính. Vào Tool→Board→Generic ESP8266 Module, chọn cổng COM tương ứng với module USB-to-UART tương ứng.
Chọn chế độ nạp Arduino as ISP. Vậy là ta đã có thêm một môi trường lập trình cho esp8266.
Sau khi kết nối UART vs ESP8266 xong. Các bạn có thể test code ESP8266 ở đây:
Link tải code: https://drive.google.com/open?id=0BwJmY0TV86JwYy1kV2pGYmswdFE
#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>
#include <ESP8266mDNS.h>
MDNSResponder mdns;
ESP8266WebServer server(80);
String webPage = "";
int gpio0_pin = 0;
int gpio2_pin = 2;
void setup(){
webPage += "<h1>BAT TAT THIET BI DIEN BANG WIFI</h1><h2>THIETBIA #1 <a href=\"THIETBIAOn\"><button>ON</button></a> <a href=\"THIETBIAOff\"><button>OFF</button></a></h2>";
webPage += "<h2>THIETBIB #2 <a href=\"THIETBIBOn\"><button>ON</button></a> <a href=\"THIETBIBOff\"><button>OFF</button></a></h2>";
//webPage += " width:10em;height:6em; font-size: 32px;\" type=\"submit\">\
// preparing GPIOs
pinMode(gpio0_pin, OUTPUT);
digitalWrite(gpio0_pin, LOW);
pinMode(gpio2_pin, OUTPUT);
digitalWrite(gpio2_pin, LOW);
delay(1000);
Serial.begin(115200); // Serielle schnittstelle initialisieren
Serial.println(""); // Lehere Zeile ausgeben
Serial.println("Starte WLAN-Hotspot \"astral\"");
WiFi.mode(WIFI_AP); // access point modus
WiFi.softAP("tdhshop.com.vn", "12345678"); // Name des Wi-Fi netzes
delay(500); //Abwarten 0,5s
Serial.print("IP Adresse "); //Ausgabe aktueller IP des Servers
Serial.println(WiFi.softAPIP());
if (mdns.begin("esp8266", WiFi.localIP())) {
Serial.println("MDNS responder started");
}
server.on("/", [](){
server.send(200, "text/html", webPage);
});
server.on("/THIETBIAOn", [](){
server.send(200, "text/html", webPage);
digitalWrite(gpio0_pin, HIGH);
delay(1000);
});
server.on("/THIETBIAOff", [](){
server.send(200, "text/html", webPage);
digitalWrite(gpio0_pin, LOW);
delay(1000);
});
server.on("/THIETBIBOn", [](){
server.send(200, "text/html", webPage);
digitalWrite(gpio2_pin, HIGH);
delay(1000);
});
server.on("/THIETBIBOff", [](){
server.send(200, "text/html", webPage);
digitalWrite(gpio2_pin, LOW);
delay(1000);
});
server.begin();
Serial.println("HTTP server started");
}
void loop(){
server.handleClient();
}
Như hình ở trên là chương trình đã được nạp xong cho esp8266
Sau khi nạp code xong các bạn nhớ tháo dây GPIO0 ra khỏi chân GND nhé….
Và module ESP8266V1 sẽ phát wifi tên:" tdhshop.com.vn " và mật khẩu : " 12345678" cái này các bạn có thể thay đổi tùy ý mình nhé.
Hai chân GPIO0 và GPIO2 sử dụng để điều khiển 2 led như hình ở dưới.
Và địa chỉ IP mặc định của ESP8266V1 là: 192.168.4.1
Ta dùng điện thoại hay máy tính truy cập vào wifi của ESP8266V1 rồi nhập địa chỉ IP vào các trình duyệt như sau:
CHÚC CÁC BẠN THÀNH CÔNG NHÉ!!!
Một số bài viết có thể bạn quan tâm: 5 Lý Do Tại Sao Ai Cũng Nên Tìm Hiểu Về Arduino || Arduino UNO R3 là gì || Bộ Tự Học Arduino Dể Hiểu Nhất || Cài Đặt Phần Mền Arduino IDE || Cấu trúc chương trình Arduino || Hướng Dẫn Nạp Chương Trình Cho Arduino Uno R3 || Hướng dẫn cài thư viện vào arduino IDE || Điều Khiển Đèn LED Sáng Nhấp Nháy.
Bình luận(1)