21 Temmuz 2015 Salı

INTEL EDISON NEDİR? ARDUINO İLE NASIL KULLANILIR? İLK KULLANIM!

INTEL EDISON 

Merhabalar,
Bu yazıda size inceleme fırsatı bulduğum Intel Edison geliştirme platformundan bahsedeceğim.
Geliştirme kartından yada geliştirme platformundan ziyade SBC (Single Board Computer-Tek Kartlı Bilgisayar) olarak anılan sistemlere son zamanlarda duyulan ilgili oldukça artmıştır. Benim ilk tanıma fırsatı bulduğum, 2007-2008’li yıllarda Beagleboard platformuydu. O zamanlar bilen uğraşan az kişi olmasıyla birlikte, bu sistemlerin gerek kendileri gerekse yardımcı kartları, modülleri vs. çok pahalıydı. Yurt dışı menşeli ürünler olduğu için temin etmesi de ayrı bir dertti tabi. Gerçi yurt dışından ürün getirmek hala sorun, değişen bir şey olmadı. Neyse, velhasıl kelam bende o zamanlar üstüne düşmedim, uğraşmadım, uğraşamadım.
Son zamanlarda tabi ki gelişen teknoloji ile beraber arz-talep ilişkisi doğrultusunda, maliyetlerin düşürülmesi ile birlikte SBC sistemleri temin etmek oldukça kolaylaştı. Bu sayede SBC sistemler ile ilgili bir çok uygulama görülmeye ve topluluklar oluşmaya başladı. SBC sistemler gün geçtikçe daha fazla özellik içererek daha düşük fiyat ile piyasaya sunulmaya çalışılmaktadır.
Bildiğiniz gibi piyasada revaçta olan Beaglebone Black, Raspberry Pi, Cubie Board vb. SBC sistemler bulunmaktadır. Yurt içi piyasadan da temin edilebilen bu sistemler ile öğrenci, amatör, profesyonel, araştırmacı herkesin uygulama ve proje geliştirmesi mümkündür. Bu sistemler ile yapabileceğiniz projeler hayal gücünüz ile sınırlıdır. Aynı zamanda bu platformların bir çok programlama diline destek vermesi ile uygulama yapmak yada platformlar arası geçiş yapmak kolaylaşmıştır. Ayrıca bu sistemler ile günümüzün revaçta olan Maker/Hackerspace hareketleri, IoT, M2M, Cloud gibi uygulamalarına da daha kolay çözüm üretilebilmektedir.
Gelelim Intel'e, bildiğiniz gibi(en azından ben öyle biliyorum) Intelfirması daha çok işlemci, chipset vs. gibi yarı-mamul üretimi yapan son kullanıcı ile yada perakende satış ile ilgilenmeyen bir firmadır. Fakat son zamanlarda SBC sistemlerin büyüyen pazar payı ve IoT (Internet of Things-Nesnelerin İnterneti) uygulamalarının parlak geleceğine kayıtsız kalamadı. Bu nedenle ilk olarak Intel Galileo Board adında geliştirme platformunu piyasaya çıkardı. Fakat kısa bir süre sonra nedenini bilmediğim bir şekilde Intel Galileo Gen 2 adında ilk çıkan ürünün güncellenmiş sürümünü çıkardı. Ürün ile ilgili detaylı bilgiye ürün web sayfasından ulaşılabilir. Özellikle Arduino Uno R3 ile uyumlu olmasından dolayı Arduino ile yaptığınız projeleri kolaylıkla Galileo board ile yapabilirsiniz.
Intel Galileo piyasaya çıkmış kullanıcılarını beklerken piyasada Intel'in sd kart boyutunda Edison isimli bir SBC sistem çıkaracağı haberini duydum.
intel-edison-board-intel-edison-inceleme-intel-edison-turkce
Yukarıda ki şekil’de görüldüğü gibi Edison gerçekten çok güzel görünüyordu. Bende merakla çıkmasını bekliyordum. Sonrasında teknik sorunlar yaşandı herhalde detayını bilmiyorum. Edison yapısı değiştirilip boyutları birazcık büyütülerek piyasaya sunuldu.
intel-edison-board-intel-gomulu-sistem-projeleri-gomulu-yazilim-linux
Sonuç olarak yukarıda ki şekil’de görüldüğü gibi Edison board son haliyle piyasaya çıktı. İlk resimdeki görüntüsü daha güzel olduğu için hayal kırıklığına uğradığımı söyleyebilirim. Neyse, piyasada yaygınlaşıp fiyatı ucuzlarsa bir ara uğraşırım dedim kendi kendime.
Geçenlerde takım halinde Intel’in düzenlediği ITC 2014 Hackathon etkinliğine katılmıştık. Orada gün boyunca Edsion kartını tanıma fırsatım oldu. Etkinlik sonunda gerçekleştirdiğimiz proje ile birinci olunca birer adet Edison board hediye ettiler. Bu sayede Edsison kartı daha yakından tanıma fırsatım oldu. Etkinliği düzenleyen Intel'e teşekkürler. Umarım böyle etkinliklerin sayısı artar.

INTEL EDISON BOARD

Edison board, Intel firmasının geliştirmiş olduğu geliştirme platformudur. IoT, M2M, giyilebilir teknolojiler, tüketici elektroniği, vb. birçok uygulamada kullanılabilir.
micro-sd-intel-edison-gelistirme-platformu-incelemesi
Yukarıda ki resim’de görüldüğü gibi bir sd karttan biraz büyük boyuttadır. Fakat boyutuna göre birçok özelliği içinde barındırmaktadır. Aşağıda Edison kartın başlıca özellikleri verilmiştir.
İçerisinde İki çekirdekli, iki işlem parçacıklı 500MHz Intel® Atom™ CPU’ya ve 32 bit 100MHz Intel® Quark™ mikro denetleyiciye 22 nm Intel SOC (System On Chip)
1 Gb LPDDR3 RAM
4 Gb EMMC Bellek
Çift Band WiFi ve BTLE(Bluetooth Low Energy) Modül
Arduino Uyumlu ve C/C++ ile Geliştirme Desteği (Yakında Node.JS, Ptyhon, RTOS ve Görsel Programlama Destekleri Sunulacaktır.)
Cihazlar arası yada cihazdan buluta(cloud) iletişimi sağlamak için çok kullanıcılı zaman serileri analiz servisi
Görüldüğü gibi Edison kartı küçük yapısına rağmen içerisinde bir çok özellik barındırmaktadır.
intel-edison-pcb-edison
Yukarıda Edison kartın muhafaza kapakları çıkarılmış üst ve alt görüntüleri görülmektedir. Görüldüğü gibi kartın iki yüzeyinde de yoğun olarak kullanılan malzemeler bulunmaktadır. Intel Edisonun resimde görüldüğü gibi 70 pinlik bir bağlantı konnektörü bulunmaktadır. Modül güç ihtiyacını ve ihtiyaç duyulan diğer kablolu bağlantıları bu konnektör üzerinden sağlamaktadır. İlk akla gelen soru biz bunu nasıl kullanacağız olabilir.
Edison kartı uygulamalarda kullanabilmek için asgari ihtiyaçlarını (besleme,programlama vs.) sağlayan bir kartın tasarlanması gerekir. İlk aşamada bu kullanıcılardan beklenmediği için Intelin şuan Edison için hazırladığı Intel Edison Arduino Board ve Intel Edison Breakout Board kartları bulunmaktadır. Daha ileri aşamalarda kendi uygulamanıza özel breakout kartlar tasarlayabilirsiniz. Benim elimde Intel Edison Arduino Board bulunduğu için anlatıma onun üzerinden devam edeceğim.

INTEL EDISON ARDUINO Gelİştİrme kartı

Intel Edison Arduino Board, üzerine Edison modül takılabilen Arduino uno uyumlu genişletme kartıdır. Bu sayede Arduino ile geliştirdiğiniz uygulamaları Edison modüle ile de yapabilirsiniz. Ayrıca pin uyumlu olduğu için Arduino ile kullandığınız shield’ları da kullanabilirsiniz. Bunlara ek olarak, USB host, SD kart, Wifi, Bluetooth gibi birimleri de bulunmaktadır. Sonuç olarak Edison modülünü, Arduino genişletme kartı ile çok büyük program hafızası ve bir çok çevre birimine sahip bir Arduino kit olarak kullanabilirsiniz.
intel-edison-arduino-vert
Yukarıda Edison Arduino genişletme kartının ve blok diyagramının resmi görülmektedir. Görüldüğü gibi kart üzerinde Arduino bağlantıları haricinde diğer çevre birimleri de bulunmaktadır. Edison modülünde 1 adet USB OTG portu bulunmaktadır. Genişletme kartı üzerinde bulunan sw1 anahtarı ile bu OTG portu seçmeli olarak USB Host olarak j6 konnektörü ile yada USB Client olarak j16 konnektörü ile kullanılabilir. Programlama vs. işlemlerinde USB Client olarak, klavye mouse, flash disk vs. bağlama durumunda ise USB Host olarak kullanabilirsiniz. Bu sayede harici olarak dönüştürücü kablo kullanmanıza gerek yoktur.
Edison Arduino genişletme kartı besleme gerilimini aşağıdaki kaynaklardan sağlayabilir.
J1 konnektörü üzerinden harici besleme (7V-17V DC)
Shiled üzerindeki VIN pininden (7V-17V DC)
J16 konnektörü ile USB üzerinden
J2 konnektörü ile lityum-ion pil üzerinden
Görüldüğü gibi çeşitli besleme seçenekleri mevcuttur. Ayrıca genişletme kartı üzerinde liyum-ion pil şarj devresi vardır. Böylece taşınabilir pil-destekli uygulamalar geliştirebilirsiniz.

