YouTube Sight üçün Arduino Kitabxanası hazırlamaq: 7 addım
YouTube Sight üçün Arduino Kitabxanası hazırlamaq: 7 addım
Anonim
Image
Image
Kitabxana nədir?
Kitabxana nədir?

Hər kəsə salam, Bu yaxınlarda, YouTube Analytics API -dən abunəçilərin məlumatlarını çıxara bilən və YouTube -un nəticələri toplamağa başladığı vaxtdan etibarən sizə daha dəqiq abunəçi sayı verən YouTube Sight adlı bir xidmət qurdum. Bununla birlikdə bir nümunə eskiz hazırladım, amma insanların daha asan istifadə edə bilməsi üçün bir Arduino kitabxanası etmək istədim.

Addım 1: Kitabxana nədir?

Kitabxana nədir?
Kitabxana nədir?

Kitabxana, müəyyən bir əməliyyatı idarə edə bilən, bir növ məlumatı emal edə bilən və ya müəyyən bir hardware elementi ilə necə qarşılıqlı əlaqə qurmağı bilən bir kod parçasıdır. Arduino mühitini asanlıqla uzatmağımıza imkan verir və Arduino IDE ilə əvvəlcədən quraşdırılmış bir çoxu var.

Arduinoya yeni imkanlar əlavə etmək istədiyim mənim kimi hallarda, digər insanların istifadə etməsi üçün öz kitabxanalarımızı yarada bilərik. Bütün quraşdırılmış kitabxanalar kompüterimizin müəyyən bir qovluğunda yaşayır. Windows PC üçün mənim vəziyyətimdə kitabxanalar Documents/Arduino qovluğunda yaşayır. Tam yol istifadəçi adınıza əsasən sizin üçün xüsusi olacaq.

Addım 2: Kitabxana quruluşu və faylları

Kitabxana quruluşu və faylları
Kitabxana quruluşu və faylları

Kitabxanamızı qurmağa başlamaq üçün əvvəlcə burada adı olan bir qovluq yaratmalıyıq, buna görə YouTube Sight adlı bir qovluq yaratdım. Kitabxananın minimum minimum versiyasında ən azı iki faylımız olmalıdır.

Birincisi, kitabxanamızın təqdim etdiyi metod və xüsusiyyətlərin bütün təriflərini özündə ehtiva edən "başlıq" adlı bir fayl, ikincisi isə bütün mənbə kodunu ehtiva edən mənbə faylıdır.

Başlıq sənədlərində ".h" uzantısı var, mənbə faylında ".cpp" uzantısı var və ümumiyyətlə fayl adı olaraq kitabxananın adına sahibdirlər. Mənim vəziyyətimdə, iki fayl "YouTubeSight.h" və "YouTubeSight.cpp" adlanır.

Kitabxana kodunun yazılması prosesi, xüsusən də ilk dəfə bir kitabxana yazarkən bir az yorucu və sinir bozucu ola bilər, ancaq bir çox sınaq və səhvlə istədiyiniz nəticəni əldə edə bilərsiniz. Buna görə sizə iki faylın bitmiş kodunu göstərəcəyəm və izah edəcəyəm.

Tam kod və kitabxana aşağıdakı linkdən GitHub-dan yüklənə bilər:

Addım 3: Başlıq Dosyası

Başlıq faylı
Başlıq faylı
Başlıq faylı
Başlıq faylı
Başlıq faylı
Başlıq faylı

Başlıq sənədinin içərisində, başlanğıcda, bütün fayl, göstərilən dəyişənin müəyyən olub olmadığını yoxlayan "ifndef" ifadəsinə bükülür. Bu, kitabxananı səhvən eyni eskizə iki dəfə daxil etsələr, səhv edənlərin qarşısını alacaqdır.

Bundan sonra, əsas Arduino kitabxanasını daxil etməliyik və YouTube Sight -a sorğu göndərmək üçün bir növ HTTP müştəri ilə işləyəcəyimiz üçün əsas Müştəri kitabxanasını da daxil edəcəyik.

Əsas sinifimizin məzmununu yazmağa başlamazdan əvvəl, dəyişdirilməsini istəmədiyimiz statik dəyişənləri və parametrləri təyin etməliyik. Mənim vəziyyətimdə iki belə dəyişən var. YouTube Görmə xidmətinin əsas URL -si və bir dəyəri nə qədər oxuduğumuzu yoxlamaq üçün istifadə edəcəyimiz zaman aşımı dəyişəni.

Həm də bu bölmədə, nəticələri saxlayacağımız bu kanal statistikası quruluşu kimi istifadə etmək istədiyimiz xüsusi növləri təyin edə bilərik.

Sinif quruluşu iki hissəyə bölünür. Birinci hissə bütün ictimai funksiyaların və xüsusiyyətlərin, ikincisi isə bütün xüsusi funksiyaların və xüsusiyyətlərin tərifidir. Hər ikisinin fərqi, kitabxanamızın son istifadəçilərinin şəxsi hissədən heç bir şeyi birbaşa istifadə edə bilməyəcəkləri halda, ictimai hissədən hər hansı bir xüsusiyyət və funksiyanı birbaşa dəyişdirə və istifadə edə biləcəklər.

