Hướng dẫn lập trình ESP8266 NodeMCU dùng Arduino IDE

1
966
Hướng dẫn lập trình ESP8266 NodeMCU dùng Arduino IDE

ESP8266 là một công cụ tuyệt vời để phát triển các dự án IoT vì giá thành rẻ và dễ sử dụng. Đặc biệt, ESP8266 có thể được lập trình bằng Arduino IDE. Để thuận lợi cho các bạn khi mới bắt đầu làm quen và sử dụng module này, trong bài viết này, tôi sẽ hướng dẫn cách sử dụng Arduino IDE để lập trình cho một module phổ biến đó là ESP8266-V12E.

Giới thiệu về ESP8266

ESP8266 là một vi mạch trong gói QFN có khả năng của cả bộ TCP/IP và bộ vi điều khiển. ESP8266 cung cấp giải pháp WiFi tích hợp cao đáp ứng nhu cầu của các ứng dụng IoT (Internet of Things) như chi phí thấp, sử dụng năng lượng hiệu quả, hiệu suất đáng tin cậy và thiết kế nhỏ gọn. Nó được sản xuất bởi Espressif Systems ở Thượng Hải, Trung Quốc.

Có khả năng kết nối mạng WiFi hoàn chỉnh, ESP8266 có thể hoạt động như một thiết bị tớ cho một bộ vi điều khiển chủ hoặc như một ứng dụng độc lập. Khi chúng ta nói thiết bị tớ cho vi điều khiển chủ, điều đó có nghĩa là nó có thể sử dụng làm bộ điều hợp WiFi cho bất kỳ vi điều khiển nào sử dụng giao tiếp SPI hoặc UART. Trong khi sử dụng độc lập, nó có thể thực hiện được các chức năng của một bộ vi điều khiển và mạng WiFi.

ESP8266 dựa trên dòng L106 Diamond của Tensilica, là bộ xử lý 32-bit và có SRAM trên chip. Đồng thời tích hợp module nguồn, balun RF, bộ thu và phát RF, bộ thu và phát tương tự, băng tần số, bộ khuếch đại, bộ lọc và một số thành phần tối thiểu khác.

Các phiên bản ESP8266

ESP8266 có nhiều phiên bản khác nhau như được thể hiện trong hình bên dưới. Hiện nay, NodeMCU ESP-12E là phiên bản phổ biến nhất vì nó dễ kết nối, lập trình và có nhiều chân GPIO.

Các phiên bản ESP8266 để làm các dự án IoT

Các bạn có thể xem thêm thông tin về các phiên bản của ESP8266 tại đây.

Giới thiệu về ESP8266 NodeMCU

ESP8266 NodeMCU (Node MicroController Unit) là một môi trường phát triển phần mềm và phần cứng mã nguồn mở được xây dựng trên một hệ thống trên chip (SoC) được gọi là ESP8266. ESP8266, được thiết kế và sản xuất bởi Espressif Systems, chứa các thành phần quan trọng của một máy tính: CPU, RAM, mạng (WiFi), thậm chí cả hệ điều hành và SDK hiện đại. 

Board mạch thu phát wifi ESP8266 NodeMCU với kích thước nhỏ gọn, giá rẻ được dùng nhiều cho các thiết bị IoT, các ứng dụng cần kết nối mạng wifi.

Sơ đồ chân

Các module ESP8266 được sử dụng rộng rãi nhất là ESP-01, ESP8266 NodeMCU (ESP8266-12E) và Wemos D1 Mini. Hình bên dưới cho thấy sơ đồ chân của Kit NodeMCU ESP8266-12E. Nếu bạn đang sử dụng những module khác, các bạn có thể dễ dàng lên google để tìm sơ đồ chân.

Sơ đồ chân ESP8266 NodeMCU

