DX Spotlight: Pancake Robot – Windows 10 IoT Core

Windows 10 IoT Core daha önceki yazılarımızda da bahsettiğimiz gibi Microsoft’un IoT (Nesnelerin İnterneti) çözümleri için duyurduğu bir platformdur. IoT dünyasında hem hobi olarak IoT çözüm geliştiren makerlar, hem de kurumsal olarak çözüm üreten tüm firmalar tarafından hızlıca sonuca ulaşabilmelerine imkan sağlayan, IoT platformlarının başında geliyor.

Son zamanlarda Türkiye’de Windows 10 kullanarak çıkan en eğlenceli projelerin başında Umut Erkal tarafından geliştirilen “Pancake Printer” projesi geliyor. IoT tutkusunu, yemek tutkusuyla birleştiren Umut, kendi tasarladığı tüm plastik parçaları 3D printerdan bastırarak tüm projeyi adım adım nasıl yapılacağını 3D Modeller de dahil olmak üzere hackster.io adresinde paylaştı. Siz de gerekli parçaları inceleyip kendinize ait bir pancake printer geliştirebilirsiniz. Gelin hep birlikte bu hikâyeyi geliştiricisinden dinleyelim.

Geliştirici ve Çözüm ile Tanışma

IoT-Maker geçmişinden bahsedebilir misin?

Bu yolda ilerleyen çoğu arkadaşım gibi, çocukluktan gelen evdeki cihazları söküp motor ve parçalarıyla farklı icatlar yaparak teknik yeteneklerimi geliştirdim. Zamanla ortaya çıkardığım mekanizmaların kontrol ihtiyacı doğdu ve önce paralel porttan, ardından mikrodenetleyici üzerinden mekanizma kontrolüne başladım. Gelişen teknolojiyle cihazlar internete daha modern yollarla bağlandıkça yaptığımız ürünler de internet cihazları halini almaya başladı.

Hobi amaçlı başladığım süreç zamanla profesyonele dönüştü. Dışarıda bu işlerin nasıl ilerlediğini merak ettim ve bir süreliğine Silikon Vadisi’ne taşındım. Burada meet-up kavramıyla, ortak çalışma alanlarıyla, dünyanın en büyük maker space’i TechShop ile tanıştım. Amacım gördüklerimi yerel topluluklarımızla paylaşmaktı. Elde ettiğim deneyimleri paylaşmaya, sıklıkla etkinlikler oluşturmaya ve maker etkinliklerinin organizasyon ekiplerinde bulunmaya başladım. Merakım ve paylaşma isteğim ilk günkü gibi devam ediyor.

Ne zamandır IoT çözümler üretiyorsun?

İlk IoT ürünüm, ekip arkadaşlarımla geliştirdiğimiz bilgisayar kontrollü tarım makinesiydi. 2008’de başladığımız bu proje zamanında IoT kavramı bugünkü popülerliğinde değildi. Bir gün patlama yapacağını biliyorduk. Ardından bir çok ekiple farklı alanlarda prototip cihazlar geliştirdik.

Pancake Printer çözümünüzden bahsedebilir misiniz? Böyle bir çözüm geliştirmeye nasıl karar verdin?

Pancake Printer, ızgara üzerine 3 boyutlu yazıcı benzeri bir sistemle krep çizen lezzet makinesidir. İnternetten aldığı komutlara göre çizim yapabilir ya da manuel olarak gamepad ile kontrol edilebilir. hikâyesi 2014’de San Mateo Maker Faire ekibinde çalışmama dayanıyor. Organizasyondaki görevlerimin yanı sıra, kameram da çantamda kayıt için hazır bekliyordu. Birçok katılımcıyla röportajlar gerçekleştirdim. Bu röportajlar arasında elektronik bilgisi temel düzeyde olan bir babanın kızı istediği için LEGO’dan pankek robotu yapma macerasıyla tanıştım. Zamanla LEGO modelini aşamalardan geçerek ürün haline getirmişti. Bu hikâyenin ardından ben neden yapmıyorum dedim. Tabi ki maker ruhu paylaşmayı da beraberinde gerekiyor. 3 Boyutlu yazıcıdan üretilmek üzere tasarladığım bu sistemi açık kaynak olarak paylaştım. Dünyanın farklı noktalarından gelen, nerede kullanacaklarını anlatan geribildirimler tüm emeklerin karşılığını fazlasıyla verdi.

Projenizde Windows 10 IoT Core ile uygulama geliştirdiğinizi söylediniz, bu platformla ne kazanç sağladınız?

Pancake Printer’ı birkaç elektronik platformda denedikten sonra Raspberry Pi üzerinde Windows 10 IoT Core’a taşıdım. Öncelikle, Raspberry Pi’ın bilgisayar seviyesinde olması, geliştirme sürecinin sınırlara takılmamasını sağladı. USB portları sayesinde gamepad kullanabiliyor, ethernet ve WiFi ile internete bağlanabiliyor, Bluetooth ile direkt bilgisayar kontrolü sağlanabiliyor. Genişleme pinleri ile birçok kontrol donanımını da direkt kullanabiliyoruz.

Raspberry Pi üzerinde çalışan Windows 10 IoT Core, internet ve donanımlara erişme sürecinde hızlı sonuçlar elde etmemizi sağlıyor. Donanımla entegrasyonu masaüstü uygulama geliştirme konforunda tamamlayabiliyoruz.

Visual Studio 2015 ve Windows 10 IoT Core ile uygulama geliştirme sizlere ne gibi avantajlar sundu?

Mikrodenetleyici uygulamaları geliştirmek için bir çok IDE üzerinde çalışıyorum. Visual Studio üzerinde çalışmak evdeymişim hissi veriyor. Temiz bir arayüzle, modern araçları kullanarak uygulama geliştirmek çok daha keyifli. Bu, benim için modern ve şık bir çalışma ortamında olmakla aynı önemi taşıyor.

Daha teknik açıdan, uygulamanın versiyon kontrolünün sağlanması, yönetilmesi, performans değerlendirmelerinin yapılması açısından profesyonel bir deneyim kazandırıyor.

Pancake Printer, sürekli gelişen ve şekilli çikolata basımı gibi çeşitli alanlara genişleyebilecek bir proje. Bu aşamalarda arayüz eklememiz gerektiğinde UWP’nin sağladığı avantajları da kullanarak etkileyici bir kullanıcı deneyimi sağlayabileceğiz. Windows platformu, projenin geleceğe dönük bir altyapıda ilerlemesini sağlıyor. Uzaktan firmware güncellemesi gibi özellikleri desteklemesi, olası müşterilerin sürekli güncel özelliklerden faydalanmasını da beraberinde getiriyor.

Fikirden hayata geçiş

Uygulamanızı geliştirmek ne kadar sürdü?

Pankek Printer yaklaşık 2 senedir aralarla birlikte sürekli gelişen bir proje. Bunun en büyük nedeni bir maker projesi olması, Türkiye’deki birçok fuarı gezmesi ve geribildirimlere göre iyileştirmelerin / özellik eklemelerinin devam etmesi.

Projenin ilk günlerine baktığımızda çizdiğimiz ilk pankeki yememiz 10. güne denk geliyor. Baskı kafasındaki teknoloji değişiklikleri, deneme yanılmalarla birlikte şu anki donanım şeklini alması 2 ayı buldu.

Uygulama geliştirme süreciniz nasıl geçti?

Öncelikle temel donanımı tasarladım. Bu, X ve Y ekseninde kafayı hareket ettiren mekanizmaydı. Ardından uygulama ile bu mekanizmaları hareket ettirdim. Lezzet haznesi olarak adlandırılan krep karışımının konulduğu sistemi kontrol etmenin zamanıydı. Bu sistemi de kontrol etmek zor olmadı. Artık basit şekilde hareket eden bir sistem vardı.

dx-spotlight-pancake-robot-windows-10-iot-core1

İlk model Bluetooth üzerinden bilgisayarla haberleşiyordu. Komutlara göre sistemi yöneten bir cihaz uygulaması ve PC arayüzü vardı. Tabi sistemin kullanılacağı masada hem Pankek Printer’ının hem de bilgisayarın durması fuar alanı kullanımı bakımından bir dezavantajdı. Bu yüzden cihaz uygulamasının masaüstü yazılım özelliklerine de sahip olmasını istedim ve tek bir yazılım haline geldi.

Pankek Printer birçok etkinlikte kullanıldığı için her etkinliğin farklı ihtiyaçları oldu. Bir etkinlikte MQTT protokolü üzerinden gelen komutlara göre hareket etmesini istedik ve katılımcıların isimlerini pankek olarak yazacakları yarışma düzenledik. Fuarlarda katılımcıların gamepad ile kendi isimlerini yazmalarını etkileşimi artırdı. Fuar ve etkinlikler hızlı tempoda gelişebilir, akla gelen fikrin 1-2 gün, bazen daha kısa sürede tamamlanmasını gerektirir. Bu ihtiyaçların hepsine zamanında cevap verdik.

dx-spotlight-pancake-robot-windows-10-iot-core2

En büyük avantajı nerede gördünüz?

