Mundarija:

YouTube ko'rish uchun Arduino kutubxonasini yaratish: 7 qadam
YouTube ko'rish uchun Arduino kutubxonasini yaratish: 7 qadam

Video: YouTube ko'rish uchun Arduino kutubxonasini yaratish: 7 qadam

Video: YouTube ko'rish uchun Arduino kutubxonasini yaratish: 7 qadam
Video: Использование модуля контроллера двигателя BTS7960 BTN8982TA PWM H Bridge с библиотекой Arduino. 2024, Noyabr
Anonim
Image
Image
Kutubxona nima?
Kutubxona nima?

Hammaga salom, Yaqinda men YouTube Sight deb nomlangan xizmatni qurdim, u YouTube Analytics API -dan obunachilar ma'lumotlarini olib tashlay oladi va YouTube natijalarni birlashtira boshlagach, sizga obunachilar sonini aniqroq beradi. Shu bilan men namunali eskiz yaratdim, lekin men ham odamlar undan osonroq foydalanishlari uchun Arduino kutubxonasini yaratmoqchi edim.

1 -qadam: Kutubxona nima?

Kutubxona nima?
Kutubxona nima?

Kutubxona - bu ma'lum bir operatsiyani bajaradigan, ma'lumotlar turini qayta ishlaydigan yoki ma'lum bir apparat elementi bilan qanday ishlashni biladigan kod. Ular bizga Arduino muhitini osongina kengaytirishga imkon beradi va ularning ko'pchiligi Arduino IDE bilan oldindan o'rnatilgan.

Men kabi, biz Arduino -ga yangi imkoniyatlar qo'shmoqchi bo'lganimizda, biz o'z kutubxonalarimizni boshqalarga ishlatishi uchun yaratishimiz mumkin. O'rnatilgan barcha kutubxonalar kompyuterimizning ma'lum bir papkasida yashaydi. Mening shaxsiy kompyuterimda, kutubxonalar Documents/Arduino papkasida yashaydi. To'liq yo'l foydalanuvchi nomiga qarab siz uchun aniq bo'ladi.

2 -qadam: Kutubxona tuzilishi va fayllari

Kutubxona tuzilishi va fayllari
Kutubxona tuzilishi va fayllari

Kutubxonamizni qurishni boshlash uchun biz birinchi navbatda shu nom bilan papka yaratishimiz kerak, shuning uchun men YouTube Sight deb nomlangan papkani yaratdim. Kutubxonaning minimal minimal versiyasida bizda kamida ikkita fayl bo'lishi kerak.

Birinchisi, kutubxonamiz taqdim etadigan usullar va xususiyatlarning barcha ta'riflarini o'z ichiga olgan "sarlavha" deb nomlangan fayl, ikkinchisi-barcha manba kodini o'z ichiga olgan manba fayli.

Sarlavha fayllari ".h" kengaytmasiga ega, manba fayli ".cpp" kengaytmasiga ega va ular odatda fayl nomi sifatida kutubxona nomiga ega. Menimcha, ikkita fayl "YouTubeSight.h" va "YouTubeSight.cpp" deb nomlanadi.

Kutubxona kodini yozish jarayoni biroz zerikarli va asab solishi mumkin, ayniqsa kutubxonani birinchi marta yozayotganingizda, lekin ko'p sinov va xatolar bilan kerakli natijalarga erishishingiz mumkin. Shuning uchun men sizga ikkita faylning tugallangan kodini ko'rsataman va tushuntiraman.

To'liq kod va kutubxonani GitHub-dan quyidagi havolada yuklab olish mumkin:

3 -qadam: Sarlavha fayli

Sarlavha fayli
Sarlavha fayli
Sarlavha fayli
Sarlavha fayli
Sarlavha fayli
Sarlavha fayli

Sarlavha faylining ichida, boshida, butun fayl "ifndef" iborasi bilan o'ralgan bo'lib, u o'zgaruvchining aniqlangan yoki aniqlanmaganligini tekshiradi. Bu kutubxonadan foydalanadigan har bir kishini xatoga yo'l qo'ymaydi, agar ular bir eskizga ikki marta xato qilib qo'shsa.

Keyin biz Arduino -ning asosiy kutubxonasini qo'shishimiz kerak va biz YouTube Sight -ga so'rov yuborish uchun HTTP mijozi bilan ishlayotganimiz uchun biz mijozlar kutubxonasini ham o'z ichiga olamiz.

Asosiy sinfimiz tarkibini yozishni boshlashdan oldin, biz o'zgartirishni xohlamaydigan har qanday statik o'zgaruvchilar va sozlamalarni aniqlashimiz kerak. Mening vaziyatimda ikkita shunday o'zgaruvchi bor. YouTube Sight xizmatining asosiy URL manzili va biz qancha vaqt o'qiyotganimizni tekshirish uchun foydalanadigan vaqt tugashi o'zgaruvchisi.

Shuningdek, ushbu bo'limda biz natijalarni saqlaydigan kanal statistikasi tuzilmasi kabi foydalanmoqchi bo'lgan har qanday odatiy turlarni aniqlashimiz mumkin.

Sinf tuzilishi ta'rifi ikki qismga bo'lingan. Birinchi qism - barcha umumiy funktsiyalar va xususiyatlarning ta'rifi, ikkinchisi - barcha xususiy funktsiyalar va xususiyatlarning ta'rifi. Ikkalasining farqi shundaki, kutubxonamizning oxirgi foydalanuvchilari shaxsiy bo'limdan hech narsani to'g'ridan-to'g'ri foydalana olmaydilar, shu bilan birga ular ochiq qismdan biron-bir xususiyat va funktsiyalarni to'g'ridan-to'g'ri o'zgartirishi va ishlatishi mumkin bo'ladi.