GELİŞTİRME PLATFORMU PAKET İÇERİĞİ VE FİYATI

arduino-intel-edison-box-content
Resimde görüldüğü gibi kutu içerisinde Intel Edison modül, Arduino genişletme kartı ve bir kaç montaj elemanı vardır. Bunun dışında herhangi bir bağlantı kablosu adaptör vs. yoktur. En azından bir USB kablosu eklenebilirdi! Kartı rahat kullanmak için 12V DC 1A adaptör kullanmanızda fayda var. Fiyat olarak Edison modülün arduino genişletme kartı ile birlikte gelen paketi yurt dışında 100$ yurt içinde ise 300-350TL civarı. Fiyatı çok gibi görünse de üzerinde wifi, Bluetooth gibi birimlerin olduğunu unutmamak gerekir. Wifi ve Bluetooth gibi birimleri Arduino shield olarak satın almak istenirse sadece onlar benzer fiyata gelmektedir.

İLK KULLANIM

Edison modül üzerinde Yocto Linux yüklü olarak gelmektedir. Üzerinde eski bir sürüm bulunması durumunda en son sürüm ve Arduino IDE’si buradan indirilebilir. Intel Edison Arduino kartını windows yüklü bilgisayara tanıtmak için aşağıdaki işlemlerin yapılması gerekmektedir. Diğer işletim sistemleri içinde benzer işlemler gereklidir. Detaylı bilgiye buradan ulaşabilirsiniz.
Öncelikle kart üzerindeki debug-uart kanalına bağlanabilmek için kart üzerinde bulunan FTDI çipin sürücüsünü yüklemek gerekiyor. Sürücü yazılımını buradan indirebilirsiniz.
www.putty.org adresinden Putty programını indiriyoruz.
Sonrasında buradan windows driver setup paketini indirip kuruyoruz.
Sürücüleri kurduktan sonra Arduino IDE’yi buradan indiriyoruz.
Son olarak son sürüm Yocto Linux imajını buradan indiriyoruz.
Gerekli bütün dosyaları indirdikten sonra kurulum işlemlerine geçebiliriz.
Karta 12V DC adaptörü takıp J16 USB soketi üzerinden bilgisayara bağlıyoruz. Not: Sw1 anahtarı J16 soketine doğru itilmiş olmalıdır. Anahtar hangi tarafa yakınsa o taraftaki USB portu aktif edilir.
intel-edison-inceleme-intel-edison-bilgi-1
Herhangi bir hata yoksa bir süre bekledikten sonra yukarıda ki gibi Edison isimli depolama aygıtı görülmelidir.
İndirdiğimiz en son Yocto imaj dosyasını zip dosyasından Edison içerisine çıkartıyoruz.
Çıkarma işlemi bittikten sonra USB kabloyu çıakrtıp diğer USB(J3) portuna takıyoruz.
intel-edison-inceleme-intel-edison-bilgi-intel-edison-kurulum-2
Herhangi bir sorun yoksa bilgisayarınız sanal seri port olarak kartı tanıyacaktır. Yukarıda görüldüğü gibi COM37 olarak seri port açılmıştır.
Seri port açıldıktan sonra Puty programının çalıştırıp open butonuna tıklıyoruz.
puty-intel-edison-puty
Terminal açıldıktan sonra 2 kere enter tuşuna basıyoruz. Sonrasında login(giriş) ekranı gelmesi lazım. Burada ‘root’ yazıp entera basıyoruz. Parola sormaması gerekiyor.
puty-intel-edison-puty-reboot
Giriş yaptıktan sonra yeni imajı yüklemek için komut satırına ‘reboot ota’ yazıp entera basıyoruz.
İmaj yükleme işlemi 3-5 dakika sürmektedir.
intel-edison-puty-reboot-ota
İmaj yükleme işlemi bittikten sonra sistem yeniden başlayıp login ekranı gelecektir. Görüldüğü gibi önceki sürüm Yocto 1.6 idi. Aynı sürümü yüklemiş olduk değişen birşey olmadı fakat ilerde yeni çıkan sürümler oldukça bu şekilde yükleyebilirsiniz.
İmaj yüklemesini yaptıktan sonra ilk programımızı Edison’a yükleyelim.
USB kabloyu tekrar J3 konnektörüne takıyoruz.
İndirdiğimiz Arduino IDE’yi zip halinden uygun bir klasöre çıkartıp çalıştırıyoruz.
intel-edison-program-ayar-arduino
Arduino IDE’yi çalıştırdıktan sonra seri port ve board(kart) ayarlarını doğru bir şekilde yapıyoruz ve Örnekler kısmından Blink(Led Blink) örneğini açıyoruz.
intel-edison-arduino-led-blink
Örneği açtıktan sonra yükle butonuna tıklıyoruz.
Herhangi bir hata yok ise kodlar otomatik olarak derlenip Edisona yüklenecektir. Yükleme işleminde sorun olmadığını konsoldaki “Transfer complete” mesajından anlayabiliriz.
intel-edison-board-intel-gomulu-sistem-transfer-complete
Tüm işlemler doğru ise resimde görüldüğü gibi kart üzerinde bulunan DS2 LED’inin yanıp sönmesi gerekmektedir.
Bu sayede Edison ile ilk uygulamamızı yapmış olduk. Benzer şekilde diğer örnekleri yada kendi uygulamalarınızı kart üzerinde çalıştırabilirsiniz.
Sonuç olarak Intel Edison küçük boyutu, gelişmiş özellikleri ve kolay uygulama geliştirilmesinden dolayı piyasadaki benzer ürünler ile rekabet edebilir düzeyde bir karttır. Beaglebone Black, Raspberry Pi gibi SBC’lere nispeten pahalı olmasına karşın donanım özelliklerine nispeten fiyatı normaldir.
Intel Edison yeni bir platform olduğu için bazı hataları olabilir. Örneğin kendi karşılaştığım hatalardan bahsedeyim. Dün çalışan wifi modülüne ertesi gün bağlanamadım. Sonrasında uzun uğraşlar sonucunda yeniden imaj yükleyerek sorunu hallettim. Benzer şekilde ‘reboot ota’ komutu ile yeni imaj yüklediğimi sanıyordum fakat yüklenmemiş. Tahminim, kart besleme konnektörünün ani çıkarmalarından etkileniyor ve imaj dosyaları bozuluyor olabilir. Bahsettiğim hatalarda benimde payım olabilir emin değilim.
Bu ve bunun gibi sorunlar ile karşılaşabilirsiniz. Yeni bir platform olduğu için böyle sorunların çıkması normaldir. Benzer şekilde yeni bir platform olduğu için henüz yaygın kullanıcı toplulukları yok. Bu yüzden aradığınız her soruya forumlarda vs. cevap bulamayabilirsiniz. Edisonun arkasında Intel firmasının bulunduğunu da unutmamak gerek. Gün geçtikçe iyileştirmeler ve geliştirmeler yapılacaktır diye düşünüyorum. Benzer şekilde ilerleyen zamanlarda kullanıcıları artarak topluluklar oluşturulur herhalde.
Sonuç olarak Edison, özellikle IoT ve giyilebilir teknoloji alanlarıda ürün geliştirmek için tercih edilebilir. Uygulamanıza özel breakout kart tasarlayıp verimli bir şekilde Edisonu kullanabilirsiniz. Şahsen ben bir kenara not ettim Edisonu. IoT, giyilebilir teknoloji yada benzeri bir alanda uygulama yaparsam düşünebilirim.
Bir sonraki yazıda görüşmek üzere inşaallah. İyi çalışmalar…
Kaynak: www.320volt.com 
Bu güzel yazıyı hazırladığı için yazar Erhan YILMAZ'a bolca teşekkürlerimizi iletiyoruz. 


Hiç yorum yok :

Yorum Gönder