İçindekiler:

YouTube Sight için Arduino Kitaplığı Oluşturma: 7 Adım
YouTube Sight için Arduino Kitaplığı Oluşturma: 7 Adım

Video: YouTube Sight için Arduino Kitaplığı Oluşturma: 7 Adım

Video: YouTube Sight için Arduino Kitaplığı Oluşturma: 7 Adım
Video: Arduino Dersleri 8 : Arduino Kütüphane Ekleme (Library Ekleme) 2024, Kasım
Anonim
Image
Image
Kütüphane Nedir?
Kütüphane Nedir?

Herkese selam, Kısa süre önce YouTube Analytics API'sinden abone verilerini çıkarabilen ve YouTube sonuçları toplamaya başladığından beri size daha doğru abone sayıları verebilen YouTube Sight adlı bir hizmet geliştirdim. Bununla birlikte, örnek bir eskiz oluşturdum ama aynı zamanda insanların daha kolay kullanabilmesi için bir Arduino kütüphanesi yapmak istedim.

Adım 1: Kitaplık Nedir?

Kütüphane Nedir?
Kütüphane Nedir?

Kitaplık, belirli bir işlemi gerçekleştirebilen, bir tür veriyi işleyebilen veya belirli bir donanım öğesiyle nasıl etkileşime gireceğini bilen bir kod parçasıdır. Arduino ortamını kolayca genişletmemize izin veriyorlar ve birçoğu Arduino IDE ile önceden yüklenmiş olarak geliyor.

Benimki gibi Arduino'ya yeni olanaklar eklemek istediğimiz durumlarda, başkalarının kullanması için kendi kütüphanelerimizi oluşturabiliriz. Kurulu kitaplıkların tümü bilgisayarımızda belirli bir klasörde bulunur. Windows PC için benim durumumda, kitaplıklar Documents/Arduino klasörü altında yaşıyor. Tam yol, kullanıcı adınıza göre size özel olacaktır.

Adım 2: Kitaplık Yapısı ve Dosyaları

Kütüphane Yapısı ve Dosyaları
Kütüphane Yapısı ve Dosyaları

Kitaplığımızı oluşturmaya başlamak için önce burada adında bir klasör oluşturmamız gerekiyor, bu yüzden YouTube Sight adlı bir klasör oluşturdum. Kütüphanenin minimum sürümünde en az iki dosyamız olmalıdır.

Birincisi, kütüphanemizin sağladığı metot ve özelliklerin tüm tanımlarını içeren “header” adı verilen dosya, ikincisi ise kaynak kodun tamamını içerecek olan kaynak dosyadır.

Başlık dosyalarının uzantısı ".h" iken kaynak dosyanın uzantısı ".cpp"dir ve genellikle dosya adı olarak kitaplığın adını taşırlar. Benim durumumda, iki dosyanın adı “YouTubeSight.h” ve “YouTubeSight.cpp”.

Kütüphane kodunu yazma işlemi, özellikle ilk defa bir kütüphane yazarken biraz sıkıcı ve sinir bozucu olabilir, ancak çok fazla deneme yanılma ile istediğiniz sonuçlara ulaşabilirsiniz. Bu nedenle, iki dosyanın bitmiş kodunda size rehberlik edeceğim ve açıklayacağım.

Tam kod ve kitaplık GitHub'dan aşağıdaki bağlantıdan indirilebilir:https://github.com/bkolicoski/arduino-youtube-sight

3. Adım: Başlık Dosyası

Başlık Dosyası
Başlık Dosyası
Başlık Dosyası
Başlık Dosyası
Başlık Dosyası
Başlık Dosyası

Başlık dosyasının içinde, başlangıçta, tüm dosya, belirtilen değişkenin tanımlanıp tanımlanmadığını kontrol eden bir “ifndef” ifadesinin içine sarılır. Bu, kütüphaneyi yanlışlıkla aynı çizime iki kez dahil ederlerse kullanan herkes için hataları önleyecektir.

Ardından, temel Arduino kitaplığını eklememiz gerekiyor ve isteği YouTube Sight'a göndermek için bir tür HTTP istemcisi ile çalışacağımızdan, temel İstemci kitaplığını da dahil edeceğiz.

Ana sınıfımızın içeriğini yazmaya başlamadan önce, değiştirilmesini istemediğimiz tüm statik değişkenleri ve ayarları tanımlamamız gerekiyor. Benim durumumda, böyle iki değişken var. YouTube Sight hizmetinin ana URL'si ve bir değeri ne kadar süreyle okuduğumuzu kontrol etmek için kullanacağımız zaman aşımı değişkeni.

Ayrıca bu bölümde, sonuçları kaydedeceğimiz bu channelStatistics yapısı gibi kullanmak istediğimiz özel türleri tanımlayabiliriz.

Sınıf yapısı tanımı iki bölüme ayrılmıştır. İlk kısım, tüm genel işlev ve özelliklerin tanımı, ikincisi ise tüm özel işlev ve özelliklerin tanımıdır. İkisi arasındaki fark, kütüphanemizin son kullanıcıları özel bölümden doğrudan hiçbir şeyi kullanamayacaklar, ancak genel bölümden herhangi bir özelliği ve işlevi doğrudan değiştirebilecek ve kullanabileceklerdir.

