A PHP Error was encountered

Severity: Notice

Message: Undefined property: stdClass::$keywords

Filename: controllers/Articles.php

Line Number: 202

Backtrace:

File: /home/stdio/domains/stdio.vn/public_html/stdio/application/controllers/Articles.php
Line: 202
Function: _error_handler

File: /home/stdio/domains/stdio.vn/public_html/stdio/index.php
Line: 292
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: implode(): Invalid arguments passed

Filename: controllers/Articles.php

Line Number: 208

Backtrace:

File: /home/stdio/domains/stdio.vn/public_html/stdio/application/controllers/Articles.php
Line: 208
Function: implode

File: /home/stdio/domains/stdio.vn/public_html/stdio/index.php
Line: 292
Function: require_once

Sử Dụng Arduino IDE Lập Trình ESP8266 NodeMCU :: Bản in :: Bài viết :: STDIO

A PHP Error was encountered

Severity: User Notice

Message: STDIO :: _KEYWORDS :: Meta must be set

Filename: libraries/Meta.php

Line Number: 75

Backtrace:

File: /home/stdio/domains/stdio.vn/public_html/stdio/application/libraries/Meta.php
Line: 75
Function: trigger_error

File: /home/stdio/domains/stdio.vn/public_html/stdio/application/libraries/Meta.php
Line: 146
Function: Get

File: /home/stdio/domains/stdio.vn/public_html/stdio/application/libraries/Stml.php
Line: 86
Function: Render

File: /home/stdio/domains/stdio.vn/public_html/stdio/application/controllers/Articles.php
Line: 212
Function: RenderHeader

File: /home/stdio/domains/stdio.vn/public_html/stdio/index.php
Line: 292
Function: require_once

Song song với các phiên bản Arduino khác nhau như UNO R3, Tiny ... ESP8266 NodeMCU là một trong những mạch tích hợp phổ biến trong việc phát triển các dự án IoT. Với ESP8266 NodeMCU, ngoài việc sử dụng ngôn ngữ lập trình Lua ta còn có thể lập trình sử dụng ngôn ngữ C/C++ thông qua Arduino IDE.
• 2016-12-27 21:52:27

Giới thiệu

Song song với các phiên bản Arduino khác nhau như UNO R3, Tiny ... ESP8266 NodeMCU là một trong những mạch phổ biến trong việc phát triển các dự án IoTs. Ưu điểm của mạch này là module wifi được tích hợp sẵn và sử dụng một vi điều khiển mạnh mẽ hơn so với Arduino nguyên thủy.

Với ESP8266 NodeMCU, ngoài việc sử dụng ngôn ngữ lập trình Lua ta còn có thể lập trình sử dụng ngôn ngữ C/C++ thông qua Arduino IDE. Bài viết này sẽ hướng dẫn việc sử dụng Arduino IDE để tích hợp thư viện hỗ trợ cho việc lập trình ESP8266 NodeMCU cũng như cách biên dịch, nạp code và kiểm tra.

Tiền đề bài viết

Bài viết cung cấp kiến thức hỗ trợ cho chương trình training về chủ đề Internet of Things.

Đối tượng hướng đến

Bài viết hướng đến đối tượng bạn đọc đã có kiến thức cơ bản về lập trình C/C++ và quan tâm đến việc hiện thực các dự án IoT sử dụng module ESP8266 NodeMCU. Bài viết thực hiện trên môi trường Windows 10 Professional với Arduino IDE phiên bản 1.8.0 được cài đặt sẵn. Module được sử dụng trong bài viết là ESP8266 NodeMCU (ESP-12 module).

Bạn đọc tham khảo cách tải và cài đặt Arduino IDE tại bài viết Cài Đặt Arduino IDE.

Tích hợp thư viện hỗ trợ ESP8266 NodeMCU

Để tích hợp thư viện hỗ trợ cho việc lập trình mạch ESP8266 NodeMCU. Ta lần lượt thực hiện các bước sau:

Bước 1: Thêm đường dẫn để tải các package cho NodeMCU vào Arduino IDE.

Khởi động Arduino IDE, từ màn hình chính chọn File → Preferences. Ta thêm đường dẫn bên dưới vào mục Addition Boards Manager URLs

http://arduino.esp8266.com/versions/2.3.0/package_esp8266com_index.json

arduino-preferences

Chọn OK để xác nhận việc thêm vào.

Bước 2: Tải thư viện hỗ trợ

Từ giao diện chính của Arduino IDE, chọn Tools → Board → Board Managers ... Tại thanh tìm kiếm của hộp thoại Board Managers ta nhập vào esp8266, chọn Install để tiến hành tải, cài đặt thư viện.

board-managers-esp

Cài đặt thành công, giao diện của Board Managers sẽ trở nên như hình bên. Đến đây ta đã hoàn tất việc cài đặt thư viện.

board-managers-esp-success

Lập trình cho ESP8266 NodeMCU

Do đây là một board Arduino-compatable vì vậy cấu trúc của một chương trình dành cho mạch này cũng tuân theo cấu trúc của một chương trình viết cho mạch Arduino bao gồm có 2 phần chính:

  • Hàm setup(): được gọi một lần duy nhất khi mạch được khởi động
  • Hàm loop(): được gọi lặp lại trong suốt quá trình hoạt động của mạch

Bước đầu làm quen, ta sẽ viết một chương trình cho ESP điều khiển một đèn LED nhấp nháy theo chu kì 1s. Linh kiện cần chuẩn bị bao gồm 1 mạch ESP8266 NodeMCU và 1 đèn LED 5mm.

Sơ đồ mạch

nodemcu-sketch-1

Lập trình

Đoạn code sau minh họa việc điều khiển đèn LED chớp theo chu kì 1 giây.

#define LED_PIN 12
#define DELAY_TIME 500

void setup()
{
	pinMode(LED_PIN, OUTPUT);
}

void loop()
{
	digitalWrite(LED_PIN, LOW);
	delay(DELAY_TIME);
	digitalWrite(LED_PIN, HIGH);
	delay(DELAY_TIME);
}

Nạp code

Thao tác nạp code cho mạch ESP8266 NodeMCU cũng tương tự như nạp cho mạch Arduino thông thường. Tuy nhiên ta cần lưu ý phải chọn phiên bản phù hợp với board đang sử dụng bằng menu Tools → Board.  Do mạch của tôi là ESP8266 NodeMCU (ESP-12 module) do đó tôi cần chọn NodeMCU 0.9.

upload-code-success

Sau khi nạp code thành công, ta sẽ thấy đèn LED nhấp nháy theo chu kì định sẵn.