Mục lục:

Tạo thư viện Arduino cho YouTube Sight: 7 bước
Tạo thư viện Arduino cho YouTube Sight: 7 bước

Video: Tạo thư viện Arduino cho YouTube Sight: 7 bước

Video: Tạo thư viện Arduino cho YouTube Sight: 7 bước
Video: Arduino | Cách thêm THƯ VIỆN vào Arduino 2024, Tháng mười một
Anonim
Image
Image
Thư viện là gì?
Thư viện là gì?

Chào mọi người, Gần đây, tôi đã xây dựng một dịch vụ có tên YouTube Sight có thể trích xuất dữ liệu người đăng ký từ API YouTube Analytics và cung cấp cho bạn số lượng người đăng ký chính xác hơn kể từ khi YouTube bắt đầu tổng hợp kết quả. Với nó, tôi đã xây dựng một bản phác thảo ví dụ nhưng tôi cũng muốn tạo một thư viện Arduino để mọi người có thể dễ dàng sử dụng nó hơn.

Bước 1: Thư viện là gì?

Thư viện là gì?
Thư viện là gì?

Thư viện là một đoạn mã có thể xử lý một hoạt động cụ thể, xử lý một loại dữ liệu hoặc có thể biết cách tương tác với một phần tử phần cứng cụ thể. Chúng cho phép chúng tôi dễ dàng mở rộng môi trường Arduino và có rất nhiều trong số chúng được cài đặt sẵn Arduino IDE.

Trong trường hợp như của tôi, khi chúng tôi muốn thêm các khả năng mới cho Arduino, chúng tôi có thể tạo thư viện của riêng mình cho người khác sử dụng chúng. Tất cả các thư viện đã cài đặt nằm trong một thư mục cụ thể trên máy tính của chúng tôi. Trong trường hợp của tôi đối với PC Windows, các thư viện nằm trong thư mục Documents / Arduino. Đường dẫn đầy đủ sẽ dành riêng cho bạn, dựa trên tên người dùng của bạn.

Bước 2: Cấu trúc thư viện và tệp

Cấu trúc thư viện và tệp
Cấu trúc thư viện và tệp

Để bắt đầu xây dựng thư viện của mình, trước tiên chúng ta cần tạo một thư mục ở đây với tên của nó, vì vậy tôi đã tạo một thư mục có tên là YouTube Sight. Trong phiên bản thư viện tối thiểu nhất, chúng ta phải có ít nhất hai tệp.

Cái đầu tiên là một tệp được gọi là "tiêu đề" chứa tất cả các định nghĩa của các phương thức và thuộc tính mà thư viện của chúng tôi cung cấp và cái thứ hai là tệp nguồn sẽ chứa tất cả mã nguồn.

Các tệp tiêu đề có phần mở rộng là “.h” trong khi tệp nguồn có phần mở rộng là “.cpp” và chúng thường có tên của thư viện làm tên tệp. Trong trường hợp của tôi, hai tệp được gọi là “YouTubeSight.h” và “YouTubeSight.cpp”.

Quá trình viết mã thư viện có thể hơi tẻ nhạt và khó chịu, đặc biệt là khi bạn viết thư viện lần đầu tiên, nhưng với rất nhiều lần thử và sai, bạn có thể đạt được kết quả mong muốn. Vì vậy, tôi sẽ hướng dẫn bạn thông qua mã hoàn thành của hai tệp và giải thích nó.

Mã đầy đủ và thư viện có sẵn để tải xuống từ GitHub theo liên kết sau:

Bước 3: Tệp tiêu đề

Tệp tiêu đề
Tệp tiêu đề
Tệp tiêu đề
Tệp tiêu đề
Tệp tiêu đề
Tệp tiêu đề

Ban đầu, bên trong tệp tiêu đề, toàn bộ tệp được bao bọc bên trong một câu lệnh “ifndef” để kiểm tra xem biến được chỉ định có được xác định hay không. Điều này sẽ ngăn ngừa lỗi cho bất kỳ ai sử dụng thư viện nếu họ nhầm lẫn bao gồm nó hai lần trong cùng một bản phác thảo.

Tiếp theo, chúng tôi cần bao gồm thư viện Arduino cơ sở và vì chúng tôi sẽ làm việc với một ứng dụng khách HTTP nào đó để gửi yêu cầu đến YouTube Sight, nên chúng tôi cũng sẽ bao gồm thư viện Ứng dụng khách cơ sở.

Trước khi bắt đầu viết nội dung của lớp chính, chúng ta cần xác định bất kỳ biến và cài đặt tĩnh nào mà chúng ta không muốn sửa đổi. Trong trường hợp của tôi, có hai biến như vậy. URL chính của dịch vụ YouTube Sight và biến thời gian chờ mà chúng tôi sẽ sử dụng để kiểm tra thời gian chúng tôi đọc một giá trị.

Cũng trong phần này, chúng ta có thể xác định bất kỳ kiểu tùy chỉnh nào mà chúng ta muốn sử dụng như cấu trúc channelSt Statistics này mà chúng ta sẽ lưu kết quả vào.

Định nghĩa cấu trúc lớp được chia thành hai phần. Phần đầu tiên là định nghĩa của tất cả các chức năng và thuộc tính public và phần thứ hai là định nghĩa của tất cả các chức năng và thuộc tính private. Sự khác biệt giữa cả hai là người dùng cuối của thư viện của chúng tôi sẽ không thể sử dụng trực tiếp bất kỳ thứ gì từ phần riêng tư trong khi họ có thể trực tiếp sửa đổi và sử dụng bất kỳ thuộc tính và chức năng nào từ phần công khai.

