PlatformIO là gì? Ứng dụng lập trình Arduino với PlatformIO IDE như thế nào? PlatformIO IDE có ưu điểm gì hơn so với Arduino IDE? Câu trả lời sẽ có qua bài viết này.
Trong quá trình tìm hiểu và lập trình cho Arduino, các bạn đã quá quen thuộc với Arduino IDE phải không nào? Arduino IDE là mã nguồn mở, miễn phí, dễ sử dụng với nhiều tính năng như viết, biên dịch và nạp chương trình cho board Arduino. Nó dựa trên Java và chạy trên hệ điều hành chính như Windows, OS X và Linux. Mặc dù được sử dụng khá phổ biến và cộng đồng rộng lớn, phần mềm này không có một số tính năng mà một nhà phát triển có kinh nghiệm đòi hỏi để viết chương trình nhanh và làm giảm thời gian phát triển dự án. Hiện nay, có rất nhiều môi trường phát triển có sẵn cho Arduino, nhưng tất cả đều có một số ưu và nhược điểm.
Hôm nay, chúng ta sẽ tìm hiểu môi trường phát triển PlatformIO, công cụ này rất dễ sử dụng và có thêm các tính năng so với môi trường Arduino IDE. Sau khi đọc xong bài viết này, bạn sẽ biết cách lập trình Arduino với PlatformIO. Let’s go!
PlatformIO là gì?
PlatformIO là một hệ sinh thái mã nguồn mở được viết trên Python để phát triển IoT và là một IDE đa nền tảng với trình gỡ lỗi hợp nhất chạy trên Windows, Mac và Linux.
PlatformIO đi kèm với trình quản lý thư viện cho các nền tảng như Arduino hay MBED cùng với kiểm thử phần mềm và cập nhật firmware.
PlatformIO hỗ trợ một số platform, framework, board như Arduino, ESP32, ESP8266 và đi kèm với một số ví dụ và thư viện. Nó độc lập với nền tảng mà nó đang chạy và chỉ yêu cầu Python được cài đặt trên máy tính.
Những ưu điểm của PlatformIO
PlatformIO giúp người dùng viết chương trình nhanh chóng với các tính năng như hoàn tất code C/C ++ và công cụ viết hỗ trợ viết code thông minh Linter để phát triển dự án chuyên nghiệp và nhanh chóng. Các tính năng này vốn không có trong Arduino IDE. Ngoài ra, PlatformIO cung cấp các theme với các màu tối và sáng để thay đổi bất cứ lúc nào. Nó cũng đi kèm với điều hướng code thông minh và định dạng code. Các tính năng cốt lõi bao gồm hệ thống xây dựng đa nền tảng, trình quản lý thư viện, theo dõi cổng nối tiếp, v.v.
Trình gỡ lỗi hợp nhất với sự hỗ trợ cho nhiều kiến trúc và nền tảng phát triển cho phép gỡ lỗi nhiều board nhúng với Zero-Configuration. Trình gỡ lỗi hợp nhất PlatformIO có các tính năng như điểm ngắt có điều kiện (Conditional Breakpoint), biểu thức (Expression) và điểm theo dõi (Watchpoint), trình xem bộ nhớ (Memory Viewer), khởi động lại nóng phiên gỡ lỗi đang hoạt động.
PlatformIO Core được viết bằng Python 3.6 (tại thời điểm viết bài này) và hoạt động trên Windows, macOS, Linux, FreeBSD và thậm chí cả các máy tính có kích thước nhỏ dựa trên ARM như Raspberry Pi, BeagleBone, CubieBoard, Samsung ARTIK, v.v. Ngoài ra, PlatformIO còn có File Explorer giúp tổ chức các tập tin khi dự án phát triển đến một mức nhất định và việc tổ chức trở nên cần thiết.
Cài đặt PlatformIO trên Visual Studio Code
Chúng ta bắt đầu cài đặt PlatformIO trên Visual Studio Code để có thể viết chương trình và nạp cho Arduino UNO theo các bước hướng dẫn sau đây.
Bước 1: Cài đặt Visual Studio Code
Các bước cài đặt Visual Studio Code (VS Code) sẽ không được trình bày ở đây nhưng bạn có thể download và dễ dàng cài đặt phần mềm vào máy tính của mình tại website này. Nói chung, các bước cài đặt giống như bất kỳ phần mềm nào khác trên hệ điều hành Window.
Sau khi cài đặt thành công, Visual Studio Code có giao diện như sau.
Bước 2: Cài đặt PlatformIO trên Visual Studio Code
Ở bước này bạn sẽ cài đặt PlatformIO IDE trên VS Code. Để thực hiện điều này, bạn nhấp vào biểu tượng Extensions ở góc trên bên trái của VS Code như hình bên dưới.
Khi nhấp vào đó thì một hộp tìm kiếm sẽ xuất hiện ngay bên trên, tại đây bạn có thể tìm thấy nhiều tiện ích mở rộng cho các ngôn ngữ lập trình khác nhau như C/C ++, C#, Python, PHP, Go, JavaScript, TypeScript và Node.js, v.v..
Bạn nhập “PlatformIO” vào ô tìm kiếm tiện ích mở rộng và bạn sẽ thấy biểu tượng của PlatformIO với tên và phần mô tả. Bạn nhấp chọn PlatformIO IDE, sau đó chọn Install để cài đặt. Có thể mất một chút thời gian để cài đặt các công cụ và các thành phần phụ trợ khác. Các thành phần hỗ trợ bao gồm môi trường C/C++ vì việc phát triển Arduino chủ yếu được thực hiện trên C/C++.
Khi việc cài đặt được hoàn tất, bạn sẽ thấy giao diện như hình bên dưới. Giao diện bao gồm tất cả các điều hướng cần thiết như tạo project mới, import project Arduino, mở project, các project ví dụ, v.v.. Bạn nên khởi động lại VS Code sau khi cài đặt xong PlatformIO.
Như vậy chúng ta đã kết thúc các bước cài đặt PlatformIO IDE và sẵn sàng sử dụng. Bây giờ, chúng ta sẽ bắt đầu lập trình Arduino với PlatformIO qua chương trình mẫu đơn giản có sẵn trong Arduino IDE là Blink.
Lập trình Arduino với PlatformIO IDE
Các bạn hãy làm theo các bước hướng dẫn dưới đây để tạo một dự án mới cho đèn LED nhấp nháy.
1. Nhấp vào nút “PlatformIO Home” trên thanh công cụ PlatformIO.
2. Nhấp vào “New Project”, để tạo một dự án (project) mới.
3. Bạn đặt tên cho dự án, ví dụ ở đây tôi đặt tên cho project là LED_Blink, sau đó bạn tìm kiếm và chọn board Arduino UNO. Sau khi điền tất cả các chi tiết như hình bên dưới, bạn nhấp vào Finish.
4. Project sẽ bắt đầu được tạo bằng cách thu thập tài nguyên và các thành phần hỗ trợ khác.
5. Khi dự án được tạo thành công, bạn mở file main.cpp từ thư mục src, bạn sẽ thấy một màn hình lập trình như hình dưới đây.
6. Bạn sao chép chương trình chớp tắt LED dưới đây vào cửa số lập trình như hình bên dưới. Lưu ý rằng, PlatformIO không có quyền truy cập mặc định vào các thư viện Arduino, vì vậy mỗi khi bạn viết code cho Arduino, hãy luôn khai báo thư viện Arduino, tức là phải có dòng lệnh “#include <Arduino.h>” ở đầu chương trình.
void setup() {
// initialize digital pin LED_BUILTIN as an output.
pinMode(LED_BUILTIN, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}
7. Bạn cắm board Arduino vào cổng USB trên máy tính của mình.
8. Cuối cùng, bạn tiến hành biên dịch và nạp chương trình cho Arduino bằng cách nhấp vào các nút nhấn “Build” và “Upload” tương ứng trên thanh công cụ.
Khi quá trình nạp chương trình hoàn tất, bạn sẽ thấy một cửa sổ thông báo cho biết chương trình đã được nạp thành công và bạn sẽ thấy đèn LED nhấp nháy trên board Arduino của mình. Nếu chương trình báo lỗi, bạn chọn tab Problems để xem và sửa lỗi nhé!
Lời kết
PlatformIO IDE là một công cụ lập trình mạnh mẽ với nhiều ưu điểm nổi bật và tiện ích hữu dụng. Chúng ta hoàn toàn có thể thay thế Arduino IDE bằng PlatformIO để lập trình cho nhiều họ vi điều khiển hoặc phát triển các dự án IoT.