Cài đặt IDE cho ESP8266 và ESP32

Cài đặt IDE cho ESP8266 và ESP32

Trong bài trước mình đã nói về các phần cứng sử dụng trong Internet of Things và các phần cứng đó đều có thể lập trình được với Arduino IDE. Để có thể lập trình được với Arduino IDE, các bạn cần phải cài đặt các thư viện cần thiết cho mỗi board. Trong bài viết này mình sẽ hướng dẫn cách cài đặt và thực hiện một ví dụ nhỏ để kết nối bo mạch lập trình ESP8266 và ESP32 với thế giới Internet.

Để cài đặt và sử dụng Arduino IDE, ta cần chuẩn bị bộ cài đặt, có thể tải về phiên bản mới nhất tại trang chủ https://arduino.cc/. Sau khi tải về và khởi động bộ cài đặt.

Bấm I Agree để tiếp tục.

Chọn tất cả và bấm Next.

Chọn nơi lưu trữ và bấm Install để tiến hành cài đặt Arduino IDE.

Quá trình cài đặt đang diễn ra.

Cài đặt hoàn tất, bấm Close để đóng cửa sổ cài đặt. Bạn có thể mở Arduino IDE thông qua Icon trên Desktop hoặc thông qua Start Menu.

Cài đặt thư viện cho ESP8266

Để cài đặt thư viện hỗ trợ cho ESP8266 đầu tiên các bạn vào File -> Preferences.

Trong cửa sổ Preferences, các bạn nhập URL: http://arduino.esp8266.com/stable/package_esp8266com_index.json vào ô Additional Boards Manager URLs.

Sau đó vào Tools -> Board: … -> Board Manager…

Trong cửa sổ Boards Manager, sau khi đợi tải xong danh sách các board, các bạn nhập “ESP8266” vào ô tìm kiếm và chọn “esp8266 by ESP8266 Community” rồi bấm Install. Đợi cho đến khi quá trình tải về và cài đặt hoàn tất, là các bạn có thể chọn và lập trình cho board ESP8266.

Sau khi cài đặt Board ESP8266 thành công, để sử dụng các bạn vào Tools -> Board: …và chọn ESP8266 tuỳ theo loại mà bạn dùng. Ở đây mình dùng ESP8266 NodeMCU.

Các bạn thiết lập các thông số sau cho phù hợp với bo mạch ESP8266 mà bạn sử dụng.

Sau khi hoàn thành các bước trên, bạn có thể kết nối bo mạch và chạy thử ví dụ ở phần sau của bài viết.

Cài đặt thư viện cho ESP32

Cách cài đặt thư viện cho ESP32 cũng tương tự với cách cài đặt của ESP8266, các bạn mở cửa sổ Preferences và thêm link sau vào ô Additional Boards Manager URLs.

Các bạn có thể thêm nhiều URLs bằng cách thêm dấu “,” giữa mỗi URL như hình sau

Tiếp theo các bạn vào Boards Manager, tìm esp32 rồi và Install thư viện “esp32 by Espressif Systems”.

Sau khi cài đặt, các bạn chọn Board ESP32 để lập trình. Mình sử dụng NodeMCU ESP32 nên sẽ chọn NodeMCU-32S.

Như vậy là đã cài đặt thành công, bây giờ chúng ta sẽ đi qua một ví dụ nhỏ để kết nối WiFi cho ESP8266 & ESP32. 

ESP8266 & ESP32 + WIFI 

Ví dụ này sẽ được thực hiện trên cả 2 bo mạch ESP8266 và ESP32 với một sự thay đổi nhỏ về tên thư viện kết nối WiFi. Ví dụ đối với ESP8266, thư viện dùng để kết nối WiFi là “ESP8266WiFi.h”, còn với ESP32, tên thư viện là “WiFi.h”. 

Code

#include <ESP8266WiFi.h> // Bỏ comment dòng này để sử dụng cho ESP8266. Comment dòng này nếu sử dụng cho ESP32
// #include <WiFi.h> // Bỏ comment dòng này để sử dụng cho ESP32. Comment dòng này nếu sử dụng cho ESP8266

const char *ssid = "Your_Wifi_SSID";
const char *pw = "Your_Wifi_Password";

void setup() {
  // Đăng ký kênh Serial tại Baudrate 115200
  Serial.begin(115200);

  // Xuất lời chào
  Serial.println("MECHASOLUTION.VN");
  Serial.println("IoT Example: ESP to WIFI");
  
  // Xuất thông báo đang kết nối tới WiFi
  Serial.print("Dang ket noi toi WiFi ");
  Serial.print(ssid);

  // Thực hiện lệnh kết nối
  WiFi.begin(ssid, pw);
  
  while (WiFi.status() != WL_CONNECTED) {
    Serial.print(".");
    delay(1000);
  }
  Serial.println();

  // Xuất thông báo đã kết nối thành công
  Serial.println("Ket noi thanh cong!");
  // Xuất địa chỉ IP được cấp bởi thiết bị router
  Serial.print("Dia chi IP: ");
  Serial.println(WiFi.localIP());
}

void loop() {
  
}

Giải thích

Để có thể kết nối WiFi, bạn cần thay đổi SSID – là tên WiFi mà bạn muốn kết nối – và mật khẩu WiFi tại 2 mục

const char *ssid = "Your_Wifi_SSID";
const char *pw = "Your_Wifi_Password";

Trong hàm setup() , ta sẽ thực hiện đăng ký Serial với baudrate = 115200, Serial dùng để xuất thông tin kết nối vào Serial Monitor của Arduino IDE

Serial.begin(115200);

Sau đó ta sẽ thực hiện kết nối WiFi bằng lệnh WiFi.begin(ssid, pw) với 2 thông số truyền vào là SSID và Password WiFi mà bạn muốn kết nối.

WiFi.begin(ssid, pw);

Sau khi kết nối thành công, chương trình sẽ xuất thông báo thành công, đồng thời xuất địa chỉ IP mà thiết bị được cung cấp.

Khi có được địa chỉ IP của thiết bị, bạn có thể sử dụng Laptop cùng kết nối tới một mạng WiFi và kiểm tra kết nối với thiết bị thông qua lệnh

Nhận xét

Mới hơn Cũ hơn