Eğlence faktörü önemliydi. Bu sistem temelde CNC makinesinden daha karmaşık değil. Ancak, bir etkinlikte sergilenen CNC makinesi için aileler ve çocuklar sıraya girmez. Bu mekanizmaya eğlenceyi ve lezzeti kattığınızda yalnızca o makineyi görmek için fuara gelenler olur. Bunu bilmek de maker ruhlu bir geliştirici için büyük önem taşır.

dx-spotlight-pancake-robot-windows-10-iot-core3

En zorlandığınız alan neresiydi?

Her konunun bir uzmanı vardır. Hayatınızı robotik mekanizmalara, elektronik devrelere vermiş olabilirsiniz. Ancak yumurta, un ve sütün kıvamını tutturamadığınızda teknolojiniz bir işe yaramaz. Evet, en zorlandığım alan krep karışımıydı. Standart tariflerdeki krebi baskı kafasından püskürtmek için hava basıncına ihtiyacınız oluyor. Mekanizmayı karmaşıklaştırmamak için aynı lezzeti veren, daha sıvı ancak ızgara üzerine döküldüğünde dağılmayan bir kıvamda karışıma ihtiyaç duyduk. Eşimin yardımlarıyla yüzlerce etkinlik ziyaretçimiz kendi isimlerinin yazılı olduğu krebi afiyetle yediler.

dx-spotlight-pancake-robot-windows-10-iot-core4

Diğer Yazılım Geliştiricilere Tavsiyeleriniz

Raspberry Pi ve Windows 10 IoT Core’un IoT geliştiricilere ve makerlara sağladığı en büyük fayda nedir?

Raspberry Pi, bilgisayar gücünü cebinize sığacak boyuta getiriyor. Windows 10 IoT Core ise masaüstü yazılım geliştirme teknolojilerini bu ufak bilgisayara sığdırıyor. Geliştirdiğiniz uygulamayı tablette, telefonda, masaüstünde ve IoT cihazlarınızda çalıştırabiliyorsunuz. Bir kere tasarlıyorsunuz, her yerde çalışıyor. Doğru şekilde kullanıldığında bunun inanılmaz bir zaman tasarrufu ve verimlilik sağladığını tahmin edebilirsiniz.

Maker kültürü paylaşmak üzerine kurulu. Yaptıklarınızı paylaşmak için çoğunlukla belirli tarihlerdeki etkinliklere yetiştirmeniz gerekir. Ekibiniz yoktur ya da küçüktür. Az kaynakla çok kişinin yapabileceği işleri tüm detaylarıyla gerçekleştirmeniz gerekir. Sözünü ettiğimiz teknolojiler günümüz yoğun makerlarının en büyük dostudur.

dx-spotlight-pancake-robot-windows-10-iot-core5

 

Raspberry Pi ve Win10 IoT Core ile uygulama geliştirecek diğer yazılım geliştiricilere ne gibi önerileriniz olabilir?

Maker tarafından bakarsak, standardın dışına çıkarak eğlenceli şeyler üretin. Nasıl yaptığınızı paylaşın, başkalarına ilham olun. Bir gün, zamanında bir şeyler öğrettiğiniz kişilerden bir şeyler öğrenmenin keyfine varacaksınız.

İşin profesyonel tarafına gelirsek, tüm platformların birbirine olan avantajını bilerek ihtiyaca göre tercihte bulunun. Microsoft tarafında uzun yıllardır var olan .NET Micro Framework platformu, gömülü sistemlerde hızlı ürün geliştirebilmenizi sağlıyor. Windows 10 IoT Core ise Windows Embedded, .NET Micro Framework ve Windows 10’un modern teknolojiyi en iyi şekilde kullanmak üzere harmanlanmış modeli. Bu platformun size sunduklarını, Microsoft bulut teknolojileriyle birlikte kullanarak modern teknolojiye hükmedebilirsiniz.

IoT ile ilgilenmek isteyen yazılım girişimcilerine tavsiyeleriniz nelerdir?

Yazılım, kullanıcının elindeyken eksiklerini kapatabildiğiniz bir kavramken, donanım bir kere piyasaya çıkardığınızda üzerinde fiziksel değişiklik yapmanın elle tutulur olmadığı bir kavram. Ayrıca, seri üretim, depolama, nakliye gibi dijital dünyada alışkın olunmayan kavramlar ve maliyetler işin içine giriyor. Bu bir göz korkutma değil, aksine önceden bu süreçleri bilen kişilerle çalışarak üstesinden gelinebilecek bir konu. Yalnızca bunun bilincinde olmak, önceden planlamalara dâhil etmek gerek.