İctimai bölmədə, nəticələr saxlayacağımız sinif qurucusu, channelStats dəyişənini, məlumatları alacaq funksiyanı və daha sonra gözlənilən nəticələri ala bilməyəcəyimiz halları yoxlamaq üçün istifadə edə biləcəyimiz bir ayıklama xüsusiyyətini təyin edirik.

Şəxsi xüsusiyyətlər üçün, kanal GUID -in saxlanılması üçün istifadə edəcəyimiz HTTP müştərisinin göstəricisi və qaytarılmış sətri YouTube Sight -dan ayıran bir funksiya təyin edəcəyik.

Addım 4: Mənbə Fayl

Mənbə Fayl
Mənbə Fayl
Mənbə Fayl
Mənbə Fayl

İndi bütün bunların mənbə faylının həqiqi tətbiqinə baxaq.

Bizim üçün ilk addım, yeni yaratdığımız başlıq faylını daxil etməkdir və sonra kitabxana qurucusunu təyin etməliyik. Bunun içərisində iki dəyişəndən keçirik. GUID, əvvəllər təyin etdiyimiz xüsusi dəyişənə daxil edilir və Müştəri istinadla ötürülür, beləliklə əldə etdiyimiz nümunəni çağıra bilərik.

Kitabxananın əsas getData funksiyası əvvəlcə geri qaytarma növünü, sonra kitabxana adını və funksiya adını təyin etməklə təyin olunur. Bu funksiyada hər bir xəttin nə etdiyini ətraflı izah etməyəcəyəm, amma ümumiyyətlə, funksiya YouTube Sight serverinə bir əlaqə açır, statistikanı əldə etmək üçün sorğu göndərir və sonra geri qaytarılmış məlumatları köməyi ilə təhlil edir. xüsusi getValue funksiyası.

Alınan nəticələr sonra channelStats dəyişəninə təyin edilir və nəticələri əldə edə bilsək və ya əldə edə bilməsək və kitabxanamızın nüvəsi tamamlanarsa bir göstərici qaytarılır.

Addım 5: Nümunə eskizlərin verilməsi

Nümunə Eskizlər Verilməsi
Nümunə Eskizlər Verilməsi

Adətən, hər kitabxana kitabxananın nə edə biləcəyini və necə edəcəyini göstərmək üçün tez yükləyə və istifadə edə biləcəyiniz nümunələr təqdim edir. Bu cür nümunələri təmin etmək üçün kitabxana quruluşunu dəyişdirməliyik ki, indi başlıq və mənbə faylı "src" qovluğunda olacaq və kitabxana kökü altına "nümunələr" adlı yeni qovluq əlavə olunacaq.

Bu qovluğa yerləşdirdiyiniz hər hansı bir Arduino eskizi kitabxananıza nümunə olaraq Arduino IDE -dən təqdim ediləcək və insanlar onu tez araşdırıb kitabxananın necə işlədiyini öyrənə bilərlər.

Addım 6: Kitabxana Menecerinə nəşr edin

Kitabxana müdirinə nəşr olunur
Kitabxana müdirinə nəşr olunur

Kitabxanadan istifadə etmək üçün insanların kitabxananızın başlıq sənədini eskizinə daxil etməsi lazım olacaq və Arduino IDE də onunla birlikdə quracaq. Ancaq bunu etmək üçün əvvəlcə maşınlarına quraşdırmalıdırlar.

Ümumi bir yol, kitabxananı GitHub -dan yükləmək və IDE -də ZIP yükləyicisi vasitəsi ilə qurmaq və ya onu yaratdığımız kimi kitabxanalar qovluğuna yerləşdirməkdir. Bununla birlikdə, Arduino IDE, kitabxananı birbaşa IDE -dən axtarmağa imkan verən Kitabxana Meneceri adlı bir vasitəyə də malikdir.

Kitabxananızı daxil etmək üçün əvvəlcə "library.properties" adlı kök qovluqda əlavə bir fayl yaratmalıyıq və kitabxana rəhbərinə kömək edəcək kitabxana adını, cari versiyasını və bəzi əlavə məlumatları göstərməliyik. haqqında daha yaxşı məlumat göstərmək üçün.

Arduino GitHub səhifəsində sənədin olduğu yerdə bir problem yaradılmalıdır ki, bu da kitabxananızın linki ilə birlikdə indeksə daxil edilməsini xahiş edir və Arduino heyəti tərəfindən təsdiqlənib əlavə edildikdən sonra Kitabxana müdiri Nəticələrdə kitabxananızı təqdim etməyə başlayın. Bundan əlavə, menecer gələcəkdə GitHub repo -da hər hansı bir versiya etiketini axtaracaq və dəyişikliklər edildikdən sonra istifadə edən insanlara bir yeniləmə təqdim edəcək.

Addım 7: Növbəti addımlar

Ümid edirəm ki, bu Təlimatlandırmadan sonra Arduino kitabxanalarının necə işlədiyini, birini necə yarada biləcəyinizi daha yaxşı başa düşürsünüz və ən əsası, ümid edirəm ki, növbəti böyük ideyanız üzərində işə başlamaq üçün ilham alacaqsınız.

Əlavə suallarınız və ya təklifləriniz üçün şərhlərdə yazmaqdan çəkinməyin, YouTube kanalıma abunə olun və Təlimatlarda məni burda izləyin.