Trong phần public, chúng tôi xác định hàm tạo lớp, biến channelStats nơi chúng tôi sẽ lưu trữ kết quả, hàm sẽ lấy dữ liệu và thuộc tính gỡ lỗi mà sau này chúng tôi có thể sử dụng để kiểm tra các trường hợp mà chúng tôi có thể không nhận được kết quả như mong đợi.

Đối với các thuộc tính riêng tư, chúng tôi sẽ xác định một thuộc tính để lưu trữ GUID kênh, một con trỏ tới ứng dụng khách HTTP mà chúng tôi sẽ sử dụng và một chức năng sẽ tách chuỗi trả về khỏi YouTube Sight.

Bước 4: Tệp nguồn

Tệp nguồn
Tệp nguồn
Tệp nguồn
Tệp nguồn

Bây giờ chúng ta hãy xem xét việc triển khai thực tế của tất cả những điều này bên trong tệp nguồn.

Bước đầu tiên đối với chúng tôi là bao gồm tệp tiêu đề của riêng chúng tôi mà chúng tôi vừa tạo và sau đó chúng tôi cần xác định phương thức khởi tạo thư viện. Trong đó, chúng tôi truyền hai biến. GUID được lưu vào biến private mà chúng ta đã xác định trước đó và Client được chuyển qua tham chiếu để sau đó chúng ta có thể gọi cùng một phiên bản mà chúng ta đã nhận.

Hàm getData chính của thư viện được xác định tiếp theo bằng cách chỉ định kiểu trả về trước tiên, tiếp theo là tên thư viện và tên hàm. Tôi sẽ không đi vào chi tiết những gì từng dòng đơn lẻ thực hiện trong chức năng này, nhưng nói chung, chức năng mở ra một kết nối với máy chủ YouTube Sight, gửi yêu cầu lấy số liệu thống kê và sau đó phân tích dữ liệu trả về với sự trợ giúp của hàm getValue riêng tư.

Các kết quả được truy xuất sau đó được đặt thành biến channelStats và một chỉ báo được trả về nếu chúng tôi có thành công để truy xuất kết quả hay không và cùng với đó là phần lõi của thư viện của chúng tôi đã hoàn thành.

Bước 5: Cung cấp bản phác thảo mẫu

Cung cấp bản phác thảo mẫu
Cung cấp bản phác thảo mẫu

Thông thường, mọi thư viện đều cung cấp các ví dụ mà bạn có thể nhanh chóng tải lên và sử dụng để giới thiệu những gì thư viện có thể làm và cách thực hiện. Để cung cấp các ví dụ như vậy, chúng ta cần sửa đổi cấu trúc thư viện mà bây giờ tiêu đề và tệp nguồn sẽ nằm trong thư mục “src” và một thư mục mới sẽ được thêm vào trong thư viện gốc được gọi là “example”.

Bất kỳ bản phác thảo Arduino nào mà bạn đặt bên trong thư mục này sẽ được cung cấp từ Arduino IDE làm ví dụ cho thư viện của bạn và mọi người có thể nhanh chóng khám phá nó và tìm hiểu cách hoạt động của thư viện.

Bước 6: Xuất bản cho Người quản lý Thư viện

Xuất bản cho Người quản lý Thư viện
Xuất bản cho Người quản lý Thư viện

Để sử dụng thư viện, mọi người sẽ chỉ cần đưa tệp tiêu đề của thư viện của bạn vào bản phác thảo của họ và Arduino IDE sẽ xây dựng nó cùng với nó. Nhưng để làm như vậy, trước tiên họ cần phải cài đặt nó trên máy của họ.

Một cách phổ biến là tải xuống thư viện từ GitHub và cài đặt nó thông qua trình cài đặt ZIP trong IDE hoặc chỉ cần đặt nó vào bên trong thư mục thư viện như chúng ta đã làm khi tạo. Tuy nhiên, Arduino IDE cũng bao gồm một công cụ, được gọi là Trình quản lý thư viện cho phép bạn tìm kiếm thư viện trực tiếp từ IDE.

Để đưa thư viện của bạn vào đó, trước tiên chúng tôi cần tạo một tệp bổ sung trong thư mục gốc có tên “library.properties” và trong đó, chúng tôi cần chỉ định tên thư viện, phiên bản hiện tại và một số thông tin bổ sung sẽ giúp người quản lý thư viện để hiển thị thông tin tốt hơn về nó.

Với tệp đã có sẵn, một vấn đề cần được tạo trên trang Arduino GitHub chỉ cần yêu cầu đưa thư viện của bạn vào chỉ mục với liên kết đến nó và sau khi được nhân viên Arduino phê duyệt và thêm vào, người quản lý Thư viện sẽ bắt đầu cung cấp thư viện của bạn trong kết quả. Ngoài ra, người quản lý sẽ tìm kiếm bất kỳ thẻ phiên bản nào trong repo GitHub trong tương lai và cung cấp bản cập nhật cho những người sử dụng nó khi có thay đổi.

Bước 7: Các bước tiếp theo

Tôi hy vọng rằng sau Bài hướng dẫn này, bạn đã hiểu rõ hơn về cách thức hoạt động của các thư viện Arduino, cách bạn có thể tạo một thư viện và quan trọng nhất, tôi hy vọng rằng bạn sẽ có cảm hứng để bắt đầu thực hiện ý tưởng lớn tiếp theo của mình.

Đối với bất kỳ câu hỏi hoặc đề xuất bổ sung nào, vui lòng viết ra trong phần nhận xét, đăng ký kênh YouTube của tôi và theo dõi tôi tại đây trên Bảng hướng dẫn.

Đề xuất: