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.


    Đối với những người mới bắt đầu, các bạn có thể cài đặt Arduino IDE theo hướng dẫn dưới đây. Còn đối với những người đã từng làm việc hay đã cài đặt Arduino IDE, các bạn có thể bỏ qua bước cài đặt IDE và qua phần cài đặt thư viện hỗ trợ cho ESP8266 hay ESP32.

 
Cài đặt Arduino IDE

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

     - GitHub: https://github.com/esp8266/Arduino

    Để 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

     - GitHub: https://github.com/espressif/arduino-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

Kết quả

 - Lương Công Tâm - MechasolutionVN.

Có thể bạn quan tâm ???