Trong bài viết Bộ thu/phát WiFi ESP8266 chúng ta đã tìm hiểu về đặc điểm và tính năng của mô-đun thu phát WiFi ESP8266. Chúng ta biết rằng mô-đun ESP8266 có một vi điều khiển bên trong nó, do đó chúng ta có thể dùng nó như một hệ máy tính nhúng độc lập và lập trình nó để thực hiện một chức năng nào đó. Trong bài viết này chúng ta cùng nhau tìm hiểu cách lập trình cho mô-đun ESP8266.
Có nhiều cách khác nhau để lập trình ESP8266 bằng các ngôn ngữ lập trình khác nhau: Arduino C/C++ sử dụng lõi Arduino cho ESP32, Micropython, LUA và các ngôn ngữ khác.
Phương pháp ưa thích của nhiều người là lập trình ESP8266 bằng “ngôn ngữ lập trình Arduino” với Arduino IDE hoặc Mã VS. Nếu là người mới bắt đầu làm quen với ESP8266, bạn nên bắt đầu với Arduino IDE. Trong bài viết này, chúng ta sẽ tập trung tìm hiểu cách cài đặt và sử dụng Arduino IDE.
NỘI DUNG
1. Lập trình ESP8266 với Arduino IDE
Loggo của Arduino IDE.
Để lập trình ESP8266, bạn cần một môi trường phát triển IDE để viết mã, biên dịch và nạp chương trình lên chip ESP8266. Nếu bạn mới bắt đầu với ESP8266, hãy bắt đầu với Arduino IDE. Mặc dù nó không phải là IDE tốt nhất, nhưng nó hoạt động tốt, đơn giản và trực quan để sử dụng cho người mới bắt đầu. Sau khi làm quen với Arduino IDE, nếu bạn muốn tạo các dự án phức tạp hơn, bạn có thể thấy hữu ích khi sử dụng Mã VS với phần mở rộng PlatformIO để thay thế.
2. Cài dặt Arduino IDE
Để chạy Arduino IDE, bạn cần cài đặt JAVA trên máy tính của mình. Nếu chưa cài đặt, hãy truy cập trang web sau để tải xuống và cài đặt phiên bản mới nhất: http://java.com/download.
Bạn tham khảo video hướng dẫn cài đặt Arduino IDE ở link sau: https://youtu.be/9NrI5NQV0dc
Tải Arduino IDE
Để tải Arduino IDE, hãy truy cập URL sau: https://www.arduino.cc/en/software
Trang web để tải bộ cài Arduino IDE.
Tại thời điểm viết hướng dẫn này, phiên bản Arduino mới nhất là 2.0 như bạn thấy ở hình trên. Mặc dù phiên bản 2.0 hoạt động tốt với Arduino nhưng vẫn còn một số lỗi và một số tính năng chưa được hỗ trợ cho ESP8266. Nếu bạn gặp lỗi với phiên bản 2.0, bạn nên sử dụng phiên bản cũ (1.8.19) để lập trình cho ESP8266.
Để download phiên bản 1.8.19, hãy kéo xuống cho đến khi bạn tìm thấy phần phiên bản cũ.
Phiên bản Arduino IDE 1.8.19.
Chọn phiên bản phù hợp với hệ điều hành của bạn và tải xuống phần mềm. Đối với Windows, bạn nên tải xuống “Windows ZIP file”.
Chạy bộ cài Arduino IDE
Giải nén tệp bạn vừa tải xuống và chạy tệp thực thi có tên là arduino.exe (được đánh dấu bên dưới).
Chạy bộ cài Arduino IDE.
Sau khi cài đặt, Arduino IDE sẽ mở ra một cửa sổ như bên dưới.
Giao diện của Arduino IDE sau khi cài đặt.
Cài đặt thư viện ESP8366 NodeMCU trong Arduino IDE
Để có thể lập trình NodeMCU ESP8266 bằng Arduino IDE, bạn cần cài thêm gói thư viện hỗ trợ cho các bo mạch ESP8266. Thực hiện theo các bước tiếp theo để cài đặt các gói hỗ trợ.
- Chuyển tới File -> Preferences
Chọn Preferences.
- Nhập URL phía dưới vào trường “Additional Board Manager URLs” như hình phía dưới. Sau đó nhấp vào “OK”.
https://arduino.esp8266.com/stable/package_esp8266com_index.json
Lưu ý: Nếu bạn đã có URL của các bo mạch ESP khác, bạn phải tách biệt các URL bằng cách đặt chúng trên các dòng khác nhau.
- Mở Board Manager bằng cách chọn biểu tượng ở lề trái màn hình hoặc chọn Tools -> Board -> Boards Manager… từ trình đơn.
- Nhập vào ô tìm kiếm “ESP8266” và chọn Install “ESP8266 by ESP8266 Community”.
- Khởi động lại Arduino IDE. Sau đó chuyển tới Tools -> Board để kiểm tra xem bo ESP8266 đã khả dụng hay chưa. Nếu gói hỗ trợ các bo mạch ESP8266 đã được cài đặt đúng, bạn sẽ thấy được một cấu hình như hình bên dưới.
- Bây giờ bạn đã sẵn sàng để lập trình cho ESP8266 bằng Arduino IDE.
Các ví dụ về ESP8266
Trong Arduino IDE, bạn có thể tìm thấy nhiều ví dụ cho bo mạch ESP8266. Trước tiên, hãy đảm bảo rằng bạn đã chọn bo mạch ESP8266 trong Tools > Boards. Sau đó, chỉ cần vào File -> Examples và xem các ví dụ trong phần ESP8266.
Cập nhật lõi ESP8266 trong Arduino IDE
Thỉnh thoảng, bạn nên kiểm tra xem mình đã cài đặt phiên bản mới nhất của tiện ích bổ trợ cho ESP8266 chưa. Để làm điều này, bạn chỉ cần vào Tools > Board > Boards Manager, tìm kiếm ESP8266 và kiểm tra phiên bản bạn đã cài đặt. Nếu có phiên bản mới hơn, hãy chọn phiên bản đó để cài đặt.
3. Nạp chương trình lên ESP8266 bằng Arduino IDE
a) Nạp chương trình cho bo mạch ESP8266 NodeMCU
Để chỉ cho bạn cách tải mã lên bo mạch ESP8266 của mình, tôi sẽ dùng một ví dụ đơn giản có sẵn trong các ví dụ cho ESP8266 có sẵn trên Arduino IDE.
Trước tiên, hãy đảm bảo rằng bạn đã chọn một bo mạch ESP8266 trong Tools -> Boards. Nếu bạn đang sử dụng Kit NodeMCU ESP8266-12E như minh họa trong các hình ảnh phần trước, hãy chọn tùy chọn NodeMCU 1.0 (Mô-đun ESP-12E). Nếu bạn không biết bo của mình là gì, bạn có thể chọn Mô-đun Generic ESP8266 Module.
Sau đó, chuyển tới File –> Examples –> ESP8266WiFi –> WiFiScan.
Điều này sẽ mở ra một chương trình (Sketch) có chức năng quét các mạng Wi-Fi trong phạm vi phủ sóng của bo mạch ESP8266 của bạn.
Kết nối bo mạch phát triển ESP8266 của bạn với máy tính bằng cáp USB.
Cảnh báo: bạn phải sử dụng cáp USB có dây dữ liệu. Một số cáp USB từ bộ sạc hoặc sạc dự phòng chỉ cấp nguồn và không truyền dữ liệu—những cáp này không dùng được cho nạp chương trình lên bo mạch ESP8266.
Bây giờ, hãy làm theo các bước sau để tải mã lên.
- Vào Tools -> Boards, cuộn xuống phần ESP8266 và chọn một bo mạch tương ứng với bo mạch ESP8266 mà bạn có. Nếu bạn không biết bo mạch của mình là gì hãy chọn Generic ESP8266 module – lựa chọn này thường hoạt động tốt với hầu hết các bo mạch.
- Vào Tools -> Port và chọn một cổng COM khả dụng. Nếu cổng COM chuyển sang màu xám, điều này có nghĩa là bạn không có trình điều khiển USB cần thiết. Kiểm tra phần 5 (Cài đặt USB driver cho bo mạch ESP8266) trước khi tiếp tục.
- Nhấn nút tải lên.
Nút tải lên Arduino 2.0
Mã sẽ được tải thành công lên bảng sau vài giây.
b) Nạp chương trình cho bo mạch ESP-01
Nếu bạn đang sử dụng bo mạch ESP-01, hãy đọc phần này để tìm hiểu cách tải mã lên chip ESP8266.
ESP-01 không có bộ nạp chương trình tích hợp trên bo mạch nên việc tải mã lên không đơn giản. Cách dễ nhất để tải mã lên ESP-01 là sử dụng một bộ nạp chương trình cho ESP-01 (ESP-01 Programmer). Có một số bộ chuyển đổi và lập trình cho ESP-01 có sẵn trên thị trường, hình dưới đây cho thấy một ví dụ về một bộ nạp chương trình cho ESP-01.
Bạn có thể mua Bộ chuyển đổi và lập trình ESP01 ở đây.
Bộ chuyển đổi loại này khá tiện dụng vì bạn chỉ cần cắm mô-đun ESP-01 lên Bộ chuyển đổi và kết nối bộ chuyển đổi với máy tính để lập trình cho ESP8266.
Một giải pháp thay thế khác là sử dụng bộ lập trình FTDI. Bạn sẽ cần kết nối ESP-01 với bộ lập trình FTDI như hình bên dưới. Sau đó, chỉ cần kết nối bộ lập trình FTDI với máy tính của bạn.
Bạn có thể mua Bộ lập trình FTDI ở đây.
Bảng sau đây cho thấy các kết nối bạn cần thực hiện giữa mô-đun ESP-01 và bộ lập trình FTDI.
ESP8266 | Bộ lập trình FTDI |
RX | TX |
TX | RX |
CH_PD | 3.3V |
GPIO 0 | GND |
VCC | 3.3V |
GND | GND |
Nếu bạn có một bộ lập trình FTDI hoàn toàn mới, có thể bạn sẽ cần cài đặt trình điều khiển FTDI trên PC Windows của mình. Truy cập trang web này để biết các trình điều khiển chính thức. (Nếu cổng COM trong Arduino IDE của bạn chuyển sang màu xám, có thể là do bạn chưa cài đặt trình điều khiển).
Sau đó, bạn chỉ cần kết nối bộ lập trình FTDI với máy tính của mình và tải mã lên ESP8266 bằng cách nhấp vào nút tải lên.
1.1.4. Chạy đề-mô
Để xem mã có hoạt động như mong đợi hay không, hãy mở Serial Monitor (có biểu tượng như hình bên dưới) và thiết lập tốc độ truyền là 115200.
Nhấn nút RST hoặc EN trên bo mạch ESP8266 để khởi động lại bo mạch và bắt đầu chạy mã vừa được tải lên.
Bạn sẽ nhận được một danh sách các mạng wi-fi gần đó như hình dưới.
Nếu bạn đang sử dụng mô-đun ESP-01, sau khi tải mã lên, hãy ngắt kết nối GPIO0 khỏi GND để tắt chế độ lập trình. Sau đó, kết nối chân RST với GND trong khoảng một giây rồi ngắt kết nối để thiết lập lại bo mạch.
Xem video sau để biết cách chạy nhiều ví dụ hơn: https://youtu.be/9NrI5NQV0dc
5. Cài đặt USB driver cho bo mạch ESP8266
Sau khi kết nối bo mạch ESP8266 với máy tính của bạn, nếu cổng COM trong Arduino IDE có màu xám, điều đó có nghĩa là bạn chưa cài đặt trình điều khiển USB cần thiết trên máy tính của mình.
Hầu hết các bo mạch ESP8266 đều sử dụng trình điều khiển CP2101 hoặc CH340. Kiểm tra bộ chuyển đổi USB sang UART trên bo mạch của bạn và cài đặt các trình điều khiển tương ứng.
Pingback: {KLTN} NGHIÊN CỨU, THIẾT KẾ HỆ THỐNG GIÁM SÁT SỨC KHỎE DỰA TRÊN CÔNG NGHỆ IOT - STEM Education
Pingback: Điều khiển LED qua IoT bằng Google Firebase và ESP8266 - STEM Education
Pingback: Bộ thu/phát WiFi ESP8266 - STEM Education