Ochiq bo'limda biz natijalarni saqlaydigan kanal konstruktorini, ma'lumotlarni oladigan funktsiyani va biz kutgan natijalarga erisha olmasligimiz mumkin bo'lgan holatlarni tekshirish uchun ishlatadigan disk raskadrovka xususiyatini aniqlaymiz.

Xususiy mulk uchun biz GUID kanalini saqlash uchun birini, biz foydalanadigan HTTP mijozining ko'rsatgichini va qaytarilgan satrni YouTube Sight -dan ajratadigan funktsiyani aniqlaymiz.

4 -qadam: Manba fayli

Manba fayli
Manba fayli
Manba fayli
Manba fayli

Keling, manba fayli ichida bularning barchasini haqiqiy bajarilishini ko'rib chiqaylik.

Biz uchun birinchi qadam, biz yaratgan o'z nom faylini o'z ichiga oladi va keyin biz kutubxona konstruktorini aniqlashimiz kerak. Unda biz ikkita o'zgaruvchini o'tkazamiz. GUID biz ilgari aniqlagan shaxsiy o'zgaruvchiga saqlanadi va Mijoz mos yozuvlar orqali uzatiladi, shunda biz olgan misolni chaqira olamiz.

Kutubxonaning asosiy getData funktsiyasi avval qaytarish turini, so'ng kutubxona nomi va funktsiya nomini ko'rsatish orqali aniqlanadi. Men bu funksiyada har bir qator nima qilayotgani haqida batafsil to'xtalmayman, lekin umuman olganda, bu funksiya YouTube Sight serveriga ulanishni ochadi, statistikani olish uchun so'rov yuboradi va keyin qaytarilgan ma'lumotlarni tahlil qiladi. xususiy getValue funktsiyasi.

Qabul qilingan natijalar channelStats o'zgaruvchisiga o'rnatiladi va agar biz natijalarni olishga muvaffaq bo'lsak yoki olmasak va kutubxonamiz yadrosi tugagan bo'lsa, indikator qaytariladi.

5 -qadam: namunaviy eskizlarni taqdim etish

Misol chizmalarini taqdim etish
Misol chizmalarini taqdim etish

Odatda, har bir kutubxonada siz tezda yuklashingiz va kutubxona nima qilishi va qanday qilish kerakligini ko'rsatish uchun misollar keltiradi. Bunday misollarni keltirish uchun biz kutubxona tuzilishini o'zgartirishimiz kerak, bu erda sarlavha va manba fayli "src" papkasida bo'ladi va kutubxona ildizi ostida "misollar" deb nomlangan yangi papka qo'shiladi.

Ushbu papkaga joylashtirgan har qanday Arduino eskizlari Arduino IDE -dan kutubxonangizga namuna sifatida taqdim etiladi va odamlar uni tezda o'rganib, kutubxona qanday ishlashini bilib olishlari mumkin.

6 -qadam: Kutubxona menejeriga nashr qilish

Kutubxona menejeriga nashr qilish
Kutubxona menejeriga nashr qilish

Kutubxonadan foydalanish uchun odamlar o'z eskiziga kutubxonangizning sarlavha faylini kiritishlari kerak bo'ladi va Arduino IDE u bilan birga quradi. Lekin buning uchun avvalo uni mashinalariga o'rnatishlari kerak bo'ladi.

Umumiy usul - kutubxonani GitHub -dan yuklab olish va uni IDE -dagi ZIP o'rnatuvchisi orqali o'rnatish yoki biz yaratganimizdek kutubxonalar papkasiga joylashtirish. Shu bilan birga, Arduino IDE kutubxona menejeri deb nomlangan vositani o'z ichiga oladi, bu sizga kutubxonani to'g'ridan -to'g'ri IDE -dan qidirishga imkon beradi.

Kutubxonangizni o'z ichiga qo'shish uchun biz avval "library.properties" deb nomlangan asosiy papkada qo'shimcha fayl yaratishimiz kerak va unda kutubxona nomini, joriy versiyasini va kutubxona menejeriga yordam beradigan qo'shimcha ma'lumotlarni ko'rsatishimiz kerak. bu haqda yaxshiroq ma'lumotni ko'rsatish uchun.

Fayl joyida bo'lsa, Arduino GitHub sahifasida muammo paydo bo'lishi kerak, bu sizning kutubxonangizni havolasi bilan indeksga kiritishni so'raydi va Arduino xodimlari tomonidan ma'qullangan va qo'shilgandan so'ng kutubxona menejeri natijalarda kutubxonangizni taklif qilishni boshlang. Bundan tashqari, menejer kelajakda GitHub repo -dagi har qanday versiya teglarini qidiradi va o'zgarishlardan so'ng uni ishlatadigan odamlarga yangilanishni taklif qiladi.

7 -qadam: Keyingi qadamlar

Umid qilamanki, "Ko'rsatmalar" dan so'ng siz Arduino kutubxonalari qanday ishlashini, siz qanday yaratishingizni va eng muhimi, siz keyingi katta g'oyangiz ustida ishlashga ilhom olasiz degan umiddamiz.

Qo'shimcha savollar yoki takliflar bo'lsa, izohlarda yozib qoldiring, YouTube kanalimga obuna bo'ling va Meni Instructables -da kuzatib boring.

Tavsiya: