ESP8266 cho người không biết gì

ESP8266 là một  dòng chip tích hợp Wi-Fi 2.4Ghz có thể lập trình được, không biết có bạn nào thắc mắc là modem wifi ở nhà nó hoạt động thế nào, cách thức ra làm sao không nhỉ ? Nếu bạn cũng đang tìm hiểu cũng như muốn điều khiển một cái gì đó từ xa thì đây là một modul thích hợp cho bạn làm điều đó. Vậy chúng ta sẽ thử tìm hiểu qua về cách sử dụng nó như thế nào nhé.

Các phiên bản ESP8266

Hiện tại thì đã có tới 14 phiên bản của ESP8266, quá nhiều sự lựa chọn cho chúng ta. Nhưng vì ở Việt Nam không phải lúc nào cũng có đủ tất cả nên mình sẽ giới thiệu 2 phiên bản ESP8266 phổ biến hiện nay

ESP-01

Tính năng

  • Mạch nhỏ, gọn (24.75mm x 14.5mm)
  • Điện áp làm việc 3.3v
  • Tích hợp sẳn anten PCB trace trên module
  • Có hai led báo hiệu : led nguồn, led TXD
  • Có các chế độ: AP, STA, AT + STA
  • Lệnh AT rất đơn giản, dễ dàng sử dụng
  • Khoảng cách giữa các chân 2.54mm

Sơ đồ chân


ESP-12

Tính năng

  • Sử dụng nguồn 3.3v
  • Tích hợp anten PCB trace trên module
  • Tiêu chuẩn wifi : 802.11b/g/n, với tần số 2.4GHz và hổ trợ bảo mật WPA/WPA2
  • Khoảng cách giữa các chân 2mm

Sơ đồ chân

2 bản này có cái PCB màu xanh là bản thường, có cái PCB màu đen là bản mới nhất 12E, bản 12E là bản mới nhất, ra nhiều chân IO nhất và giá cũng chỉ hơn 10k. Nếu mua mới khuyến khích các bạn mua bản 12E

Ngoài ra chúng ta có thể sử dụng một kit thay thế bao gồm ESP8266 và phần giao tiếp với máy tính là NodeMCU, với kit này không có sẵn firmware AT nên nếu muốn dùng tập lệnh AT thì các bạn có thể dựa trên bài nạp firmware AT để có thể giao tiếp với MCU.

Chuẩn bị và kết nối

Đầu tiên là bước chuẩn bị đồ dùng để bắt đầu cho quá trình ngâm cứu, chúng ta cần có 3 thứ

  • Modul ESP8266 phiên bản v1 hoặc v12
  • Modul USB2UART (ở đây mình dùng modul PL2303)
  • Modul nguồn 3.3V (bạn có thể lấy nguồn từ PL2303 nhưng nên xài nguồn riêng cho ổn định do dòng của ESP tiêu thụ hơi lớn)
  • Một số dây cắm

Vậy là đã đầy đủ đồ nghề, giờ bắt đầu kết nối thôi, các bạn lưu ý khi mua mấy cái modul này thì bảo người bán test hàng cho mình trước, nếu có đồ sẵn ở nhà rồi thì đảm bảo các modul UART với nguồn còn hoạt động tốt nha. Quan trọng nhất là đừng cắm lộn nguồn – + là được rồi.

Đây là sơ đồ kết nối minh họa cho 2 phiên bản ESP8266 v1 và v12

Kết nối với ESP8266v1

Kết nối với ESP8266v12

Với NodeMCU chỉ cần nạp firmware AT vào là dùng thôi, không cần nối thêm dây.

Cấu hình

Việc kết nối đã xong, giờ chúng ta bắt đầu kiểm tra coi modul hoạt động thế nào

Đầu tiên là tải phần mềm terminal, có nhiều loại phần mềm và tùy vào phong cách cũng như sở thích của từng người, nếu mới dùng modul thì mình khuyên dùng phần mềm sscom

Đây là màn hình của phần mềm, phiên bản của các bạn Tàu khựa nhưng các bạn yên tâm không phải lo lắng về ngôn ngữ nhé.

