Açıkçası Android geliştiriciler sayfasında (developer.Android.com) breadboard, PWM ve UART vs. konuların anlatıldığını görmek bana biraz ilginç geldi. Sonunda “donanım” işlerinin ışığı parlamaya başladı diyebiliriz sanırım. Bahsettiğim şey Android’in nesnelerin interneti için olan versiyonu Android Things.
Şu anda Android Developer sitesine girdiğinizde Android, Auto, TV, Wear ve Things kategorilerini görebilirsiniz. Google’ın ( yeni adıyla Alphabet ) Android’i bütün araçların içerisinde sokma vizyonunun son meyvesi de Android Things oldu. Aslında bu yeni bir çalışması değil Google’ın. Google, daha önce Brillo adıyla bir “nesnelerin interneti işletim sistemi” geliştireceğini duyurmuştu. Projeyi daha sonra Android Things olarak isimlendirdiler. Android’in gömülü sistemler ve Nİ cihazlarının içerisinde çalışacak olan Android Things bölümünde şu anda desteklenen platformlar da listelenmiş. Listede NXP pico, Intel Edison, Rasperry Pi 3 kartları bulunuyor. Tabi bu listenin yakın zamanda kalabalıklaşacağını tahmin etmek güç değil. Yazımın girişinde bahsettiğim temel donanım bilgilerine de “Hardware 101” başlığı altında yer verilmiş.
Nesnelerin interneti benim de son dönemde tabiri caizse “kafayı taktığım” konulardan birisi. Bu konuda gelişmeleri de yakından takip ediyorum. Bu konu hem mesleki açıdan hem de günlük hayatımız açısından çok büyük gelişmelere gebe. Alanım olan gömülü sistem geliştiriciliği de hızlı bir şekilde değişiyor. Geçmişte ufak boyutlu kaynaklara sahip mikrodenetleyicilerle çalışırken bugün hızları 400 mhz’lere varan ürünlerden bahsetmek mümkün. Ayrıca çevrebirimleri de bir o kadar zenginleşiyor. Geçmişte bırakın internete bağlanmayı, içerisinde UART modülünün bile bulunmadığı MCU’lar bulunurken bugün hemen her ürünün internet bağlantısına sahip olacağı varsayılıyor. Böyle olunca da artık internet protokolleri, şifreleme algoritmaları gibi konular yeni “ders çalışma alanları” olarak karşımıza çıkıyor. Haliyle çalıştığımız platformlarda “hazır modüller” kullanmak giderek bir zorunluluk haline geliyor. Programlama da giderek karmaşıklaştığı için artık bizi destekleyen platformlara ihtiyaç duyuyoruz.
Son dönemde çalıştığımız konulardan birisi de “gateway” adı verilen ve başka modül ve cihazları ağa bağlayacak modüller. Ancak bu modüllerin gerektirdiği protokol ve güvenlik özellikleri nedeniyle yazılımlar oldukça karmaşık hale geliyor. İşte bu noktada Android ve Embedded Linux gibi platformlarda çalışmak “tekerleği yeniden icat etmemek” adına önem kazanıyor. Tabi bu durumda şimdiye kadar biraz da bilerek uzak kaldığım bu “uygulama katmanı” işlerine de mecburen yaklaşmak durumunda kalıyorum. Android Things gibi projeler bize artık gömülü sistem programlamanın da biraz da mobil programlama ile kesişmeye başlayacağını gösteriyor. Zira fiyatları da mikrodenetleyicilerle yarışan yeni nesil platformlar sayesinde bazı konularda “çok da kasmanın” anlamı kalmıyor.
Android Things platformunu yakından takip etmeye ve bilgileri paylaşmaya devam edeceğim