Satura rādītājs:

Arduino bibliotēkas izveide YouTube apskatei: 7 soļi
Arduino bibliotēkas izveide YouTube apskatei: 7 soļi

Video: Arduino bibliotēkas izveide YouTube apskatei: 7 soļi

Video: Arduino bibliotēkas izveide YouTube apskatei: 7 soļi
Video: Part 1: Software Build of LoRa Receiver and WiFi Webserver based on Arduino ESP32 (EP12) 2024, Novembris
Anonim
Image
Image
Kas ir bibliotēka?
Kas ir bibliotēka?

Sveiki visiem, Nesen esmu izveidojis pakalpojumu YouTube Sight, kas var iegūt abonentu datus no YouTube Analytics API un sniegt precīzāku abonentu skaitu, kopš YouTube sāka apkopot rezultātus. Ar to es esmu izveidojis skices paraugu, bet es arī gribēju izveidot Arduino bibliotēku, lai cilvēki to varētu vieglāk izmantot.

1. darbība: kas ir bibliotēka?

Kas ir bibliotēka?
Kas ir bibliotēka?

Bibliotēka ir koda fragments, kas var apstrādāt noteiktu darbību, apstrādāt datu veidu vai zināt, kā mijiedarboties ar noteiktu aparatūras elementu. Tie ļauj mums viegli paplašināt Arduino vidi, un daudzi no tiem ir iepriekš instalēti ar Arduino IDE.

Tādos gadījumos kā mans, kur mēs vēlamies pievienot jaunas iespējas Arduino, mēs varam izveidot savas bibliotēkas, lai citi cilvēki tās varētu izmantot. Visas instalētās bibliotēkas atrodas noteiktā mūsu datora mapē. Manā gadījumā ar Windows datoru bibliotēkas dzīvo zem mapes Dokumenti/Arduino. Pilns ceļš būs īpašs, pamatojoties uz jūsu lietotājvārdu.

2. darbība: bibliotēkas struktūra un faili

Bibliotēkas struktūra un faili
Bibliotēkas struktūra un faili

Lai sāktu veidot savu bibliotēku, mums vispirms šeit ir jāizveido mape ar tās nosaukumu, tāpēc esmu izveidojis mapi ar nosaukumu YouTube Sight. Bibliotēkas minimālajā versijā mums ir jābūt vismaz diviem failiem.

Pirmais ir tā saucamais “galvenes” fails, kurā ir visas mūsu bibliotēkas sniegto metožu un rekvizītu definīcijas, bet otrais ir avota fails, kurā būs viss avota kods.

Galvenes failu paplašinājums ir “.h”, bet avota faila paplašinājums ir “.cpp”, un tiem parasti ir bibliotēkas nosaukums kā faila nosaukums. Manā gadījumā abus failus sauc par “YouTubeSight.h” un “YouTubeSight.cpp”.

Bibliotēkas koda rakstīšanas process var būt nedaudz garlaicīgs un nomākts, it īpaši, ja rakstāt bibliotēku pirmo reizi, taču, veicot daudz izmēģinājumu un kļūdu, jūs varat sasniegt vēlamos rezultātus. Tāpēc es jūs iepazīstināšu ar abu failu gatavo kodu un to izskaidrošu.

Pilnu kodu un bibliotēku var lejupielādēt no GitHub, izmantojot šo saiti:

3. darbība: galvenes fails

Galvenes fails
Galvenes fails
Galvenes fails
Galvenes fails
Galvenes fails
Galvenes fails

Galvenes faila sākumā viss fails tiek iesaiņots paziņojumā “ifndef”, kas pārbauda, vai norādītais mainīgais ir definēts. Tas novērsīs kļūdas ikvienam, kas izmanto bibliotēku, ja to kļūdas dēļ tajā ir iekļauts divreiz.

Tālāk mums ir jāiekļauj Arduino bāzes bibliotēka, un, tā kā mēs strādāsim ar sava veida HTTP klientu, lai nosūtītu pieprasījumu pakalpojumam YouTube Sight, mēs iekļausim arī pamata klientu bibliotēku.

Pirms sākam rakstīt savas galvenās klases saturu, mums ir jādefinē visi statiskie mainīgie un iestatījumi, kurus mēs nevēlamies mainīt. Manā gadījumā ir divi šādi mainīgie. Pakalpojuma YouTube Sight galvenais URL un taimauta mainīgais, ko izmantosim, lai pārbaudītu, cik ilgi mēs lasām vērtību.

Arī šajā sadaļā mēs varam definēt visus pielāgotos veidus, kurus mēs vēlamies izmantot, piemēram, šo kanālu statistikas struktūru, kurā mēs saglabāsim rezultātus.

Klases struktūras definīcija ir sadalīta divās daļās. Pirmā daļa ir visu sabiedrisko funkciju un īpašumu definīcija, bet otrā - visu privāto funkciju un īpašumu definīcija. Atšķirība starp abiem ir tāda, ka mūsu bibliotēkas galalietotāji nevarēs tieši izmantot neko no privātās sadaļas, kamēr viņi varēs tieši modificēt un izmantot jebkuru no publiskās daļas īpašībām un funkcijām.