Lưu ý: Khi kết nối gõ lệnh AT dùng SSCOM không hiển thị gì thì cách khắc phục là bạn cần ngắt kết nối GPIO0 với GND.

Mình xin nói qua về cách sử dụng một chút

  • Số 1 là lựa chọn cổng COM và tốc độ baud, cổng COM ở đây là COM khi bạn cắm modul UART vào nhé (ở đây nó tự detect cổng COM cho bạn), về tốc độ baud thì ESP8266 có 2 tốc độ là 9600 và 115200, nếu không được cái này thì bạn thử với cái kia. Xong thì ấn vào nút kết nối được khoanh ngay bên cạnh nhé.
  • Số 2 là thông báo khi bắt đầu khởi động modul, nếu hiện thông báo này thì coi như bước giao tiếp đã thành công, không được thì bạn đổi lại baud xem thế nào. Mình xin nói thêm ở đây là cái chữ invalid làm mình khốn khổ thế nào, ban đầu cứ tưởng modul bị ra đi rồi nhưng không phải, vẫn hoạt động bình thường, mình kiểm tra mấy modul rồi thì có mỗi modul này bị như thế, các modul khác thì ra valid nha các bạn.
  • Số 3 là tick chọn để gửi lệnh AT thì mới có phản hồi về, nó tương ứng với \r\n (cái này chắc mình sẽ nói sau nhé).
  • Tiếp tục dòng chữ AT ở vị trí số 4 sau đó ấn nút số 5
  • Quan sát kết quả ở vị trí số 6, nếu hiện OK là modul hoạt động tốt rồi

Kết nối vào mạng wifi

Đầu tiên dùng lệnh AT+RST để thực hiện reset lại modul, tiếp theo là thực hiện tuần tự theo các bước như bảng bên dưới, tạm thời mình chỉ đưa ra 1 số lệnh cơ bản và mô tả để các bạn có thể kết nối được vào wifi nhà mình thôi.

Lệnh AT Mô tả Thông số Thao tác thực hiện Kết quả trả về
AT+CWMODE ="mode" Cài đặt chế độ 1 = Station2 = Access Point3 = Both Gõ AT+CWMODE=3 OK
AT+CIPMUX ="mode" Cài đặt số lượng các kênh kết nối 0 = 1 kênh kết nối1 = Nhiều kênh kết nối Gõ AT+CIPMUX=1 OK
AT+CWLAP Tìm Wifi Gõ AT+CWLAP Danh sách các mạng wifi sẵn có
AT+CWJAP = "ssid", "password" Kết nối với mạng wifi nhà mình Gõ AT+CWJAP="tên mạng nhà bạn","mật khẩu" WIFI CONNECTEDWIFI GOT IPOK
AT+CIFSR Xem địa chỉ IP của module Gõ AT+CIFSR +CIFSR:APIP,"192.168.4.1"+CIP:APMAC,"xx:xx:xx:xx:xx:xx"+CIFSR:STAIP,"192.168.1.100"+CIFSR:STAMAC,"xx:xx:xx:xx:xx:xx"OK

Kết

Thế là bước đầu bạn đã có thể kết nối được modul ESP8266, kiểm tra được modul sống hay chết, làm quen được với phần mềm và cách gõ lệnh AT để kết nối vào mạng wifi nhà mình. Tất nhiên chỉ là làm quen, còn nhiều thứ chờ đợi bạn ở phía trước, ví như dùng ESP để làm một căn nhà thông minh đơn giản, hoặc các kết nối với vi điều khiển khác, các cấu hình lập trình cao siêu hơn, MQTT, FOTA, smart config với ESP8266… bạn có thể tham khảo thêm ở ở mục IOT/ESP8266 dưới đây để cập nhật các bài viết về nó.

Học IOT cơ bản | Học ARM
Dạo này dân tình hay rộn ràng các thông tin về IOT nên mình tranh thủ viết một chút, cũng như là để tổng hợp lại những kiến thức để làm một cái gọi là IOT đơn giản. Mục đích cũng không có gì hơn ngoài việc giúp đỡ anh em mới tìm hiểu đỡ phải bỡ ngỡ vì những khái niệm IOT quá trừu tượng, có thể bắt t…