Trước khi đến với serie Học lập trình ESP32 từ A tới Z chúng ta cần cài đặt Platform IO, đây là một Extension của VS Code, cho phép chúng ta có thể lập trình nhiều dòng vi điều khiển khác nhau như Arduino, Esp8266, Esp32, STM32 …
Cài đặt Visual Studio Code (VS Code)
Truy cập link: https://code.visualstudio.com/
Download và Cài đặt như một software bình thường
Cài đặt Platform IO
Trước khi cài Extension này, chúng ta cần cài đặt Python cho máy tính đã.
Truy cập link: https://www.python.org/downloads/
Lưu ý: Hãy tích chọn Add Python 3.8 to PATH để có thể run Python ở bất cứ đâu
Sau đó mở VS code, chuyển đến tab Extension, trong ô tìm kiếm gõ Platformio IDE
Nhấn cài đặt, sau khi cài đặt xong sẽ hiển thị như hình
Restart lại VS code sau đó chờ cho tất cả các extension được load.
Lưu ý: máy tính bạn cần phải có mạng nhé
Cài đặt Driver nạp cho mạch
Tùy vào trường hợp mạch bạn sử dụng IC UART nào, chúng ta sẽ cài đặt driver cho chip đó:
Thường là 2 loại
- CP210x: Link download và cài đặt
- CH340: Link download và cài cặt
Hướng dẫn sử dụng Platform IO lập trình ESP32
Tạo một dự án lập trình ESP32 với Platform io
Chúng ta nhấn vào biểu tượng logo của Platform io, trong tab Quick Acccess nhấn Open. Vs code sẽ mở ra trang PIO Home.
Sau đó nhân vào New Project để tạo 1 dự án mới
Đặt tên dự án, Chọn KIT sử dụng, ở đây là board DOIT ESP32 DEV KIT (loại thường gặp nhất đó).
Chọn Framwork là Arduino
Bỏ tick Use Defaul Location, sau đó trỏ tới nơi bạn lưu project, nhấn Finish để hoàn thành.
Chờ 1 chốc lát để VS Code tạo dự án nhé
Giao diện lập trình của Platform IO
Sau khi project được tạo, giao diện như sau:
Gồm :
- Phần cây thư mục dự án: cho chúng ta thêm, sửa, xóa các file nhanh
- Phần Text editor: là nơi viết code
- Cửa sổ Terminal: Nơi gõ các câu lênh
- Thanh công cụ: Lần lượt là Home, Build, Upload code, Clean, Serial Monitor(màn hình serial), Terminal
Thư mục Src: Chứa Source code của chương trình, đây là nơi lưu trữ code và bạn sẽ code trên đó. File thực thi chính là: main.cpp
Trên thực tế, các bạn có thể Copy trực tiếp các đoạn code viết bằng Arduino IDE và Paste thẳng vào đây. Chỉ cần giữ #include <Arduino.h> là code cũng có thể chạy bình thường.
Thế nên các dự án mà bạn viết bằng Arduino cũng đều có thể viết bằng VS code nhé.
File platformio.ini là file cấu hình PlatformIO cho project của bạn. Nó hiển thị các thông tin như platform, board và framework được sử dụng. Bạn cũng có thể thêm các cấu hình khác như các thư viện được đưa vào, tùy chọn upload code, hay tốc độ truyền của Serial Monitor, đường dẫn thư viện và các cấu hình khác.
Thực tế các bạn nên để nguyên.
Nếu muốn thay đổi tốc độ baud của Serial Monitor có thể sử dụng lệnh: monitor_speed = 115200
Nếu muốn thêm đường dẫn của thư viện chúng ta dùng: lib_deps = E:/thuvien
Trong đó E:/thuvien là đường dẫn tới file thư viện bạn cài đặt
Cài đặt thư viện cho Platformio
Cách 1: Sử dụng công cụ Libraly trong Platformio
Làm theo quy trình dưới đây nếu bạn cần cài đặt thư viện trong PlatformIO IDE.
- Nhấp vào biểu tượng Home để chuyển đến Trang chủ PlatformIO. Nhấp vào biểu tượng Libraries trên thanh bên trái.
- Tìm kiếm thư viện bạn muốn cài đặt. Ví dụ Adafruit_BME280 .
Nhấp vào thư viện bạn muốn đưa vào dự án của mình. Sau đó, nhấp vào Add to Project.
Chọn dự án bạn muốn sử dụng thư viện.
Thao tác này sẽ thêm code định danh thư viện bằng cách sử dụng lid_depschỉ thị trên file platformio.ini . Nếu bạn mở file platformio.ini của dự án , nó sẽ trông nh thể hiện trong hình ảnh sau.
Ngoài ra, trên cửa sổ thư viện, nếu bạn chọn tab Installation và cuộn một chút, bạn sẽ thấy code định danh cho thư viện. Bạn có thể chọn bất kỳ số nhận dạng nào tùy thuộc vào tùy chọn bạn muốn sử dụng. Các mã nhận dạng thư viện được đánh dấu màu đỏ.
Cách 2: Sử dụng lệnh trên Terminal
Thực tế mình hay sử dụng cách này hơn, vì nó nhanh và tiện lợi và trông ngầu nữa 😀
Các bạn lên google gõ thư viện bạn cần add. Ví dụ: Con cảm biến siêu âm SRF05
Click vào link của platformio.org, sau đó copy câu lệnh
Trong vs code, mở terminal lên, và paste câu lệnh đó vào bằng phím tắt Shift+insert
Nhấn Enter để cài thư viện, sau khi cài xong, các bạn sẽ thấy thư viện sẽ tự có trên file platformio.ini, nếu không có các bạn dùng cú pháp lib_deps = sau đó copy đường dẫn hiển thị trong Terminal vào là OK
VD: lib_deps = E:\Hoc ESP32\Bai1\.pio\libdeps\esp32doit-devkit-v1
Build và Upload code cho ESP32 bằng Platform io
Mình sẽ chọn một example huyền thoại là Blink Led trên Arduino IDE, copy đoạn code đó, sau đó paste vào VS code
Nhớ giữ lại #include <Arduino.h> nhé!
Sau đó nhấn Build để biên dịch chương trình, Khi terminal báo Success là ok. Nếu chương trình có lỗi, hãy chuển tab Problems để view lỗi nhé!
Cắm mạch vào và nhấn Upload, nếu đến đoạn connecting mà vscode ko tìm thấy esp, các bạn nhấn nút BOOT trên mạch giữ 1 chút rồi nhả ra nhé. Để ESP vào chế độ Nạp.
Sau khi nạp xong, thì xem thành quả thôi!!!
KẾT
Sau bài này mình hi vọng các bạn đã biết sử dụng Platform io để bắt đầu thực hành các bài hướng dẫn lập trình ESP32 của mình. Đừng quên chia sẻ nếu bạn thấy bài viết này có ích và tham gia Nhóm Anh Em Nghiện Lập Trình để có thể kết nối với những người khác nhé
Cho mình hỏi là platform IO có chạy được thư viện esp-idf không?
Đc bạn nhé!
Cho em hỏi là module NodeMCU ESP 32S thì chỗ board mình chọn là NodeMCU-32s luôn đúng k ạ
em cài xong platform mà nó ko có logo Platform cũng như PIO của nó thì xử lý sao ạ
Thường là do mạng, e thử chạy mạng khác hoặc bật 3G lên xem
Chào Ad. Mình mới bắt đầu làm quen với ESP32. Tài liệu có nói ESP32 có thể có 2 giao tiếp I2C. mặc định là 2 chân GPIO21 và GPIO22. Nếu muốn sử dụng 2 chân khác thí dụ GPIO32 và GPIO33 thì làm cách nào? Giả sử như đang kết nối ESP32 với RTC DS1307. Cám ơn Ad những những kiến thức đã chia sẻ.