Talaan ng mga Nilalaman:
- Hakbang 1: Ano ang isang Library?
- Hakbang 2: Istraktura ng Library at Mga File
- Hakbang 3: Ang Header File
- Hakbang 4: Ang Source File
- Hakbang 5: Pagbibigay ng Mga Halimbawa ng Sketch
- Hakbang 6: Pag-publish sa Library Manager
- Hakbang 7: Susunod na Mga Hakbang
Video: Paggawa ng Arduino Library para sa Paningin ng YouTube: 7 Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:12
Kumusta Lahat, Kamakailan-lamang na nagtayo ako ng isang serbisyong tinatawag na YouTube Sight na maaaring kumuha ng data ng mga subscriber mula sa YouTube Analytics API at bibigyan ka ng mas tumpak na bilang ng subscriber mula nang simulang ipagsama ng YouTube ang mga resulta. Sa pamamagitan nito, nakabuo ako ng isang halimbawa ng sketch ngunit nais ko ring gumawa ng isang library ng Arduino upang mas madaling gamitin ito ng mga tao.
Hakbang 1: Ano ang isang Library?
Ang isang library ay isang piraso ng code na maaaring hawakan ang isang tukoy na operasyon, maproseso ang isang uri ng data o maaaring malaman kung paano makipag-ugnay sa isang tukoy na elemento ng hardware. Pinapayagan nila kaming madaling mapalawak ang kapaligiran ng Arduino at maraming mga ito ay paunang naka-install sa Arduino IDE.
Sa mga kaso tulad ng sa akin, kung saan nais naming magdagdag ng mga bagong posibilidad sa Arduino, maaari kaming lumikha ng aming sariling mga silid-aklatan upang magamit ng ibang mga tao. Ang lahat ng mga naka-install na aklatan ay nakatira sa isang tukoy na folder sa aming computer. Sa aking kaso para sa Windows PC, nakatira ang mga aklatan sa ilalim ng folder ng Documents / Arduino. Ang buong landas ay magiging tukoy para sa iyo, batay sa iyong username.
Hakbang 2: Istraktura ng Library at Mga File
Upang simulang buuin ang aming silid-aklatan, kailangan muna naming lumikha ng isang folder dito na may pangalan nito upang lumikha ako ng isang folder na tinatawag na YouTube Sight. Sa hubad na minimum na bersyon ng library, dapat mayroon kaming hindi bababa sa dalawang mga file.
Ang una ay isang tinatawag na "header" na file na naglalaman ng lahat ng mga kahulugan ng mga pamamaraan at pag-aari na ibinibigay ng aming library, at ang pangalawa ay ang pinagmulang file na maglalaman ng lahat ng source code.
Ang mga file ng header ay may isang extension ng ".h" habang ang pinagmulang file ay may isang extension ng ".cpp" at karaniwang mayroon silang pangalan ng library bilang filename. Sa aking kaso, ang dalawang mga file ay tinatawag na "YouTubeSight.h" at "YouTubeSight.cpp".
Ang proseso ng pagsusulat ng code ng library ay maaaring maging medyo nakakapagod at nakakabigo, lalo na kapag nagsusulat ka ng isang aklatan sa unang pagkakataon, ngunit sa maraming pagsubok at error, makakamit mo ang nais na mga resulta. Dahil doon ay gagabay ako sa iyo sa pamamagitan ng natapos na code ng dalawang mga file at ipaliwanag ito.
Ang buong code at ang silid-aklatan ay magagamit para sa pag-download mula sa GitHub sa sumusunod na link:
Hakbang 3: Ang Header File
Sa loob ng file ng header, sa simula, ang buong file ay nakabalot sa loob ng isang pahayag na "ifndef" na suriin kung ang tinukoy na variable ay tinukoy o hindi. Pipigilan nito ang mga pagkakamali para sa sinumang gumagamit ng silid-aklatan kung isinasama nila ito nang dalawang beses sa parehong sketch nang hindi sinasadya.
Susunod, kailangan naming isama ang base library ng Arduino at dahil makikipagtulungan kami sa isang HTTP client ng ilang uri upang maipadala ang kahilingan sa YouTube Sight isasama rin namin ang base library ng Client.
Bago namin simulang isulat ang nilalaman ng aming pangunahing klase, kailangan naming tukuyin ang anumang mga static variable at setting na hindi namin nais na mabago. Sa aking kaso, mayroong dalawang ganoong mga variable. Ang pangunahing URL ng serbisyo sa YouTube Sight at ang variable ng timeout na gagamitin namin upang suriin kung gaano katagal kaming nagbasa ng isang halaga.
Sa seksyon din na ito, maaari naming tukuyin ang anumang mga pasadyang uri na nais naming gamitin tulad ng channel na ito istraktura ng Statistics na i-save namin ang mga resulta.
Ang kahulugan ng istraktura ng klase ay nahahati sa dalawang bahagi. Ang unang bahagi ay ang kahulugan ng lahat ng mga pampublikong pag-andar at pag-aari at ang pangalawa ay ang kahulugan ng lahat ng mga pribadong pag-andar at pag-aari. Ang pagkakaiba sa pagitan ng pareho ay ang mga end-user ng aming silid-aklatan ay hindi magagawang gumamit ng anuman mula sa pribadong seksyon nang direkta habang magagawa nilang direktang baguhin at magamit ang anuman sa mga pag-aari at pag-andar mula sa pampublikong bahagi.
Sa seksyon ng publiko, tinukoy namin ang tagabuo ng klase, ang variable ng channelStats kung saan maiimbak namin ang mga resulta, ang pagpapaandar na makakakuha ng data at isang pag-aari ng debug na maaari naming magamit sa paglaon upang suriin ang mga kaso kung saan maaaring hindi makuha ang inaasahang mga resulta.
Para sa mga pribadong pag-aari, tutukuyin namin ang isa para sa pagtatago ng GUID ng channel, isang pointer sa HTTP client na gagamitin namin at isang pagpapaandar na hahatiin ang naibalik na string mula sa YouTube Sight.
Hakbang 4: Ang Source File
Ngayon tingnan natin ang aktwal na pagpapatupad ng lahat ng ito sa loob ng file ng pinagmulan.
Ang unang hakbang para sa amin ay isama ang aming sariling file ng header na nilikha lamang namin at pagkatapos ay kailangan naming tukuyin ang tagapagbuo ng library. Dito, ipinapasa namin ang dalawang variable. Ang GUID ay nai-save sa pribadong variable na tinukoy namin nang mas maaga at ang Client ay naipasa sa pamamagitan ng sanggunian upang maaari naming tawagan ang parehong instance na nakuha namin.
Ang pangunahing pagpapaandar ng getData ng silid-aklatan ay tinukoy sa susunod sa pamamagitan ng unang pagtukoy sa uri ng pagbabalik, na sinusundan ng pangalan ng silid-aklatan at ang pangalan ng pag-andar. Hindi ko idedetalye ang ginagawa ng bawat solong linya sa pagpapaandar na ito, ngunit sa pangkalahatan, ang pagpapaandar ay magbubukas ng isang koneksyon sa YouTube Sight server, nagpapadala sa kahilingan upang makuha ang mga istatistika at pagkatapos ay i-parse ang naibalik na data sa tulong ng ang pribadong pagpapaandar ng getValue.
Ang mga nakuha na resulta ay itatakda sa variable ng channelStats at isang tagapagpahiwatig ay ibinalik kung nagtagumpay kaming makuha ang mga resulta o hindi at kasama na ang core ng aming library ay kumpleto.
Hakbang 5: Pagbibigay ng Mga Halimbawa ng Sketch
Karaniwan ikaw, ang bawat silid-aklatan ay nagbibigay ng mga halimbawa na mabilis mong mai-load at magamit upang maipakita kung ano ang maaaring gawin ng silid-aklatan at kung paano ito gawin. Upang makapagbigay ng mga nasabing halimbawa, kailangan naming baguhin ang istraktura ng library kung saan ang header at ang source file ay nasa isang folder na "src" at isang bagong folder ay idaragdag sa ilalim ng ugat ng library na tinatawag na "mga halimbawa".
Ang anumang sketch ng Arduino na inilagay mo sa loob ng folder na ito ay ihahatid mula sa Arduino IDE bilang isang halimbawa para sa iyong library at ang mga tao ay maaaring mabilis na tuklasin ito at malaman kung paano gumagana ang library.
Hakbang 6: Pag-publish sa Library Manager
Upang magamit ang silid-aklatan, kakailanganin lamang ng mga tao na isama ang header file ng iyong silid-aklatan sa kanilang sketch at ang Arduino IDE ay itatayo nito kasama nito. Ngunit upang magawa ito, kakailanganin muna nilang i-install ito sa kanilang mga machine.
Ang isang karaniwang paraan ay ang pag-download ng library mula sa GitHub at mai-install ito sa pamamagitan ng installer ng ZIP sa IDE o ilagay lamang ito sa loob ng folder ng mga aklatan tulad ng ginawa namin noong nilikha namin ito. Gayunpaman, nagsasama rin ang Arduino IDE ng isang tool, na tinatawag na Library Manager na nagbibigay-daan sa iyo upang maghanap para sa isang library nang direkta mula sa IDE.
Upang maisama ang iyong library dito, kailangan muna naming lumikha ng isang karagdagang file sa root folder na tinatawag na "library.properties" at dito, kailangan naming tukuyin ang pangalan ng library, ang kasalukuyang bersyon at ilang karagdagang impormasyon na makakatulong sa manager ng library upang maipakita ang mas mahusay na impormasyon tungkol dito.
Gamit ang file na nasa lugar, ang isang isyu ay kailangang likhain sa pahina ng Arduino GitHub na hinihiling lamang na isama ang iyong library sa index na may link dito at sa sandaling naaprubahan ito at idagdag ng kawani ng Arduino, gagawin ng manager ng Library ang simulang mag-alok ng iyong library sa mga resulta. Bilang karagdagan, hahanapin ng manager ang anumang mga tag ng bersyon sa repo ng GitHub sa hinaharap at mag-aalok ng isang pag-update sa mga taong gumagamit nito sa sandaling may mga pagbabago.
Hakbang 7: Susunod na Mga Hakbang
Inaasahan kong matapos ang Instructable na ito, mayroon kang mas mahusay na pag-unawa sa kung paano gumagana ang mga aklatan ng Arduino, kung paano ka makakalikha ng isa at pinakamahalaga, inaasahan kong magkaroon ka ng inspirasyon upang magsimulang magtrabaho sa iyong susunod na malaking ideya.
Para sa anumang karagdagang mga katanungan o mungkahi huwag mag-atubiling sumulat sa mga komento, mag-subscribe sa aking channel sa YouTube at sundin ako dito sa Mga Instructable.
Inirerekumendang:
ScanUp NFC Reader / manunulat at Audio Recorder para sa Bulag, May Kapansanan sa Paningin at Lahat ng Iba Pa: 4 na Hakbang (na may Mga Larawan)
ScanUp NFC Reader / manunulat at Audio Recorder para sa Bulag, May Kapansanan sa Paningin at Lahat ng Iba Pa: Nag-aaral ako ng pang-industriya na disenyo at ang proyekto ay gawa ng aking semester. Ang layunin ay upang suportahan ang mga may kapansanan sa paningin at bulag na mga tao sa isang aparato, na nagbibigay-daan upang mag-record ng audio sa format na.WAV sa isang SD card at tawagan ang impormasyong iyon sa pamamagitan ng isang NFC tag. Kaya sa
Sapatos ng Haptic para sa May Kapansanan sa Paningin: 12 Hakbang
Haptic Sapatos para sa May Kapansanan sa Biswal: Mayroong higit sa 37 milyong mga taong may kapansanan sa paningin sa buong mundo. Karamihan sa mga taong ito ay gumagamit ng isang tungkod, dumikit o umaasa sa ibang tao upang magbiyahe. Hindi lamang nito binabawasan ang kanilang pagtitiwala sa sarili, ngunit din sa ilang mga kaso napinsala nito ang kanilang sarili-
Pinahusay na Karanasan sa Bus para sa Mga taong may Kapansanan sa Paningin na May Arduino at 3D Pag-print: 7 Mga Hakbang
Pinahusay na Karanasan ng Bus para sa Mga taong may Kapansanan sa Biswal na May Arduino at 3D Pag-print: Paano mas madali ang pagbiyahe sa pampublikong transportasyon para sa mga taong may kapansanan sa paningin? Ang data ng real time sa mga serbisyo sa mapa ay madalas na hindi maaasahan habang nag-a-access ng pampublikong transportasyon. Maaari itong idagdag sa hamon ng pag-commute para sa mga indibidwal na may kapansanan sa paningin. T
Makitungo sa Eye Shield (para sa Pag-aangkop sa Paningin Kapag Gumising): 35 Hakbang
Pakitunguhan Ito Eye Shield (para sa Pag-aangkop sa Paningin Kapag Gumising): Pangunahing problema: Kapag nagising kami mula sa pagtulog at binuksan ng aming kaibigan ang ilaw sa silid, karamihan sa atin ay agad na nabulag ng mga ilaw dahil ang ating mga mata ay nangangailangan ng oras upang ayusin mula sa isang madilim na kapaligiran sa isang maliwanag. Ano ang gagawin natin kung nais nating malutas
Paggawa ng isang Bluetooth Adapter Pt.2 (Paggawa ng isang Katugmang Tagapagsalita): 16 Mga Hakbang
Paggawa ng isang Bluetooth Adapter Pt.2 (Paggawa ng isang Katugmang Tagapagsalita): Sa itinuturo na ito, ipapakita ko sa iyo kung paano gamitin ang aking Bluetooth Adapter upang gawing katugma ang isang lumang speaker na Bluetooth. * Kung hindi mo nabasa ang aking unang itinuro sa " Making isang Bluetooth Adapter " Iminumungkahi kong gawin mo ito bago magpatuloy.C