Genel bölümde, sınıf yapıcısını, sonuçları depolayacağımız channelStats değişkenini, verileri alacak işlevi ve daha sonra beklenen sonuçları alamayabileceğimiz durumları kontrol etmek için kullanabileceğimiz bir hata ayıklama özelliğini tanımlarız.

Özel mülkler için, kanal GUID'ini depolamak için bir tane, kullanacağımız HTTP istemcisine bir işaretçi ve döndürülen dizeyi YouTube Sight'tan bölecek bir işlev tanımlayacağız.

4. Adım: Kaynak Dosya

Kaynak Dosya
Kaynak Dosya
Kaynak Dosya
Kaynak Dosya

Şimdi tüm bunların kaynak dosyadaki gerçek uygulamasına bakalım.

Bizim için ilk adım, yeni oluşturduğumuz kendi başlık dosyamızı eklemek ve ardından kitaplık yapıcısını tanımlamamız gerekiyor. İçinde iki değişken geçiyoruz. GUID, daha önce tanımladığımız özel değişkene kaydedilir ve daha sonra aldığımız örneği çağırabilmemiz için İstemci referansla iletilir.

Kitaplığın ana getData işlevi, önce dönüş türü, ardından kitaplık adı ve işlev adı belirtilerek tanımlanır. Bu işlevde her satırın ne yaptığının ayrıntılarına girmeyeceğim, ancak genel olarak işlev, YouTube Sight sunucusuna bir bağlantı açar, istatistikleri almak için istek gönderir ve ardından döndürülen verileri yardımıyla ayrıştırır. özel getValue işlevi.

Alınan sonuçlar daha sonra channelStats değişkenine ayarlanır ve sonuçları almayı başarıp başaramadığımıza dair bir gösterge döndürülür ve bununla kitaplığımızın çekirdeği tamamlanır.

Adım 5: Örnek Eskizlerin Sağlanması

Örnek Eskizlerin Sağlanması
Örnek Eskizlerin Sağlanması

Genellikle siz, her kitaplık, hızlı bir şekilde yükleyebileceğiniz ve kitaplığın neler yapabileceğini ve nasıl yapılacağını göstermek için kullanabileceğiniz örnekler sağlar. Bu tür örnekler sağlamak için, şimdi başlık ve kaynak dosyanın bir “src” klasöründe olacağı ve “örnekler” adlı kitaplık kökü altına yeni bir klasörün ekleneceği kitaplık yapısını değiştirmemiz gerekiyor.

Bu klasörün içine yerleştireceğiniz herhangi bir Arduino taslağı, kütüphaneniz için örnek olarak Arduino IDE'den sunulacak ve insanlar onu hızlıca keşfedebilir ve kütüphanenin nasıl çalıştığını öğrenebilir.

6. Adım: Kütüphane Yöneticisine Yayınlama

Kütüphane Yöneticisine Yayınlama
Kütüphane Yöneticisine Yayınlama

Kütüphaneyi kullanmak için insanların kütüphanenizin başlık dosyasını taslaklarına eklemeleri gerekecek ve Arduino IDE onu onunla birlikte oluşturacak. Ancak bunu yapabilmek için önce makinelerine yüklemeleri gerekecek.

Yaygın bir yol, kitaplığı GitHub'dan indirip IDE'deki ZIP yükleyicisi aracılığıyla yüklemek veya oluştururken yaptığımız gibi kitaplıklar klasörünün içine yerleştirmektir. Bununla birlikte, Arduino IDE, doğrudan IDE'den bir kitaplık aramanıza izin veren Kitaplık Yöneticisi adlı bir araç da içerir.

Kütüphanenizi buna dahil etmek için öncelikle “library.properties” adlı kök klasörde ek bir dosya oluşturmamız ve içinde kütüphane adını, mevcut sürümü ve kütüphane yöneticisine yardımcı olacak bazı ek bilgileri belirtmemiz gerekiyor. hakkında daha iyi bilgi görüntülemek için.

Dosya yerindeyken, Arduino GitHub sayfasında kitaplığınızın bağlantıyla dizine dahil edilmesini isteyen bir sorun oluşturulmalı ve Arduino personeli tarafından onaylanıp eklendikten sonra, Kitaplık yöneticisi Sonuçlarda kitaplığınızı sunmaya başlayın. Ek olarak, yönetici gelecekte GitHub deposunda herhangi bir sürüm etiketi arayacak ve değişiklik olduğunda bunu kullanan kişilere bir güncelleme sunacaktır.

7. Adım: Sonraki Adımlar

Umarım bu Eğitilebilir Tablodan sonra, Arduino kitaplıklarının nasıl çalıştığını, nasıl bir tane oluşturabileceğinizi daha iyi anlarsınız ve en önemlisi, bir sonraki büyük fikriniz üzerinde çalışmaya başlamak için ilham aldığınızı umuyorum.

Herhangi bir ek soru veya öneriniz için yorumlara yazmaktan çekinmeyin, YouTube kanalıma abone olun ve beni burada Instructables'ta takip edin.

Önerilen: