Skip to main content
IOT ESP8266 Maker Việt Nam

IoT ESP8266 – Lập trình IoT sử dụng ESP8266 – [Bài 2] Cài đặt PlatformIO trên Visual Studio Code

Hiện tại, có rất nhiều nền tảng có thể sử dụng để phát triển chip ESP8266 như: Arduino, ESP8266_RTOS_SDK,… Tuy nhiên trong tutorial này, mình sẽ giới thiệu về nền tảng PlatformIO chạy trên Visual Studio Code và đề cập đến những cái hay của bộ đôi này.

Lưu ý: nếu bạn muốn bỏ qua phần giới thiệu sơ lược, click vào đây để xem hướng dẫn cài đặt.

1. Arduino là gì?

Hẳn phần đa trong số các bạn đã quá quen thuộc với Arduino. Tuy nhiên cũng không thừa khi giới thiệu lại về Arduino và phân biệt rõ hơn về khái niệm Arduino mà nhiều người đang bị hiểu lầm.

Arduino không chỉ đơn thuần là một mạch vi xử lý, như Wikipedia Tiếng Việt đề cập. Arduino nói đúng hơn là nền tảng mã nguồn mở bao gồm cả phần cứngphần mềm. Ra đời tại Italy từ năm 2003, Arduino ra đời với mục tiêu trở thành công cụ rẻ, đơn giản và dễ sử dụng cho người dùng không chuyên. Nhấn mạnh lại:

Arduino bao gồm cả phần cứngphần mềm

Arduino – Phần cứng

Mạch Arduino Uno (nguồn: arduino.cc )

Về phần cứng, Arduino tích hợp mạch nạp sắn trong mạch. Có đầu cắm để sử dụng với các module/ mạch tích hợp (như cảm biến, màn hình, nút bấm, led…) . Tính mở rộng (khả năng sử dụng chung với các module khác) khá cao. Đồng thời, trên thị trường các sản phẩm, module tích hợp với Arduino ra đời khá nhiều. Đó cũng là một phần lý do giúp Arduino phổ biến như bây giờ.

Arduino – Phần mềm

Arduini IDE (nguồn: office.net)

Về phần mềm, Arduino cung cấp môi trường phát triển tích hợp Arduino IDE (bao gồm: trình soạn thảo, trình biên dịch, công cụ nạp chương trình…); và “kiểu lập trình” rất dễ nhận dạng. Nếu như code C/C++ lập trình vi điều khiển “phổ thông” sẽ có dạng:

void main() {
    // Khởi tạo
    
    while(1) {
    // Vòng lặp vô hạn; nơi chương trình chính được thực thi
    
    }
}

Thì một chương trình điều khiển mạch Arduino sẽ có dạng:

void setup() {
    // Khởi tạo
    
}

void loop() {
    // Vòng lặp vô hạn; nơi chương trình chính được thực thi

}

Điều này sẽ khiến nhiều người sử dụng hiểu lầm rằng lập trình Arduino khác với lập trình C/C++. Tuy nhiên, Arduino chính là C/C++.

Nếu bạn tìm hiểu sâu hơn về thư viện Arduino, sẽ thấy hàm setup() và loop() được định nghĩa trong thự viện “Arduino.h”. Thư viện này sẽ được tự động include trước khi chạy chương trình. Dĩ nhiên, không thể thiếu trong bất kì chương trình C/C++ nào – file “main.cpp” cũng được viết sẵn, chứa nội dung như sau:

int main(void)
{
	//...
	
	setup();
    
	for (;;) {
		loop();
		//...
	}
        
	return 0;
}

Arduino chính là C/C++

Thế nên, đừng ngần ngại sử dụng các thư viện C/C++ có sẵn khi lập trình Arduino.

Tìm hiểu thêm về Arduino ở bài viết khác của Maker Việt Nam tại đây:
 Tại sao bạn nên tìm hiểu về Arduino ngay lúc này

2. Giới thiệu về PlatformIO

PlatformIO là hệ sinh thái mã nguồn mở, cung cấp thư viện để lập trình cho nhiều dòng vi điều khiển. PlatformIO có tích hợp thư viện Arduino, cho phép người dùng PlatformIO có thể dễ dàng lập trình bằng thư viện Arduino cho các dòng vi điều khiển được hỗ trợ – ESP8266 là một trong số đó.

Hiện tại, nền tảng PlatformIO – hay “hệ sinh thái” PlatformIO có thể được cài đặt trên một số trình biên dịch phổ biến như Atom hay Visual Studio Code. Trong tutorial này và đa phần trong các bài hướng dẫn lập trình cho ESP8266 và Arduino sau này, các ví dụ sẽ dùng nền tảng PlatformIO trên Visual Studio Code.

3. Giới thiệu về Visual Studio Code

Về Visual Studio

Đối với các lập trình viên sử dụng nền tảng là công nghệ Microsoft hẳn là không xa lạ với Visual Studio (VS) – môi trường phát triển tích hợp (IDE) từ Microsoft. VS là một công cụ lập trình mạnh mẽ – không phải bàn cãi. Với những tích hợp từ trình soạn thảo, trình gỡ lỗi, công cụ thiết kế giao diện, … VS đã trải qua nhiều lần cải tiến nâng cấp để tối ưu nhất cho lập trình viên. Tuy nhiên, vì VS là một công cụ mang tính chuyên nghiệp nên nó sẽ có một số đặc thù sau:

  • Đòi hỏi phần cứng tương đối mạnh và hệ điều hành riêng biệt
  • Thời gian cài đặt khá lâu.
  • Người dùng phải trả phí cho các phiên bản ngoại trừ phiên bản miễn phí Visual Studio Express.

Chính vì những đặc thù đó, Visual Studio hỗ trợ đơn nền tảng và khá nặng nề. Với một số công việc bạn cần phải làm nhanh như: xem file, chỉnh sửa nhỏ trong code, viết code demo, … mà bạn phải mở VS lên thì nó khá là mất thời gian. Chưa kể đến việc bạn đang sử dụng một chiếc máy không cài Visual Studio. Tất nhiên bạn có thể mở bằng Notepad, Notepad++, … Nhưng đó chỉ là những trình soạn thảo đơn giản nên sẽ không giải quyết được một số vấn đề như: gợi ý code, hỗ trợ loại file, code trắng đen (Notepad), …

Về Visual Studio Code


Với những yêu cầu đó, Microsoft đã cho ra đời một công cụ mới giải quyết được hầu hết các vấn đề trên. Microsoft giới thiệu Visual Studio Code vào tháng 4 năm 2015 ở hội nghị Build. Đặc điểm nổi bật là đơn giản, gọn nhẹ, dễ dàng cài đặt. Visual Studio Code có thể cài đặt được trên cả Windows, Linux và Mac OS và hỗ trợ nhiều ngôn ngữ.

Giao diện Visual Studio Code

Visual Studio Code có những điểm mạnh sau:

  • Đơn giản và hợp lý, giao diện đẹp mắt.
  • Là công cụ Cross – Platform đầu tiên trong bộ công cụ nổi tiếng Visual Studio. (hỗ trợ các hệ điều hành Windows, Mac OSX, Linux)
  • Tích hợp nhiều ngôn ngữ lập trình
  • Tích hơj trình quản lý package
  • Gợi ý code thông minh
  • Tự động tìm, sửa lỗi

PlatformIO là một package mà bạn có thể cài đặt trên Visual Studio Code. Bạn sẽ thấy thích dễ dàng và “chuyên nghiệp” hơn, khi sử dụng PlatformIO trên Visual Studio Code để lập trình cho ESP8266.

4. Cài đặt PlatformIO trên Visual Studio Code

1.Tải vềcài đặt Visual Studio trên trang chủ Microsoft

Hệ thống sẽ tự nhận diện và gợi ý bản phù hợp nhất với máy của bạn. Ấn vào nút tải về như trong hình. Trong quá trình cài đặt, bạn nên tích vào ô Add to Path (available after restart) để thuận tiện hơn khi phát triển sau này. Tham khảo hình dưới đây:

2. Nhấn vào nút Extensions ở thanh công cụ bên trái
3. Nhập platformio-ide vào ô tìm kiếm và ấn Install

Sau khi cài đặt xong, nút PlatfomIO Extension và nút PlatformIO Home sẽ xuất hiện như hình dưới đây. Đây là hai mục cần thiết khi khởi tạo project, biên dịch, nạp mạch…

Bài viết tiếp theo, mình sẽ hướng dẫn các bạn tạo project và lập trình đèn led nhấp nháy cho NodeUSB.

Để lại bình luận nếu bạn có thắc mắc về nội dung và cần hỗ trợ trong quá trình cài đặt.

Để lại comment ở phần bình luận nếu bạn có bất kì thắc mắc về nội dung hay cần hỗ trợ gỡ lỗi. Maker Việt Nam luôn sẵn sàng hỗ trợ. Mọi ý kiến đóng góp xin gửi về địa chỉ email editors@maker.com.vn

Leave a Reply

Your email address will not be published. Required fields are marked *