Thông số kỹ thuật

  • WiFi: 2.4 GHz hỗ trợ chuẩn 802.11 b/g/n
  • Điện áp hoạt động: 5VDC thông qua cổng micro USB
  • Số chân I/O: 11 (tất cả các chân I/O đều có Interrupt/PWM/I2C/One-wire, trừ chân D0)
  • Số chân Analog Input: 1 (điện áp vào tối đa 3.3V)
  • Bộ nhớ Flash: 4MB
  • Giao tiếp: Cable Micro USB ( tương đương cáp sạc điện thoại )
  • Hỗ trợ bảo mật: WPA/WPA2
  • Tích hợp giao thức TCP/IP
  • Lập trình trên các ngôn ngữ: C/C++, MicroPython, Lua

Cài đặt board ESP8266 trên Arduino IDE

Sau khi đã cài đặt phiên bản mới nhất của Arduino IDE, các bạn tiếp tục thực hiện các bước sau đây để tiến hành cài đặt thư viện và chức năng nạp code cho Arduino IDE.

  1. Mở cửa số Preferences từ Arduino IDE. Vào FilePreferences. 

2. Nhập http://arduino.esp8266.com/stable/package_esp8266com_index.json vào ô “Additional Board Manager URLs” như được hiển thị trong hình bên dưới. Sau đó, nhấp vào nút “OK”:

Lưu ý: Nếu bạn đã có URL của board ESP32, bạn có thể thêm các URL bằng dấu phẩy như sau:

https://dl.espressif.com/dl/package_esp32_index.json, http://arduino.esp8266.com/stable/package_esp8266com_index.json

3. Tiếp theo vào Tools > Board > Boards Manager…

Sau khi chương trình tìm kiếm xong, bạn kéo xuống dưới và nhấp vào ESP8266 by ESP8266 Community, click vào Install. Chờ phần mềm tự động download và cài đặt trong vài giây.

Kiểm tra việc cài đặt

Để kiểm tra việc cài đặt tiện ích bổ sung ESP8266, hãy xem liệu chúng ta có thể làm cho đèn LED nhấp nháy với module ESP8266-12E bằng ngôn ngữ lập trình Arduino hay không nhé.

Chuẩn bị phần cứng

  • Module NodeMCU 1.0 (ESP8266-12E)
  • LED
  • Điện trở 330Ω
  • Breadboard
  • Dây cắm breadboard

Kết nối phần cứng

Sơ đồ kết nối ESP8266 NodeMCU với led đơn

Nạp chương trình

Nếu bạn đang sử dụng board ESP8266 NodeMCU thì việc nạp chương trình rất đơn giản vì nó đã tích hợp sẵn bộ lập trình. Sau khi cắm board vào máy tính của mình, bạn tiến hành chọn board để lập trình cho ESP8266.

Vào Tool > Board > NodeMCU (ESP-12E).

Bạn cũng cần chọn cổng COM tương ứng với module được kết nối.

Sau đó bạn copy đoạn chương trình sau vào Arduino IDE.

int pin = 2;

void setup() {

  // Khởi tạo chân GPIO 2 là ngõ ra

  pinMode(pin, OUTPUT);

}

// Hàm loop chạy lập đi lập lại mãi mãi

void loop() {

  digitalWrite(pin, HIGH);   // Bật LED sáng với mức logic CAO

  delay(1000);               // Delay 1s

  digitalWrite(pin, LOW);    // Cho LED tắt với mức logic THẤP

  delay(1000);               // Delay 1s

}

Bạn nhấp vào nút “Upload” trong Arduino IDE và đợi vài giây cho đến khi bạn thấy thông báo “Done uploading.” ở góc dưới cùng bên trái.

Chọn chế độ nạp Arduino as ISP.

Lời kết

Như vậy là tôi đã hướng dẫn xong cách sử dụng phần mềm Arduino IDE để lập trình ESP8266 NodeMCUE trên máy tính. Bây giờ, các bạn đã sẵn sàng để bắt đầu xây dựng các dự án IoT của riêng mình với ESP8266!

Ở các bài viết sau, tôi sẽ tiếp tục hướng dẫn cách sử dụng ESP8266 trong những dự án IoT. Các bạn tiếp tục theo dõi và share bài viết để nhiều người học thêm những kiến thức mới nhé. Chúc các bạn thành công!!!

1 BÌNH LUẬN

BÌNH LUẬN

Vui lòng nhập bình luận của bạn
Vui lòng nhập tên của bạn ở đây