Publiskajā sadaļā mēs definējam klases konstruktoru, mainīgo channelStats, kurā mēs saglabāsim rezultātus, funkciju, kas iegūs datus, un atkļūdošanas rekvizītu, ko vēlāk varēsim izmantot, lai pārbaudītu gadījumus, kad, iespējams, nesaņemam gaidītos rezultātus.

Privātajiem īpašumiem mēs definēsim vienu kanāla GUID glabāšanai, rādītāju uz izmantoto HTTP klientu un funkciju, kas sadalīs atgriezto virkni no YouTube Sight.

4. solis: avota fails

Avota fails
Avota fails
Avota fails
Avota fails

Tagad apskatīsim visu faktisko ieviešanu avota failā.

Pirmais solis mums ir iekļaut mūsu tikko izveidoto galvenes failu, un tad mums ir jānosaka bibliotēkas konstruktors. Tajā mēs nododam divus mainīgos. GUID tiek saglabāts iepriekš definētajā privātajā mainīgajā, un klients tiek nodots ar atsauci, lai mēs pēc tam varētu izsaukt to pašu gadījumu, ko saņēmām.

Tālāk tiek definēta bibliotēkas galvenā funkcija getData, vispirms norādot atgriešanas veidu, kam seko bibliotēkas nosaukums un funkcijas nosaukums. Es neiedziļināšos detaļās par to, ko katra rinda veic šajā funkcijā, bet kopumā funkcija atver savienojumu ar YouTube Sight serveri, nosūta pieprasījumu iegūt statistiku un pēc tam parsē atgrieztos datus, izmantojot privātā getValue funkcija.

Iegūtie rezultāti pēc tam tiek iestatīti uz mainīgo channelStats un tiek atgriezts indikators, ja mums izdevās iegūt rezultātus vai nē, un līdz ar to mūsu bibliotēkas kodols ir pabeigts.

5. solis: skices paraugu sniegšana

Sketju piemēru sniegšana
Sketju piemēru sniegšana

Parasti jūs, katra bibliotēka, sniedzat piemērus, kurus varat ātri ielādēt un izmantot, lai parādītu, ko bibliotēka var un kā to darīt. Lai sniegtu šādus piemērus, mums ir jāmaina bibliotēkas struktūra, kur tagad galvene un avota fails atradīsies mapē “src”, un zem bibliotēkas saknes tiks pievienota jauna mape ar nosaukumu “piemēri”.

Jebkura Arduino skice, ko ievietojat šajā mapē, tiks pasniegta no Arduino IDE kā piemērs jūsu bibliotēkai, un cilvēki varēs to ātri izpētīt un uzzināt, kā bibliotēka darbojas.

6. darbība: publicēšana bibliotēkas pārvaldniekā

Publicēšana bibliotēkas pārvaldniekam
Publicēšana bibliotēkas pārvaldniekam

Lai izmantotu bibliotēku, cilvēkiem skicē vienkārši jāiekļauj jūsu bibliotēkas galvenes fails, un Arduino IDE to izveidos kopā ar to. Bet, lai to izdarītu, viņiem vispirms tas būs jāinstalē savās mašīnās.

Parasts veids ir lejupielādēt bibliotēku no GitHub un instalēt to, izmantojot ZIP instalētāju IDE, vai vienkārši ievietot to bibliotēku mapē, kā mēs to veidojām. Tomēr Arduino IDE ir arī rīks, ko sauc par bibliotēkas pārvaldnieku, kas ļauj meklēt bibliotēku tieši no IDE.

Lai tajā iekļautu jūsu bibliotēku, vispirms saknes mapē ir jāizveido papildu fails ar nosaukumu “library.properties”, un tajā jānorāda bibliotēkas nosaukums, pašreizējā versija un papildu informācija, kas palīdzēs bibliotēkas pārvaldniekam. lai parādītu labāku informāciju par to.

Kad fails ir ievietots, Arduino GitHub lapā ir jāizveido problēma, kas vienkārši lūdz jūsu bibliotēku iekļaut rādītājā ar saiti uz to, un, tiklīdz Arduino darbinieki to apstiprinās un pievienos, bibliotēkas vadītājs sāciet piedāvāt savu bibliotēku rezultātos. Turklāt pārvaldnieks nākotnē meklēs visus versijas tagus GitHub repo un piedāvās atjauninājumu cilvēkiem, kuri to izmanto, tiklīdz būs veiktas izmaiņas.

7. darbība. Nākamās darbības

Es ceru, ka pēc šīs pamācības jums ir labāka izpratne par to, kā darbojas Arduino bibliotēkas, kā jūs varat izveidot vienu, un pats galvenais - es ceru, ka jūs iedvesmosit, lai sāktu strādāt pie savas nākamās lielās idejas.

Ja rodas kādi papildu jautājumi vai ieteikumi, rakstiet komentāros, abonējiet manu YouTube kanālu un sekojiet man šeit vietnē Instructables.

Ieteicams: