Sử dụng Arduino IDE để lập trình cho ESP8266

Sau khi mua ESP8266 về cũng như đã thử qua một số lệnh cơ bản kiểm tra hoạt động và kết nối với mạng wifi ở nhà trong bài viết ESP8266 cho người không biết gì thì hôm nay mình xin giới thiệu cách lập trình cho ESP8266 sử dụng công cụ lập trình cho Arduino là Arduino IDE. Có nhiều cách khác nhau để lập trình cho ESP8266 nhưng mình chọn cách này vì nó đơn giản cũng như quen thuộc với các bạn nếu đã từng sử dụng qua Arduino.

Ở đây mình cũng xin nói luôn là chúng ta sẽ can thiệp trực tiếp vào ESP8266 nghĩa là flash trắng toàn bộ chip và viết chương trình mới hoàn toàn, có nghĩa là sẽ mất hết firmware ai-thinker và tập lệnh AT ở bài trước. Do đó cách làm giao tiếp với ESP8266 dùng tập lệnh AT mình xin hẹn các bạn ở một bài khác.

Phiên bản ESP8266 mình sử dụng là v7, cùng với USB2Serial PL2303.

Lưu ý là mọi kết nối đều như cũ, để nạp được chương trình xuống ESP8266 thì cần nối chân GPIO0 với GND.

Cài đặt

Cài đặt với Boards Manager

  • Cài phiên bản mới nhất của Arduino từ website Arduino.
  • Khởi động Arduino sau đó chọn File > Preferences.
  • Trong cửa sổ hiện ra ta thêm http://arduino.esp8266.com/stable/package_esp8266com_index.json vào mục Additional Board Manager URLs. Sau đó chọn OK.
  • Sau đó mở Boards Manager bằng cách chọn Tools > Board từ menu và cài đặt esp8266 platform
  • Cuối cùng là chọn board ESP8266 phù hợp với cái mình có sẵn cũng thông qua Tools > Board.

esp8266_arduino

Nếu có vấn đề không cài được thì bạn có thể hỏi tại đây hoặc chắc chắn nhất là tại http://www.esp8266.com/arduino.

Viết chương trình kết nối wifi

Sau khi đã cài đặt thành công và hiển thị được hình như trên thì chúng ta sẽ bắt đầu viết chương trình đầu tiên, sau đó upload xuống ESP8266 để kết nối với mạng wifi ở nhà của mình.

Lập trình

Chương trình khá đơn giản, chỉ là kết nối với Wifi, in ra địa chỉ IP, nếu không kết nối được thì in ra dấu . (bạn thấy …….. hoài có nghĩa là sai tên wifi/password rồi nhé). Mình giải thích bằng comment trên code luôn cho các bạn dễ quan sát

Quan trọng nhất là dòng 4,5 ví dụ wifi nhà bạn là HocARM pass 12345678 thì sẽ thay như sau

const char* ssid = "HocARM"; //Thay ten_wifi bang ten wifi nha ban
const char* password = "12345678"; //Thay mat_khau_wifi bang mat khau cua ban

Nạp chương trình

Coi như phần chương trình đã xong, giờ là nạp xuống ESP8266

  • Trước hết là phải chọn board cho chính xác bằng cách vào menu chọn Tool > Boards
    • Nếu dùng board ESP8266V1 thì chọn Generic ESP8266 Module
    • Nếu dùng board ESP8266V7 hoặc ESP8266V12, NodeMCU 0.9 thì chọn NodeMCU 0.9
    • Nếu dùng Wemos hay các board khác thì chọn theo danh sách.
  • Sau là chọn cổng COM (Tool > Port), ở đây của mình là COM2

esp8266_arduino_wifi_connect

Cuối cùng là biên dịch và nạp chương trình xuống,nếu có thông báo Done uploading như hình là thành công

esp8266_arduino_doneupload

Kết quả

esp8266_arduino_viewresult

Sau khi thực hiện theo các bước 1 mở terminal, bước 2 chọn baud (ở đây là 115200) thì sẽ có kết quả là thông báo kết nối và địa chỉ IP là 192.168.1.103. Cái dòng chữ rlrl… ở trên cùng là do tự ESP8266 sinh ra, chúng ta có thể bỏ qua không cần quan tâm tới nó làm gì.

Bạn có thể tải code tại   Code Connect Wifi

Kết

Vậy là chúng ta đã sử dụng được Arduino IDE để lập trình cho ESP82266, kết nối wifi rất nhẹ nhàng đơn giản, quá trình làm với ESP8266v7 hoặc v12 sẽ hơi khó khăn hơn ở đoạn kết nối dây, chỉnh reset,.. nhưng lại thú vị và giúp ta hiểu rõ hơn về NodeMCU người ta đã khắc phục những điều ấy như thế nào. Còn nếu bạn đã có NodeMCU hoặc Wemos thì cứ mạnh dạn làm thôi, không việc gì phải sợ cả.

 

 

 

Add Comment