Windows 10 IoT Core Nedir?

Güncelleme: 19.08.2017

Microsoft çok uzun yıllardır mobil ve gömülü sistemler üzerinde bir çok işletim sistemi geliştirdi. Gömülü sistemler üzerinde Windows CE ve Windows Embedded işletim sistemlerini kullandık. Ardından cep telefonlarında Windows CE'nin bir miktar kullanıcı dostu modeli Windows Mobile ortaya çıktı. Bu ürünler çoğunlukla endüstriyi ve IT departmanlarını hedefledi.

Ardından donanım alanına girmek isteyen yazılımcıları hedefleyen .NET Micro Framework ortaya çıktı. Çoğunlukla ARM platformu üzerinde, Arduino uyumlu kitlerle .NET Micro Framework'ü kullandık. Visual Studio ile geliştirdiğimiz .NET uygulamalarını mikrodenetleyici üzerinde çalıştırabildik. Hobi uygulamaları için çok kullanışlı olan bu altyapı, .NET platformunun mikrodenetleyici üzerinde performans gösterememesi gibi durumlar sonucu popülerliğini yitirdi.

Nesnelerin İnterneti kavramının popülerlik kazanması üzerine Microsoft akıllı cihazlar üzerinde güzel bir adım attı ve Windows 10 çekirdeğini tüm platformlarda çalışabilecek hale getirdi. Artık Windows; x86, x64 ve ARM platformlarında çalışabiliyor. Bu, geliştirdiğiniz bir UWP (Universal Windows Platform) uygulamasını masaüstü bilgisayarınızda, tabletinizde, XBox'ınızda, Hololensinizde ve Raspberry Pi'ınızda çalıştırabilmeniz anlamına geliyor.

Her platformun kendisine özel kullanım profili var. Bu yüzden tüm Windows altyapısını Raspberry Pi gibi cihazlar üzerinde çalıştırmak yerine IoT cihazları için ayrı bir işletim sistemi hazırlandı. İlk bakışta Windows 10 IoT Core’un masaüstü sürümü Windows’lardan en büyük farkı başlat menüsüyle uygulama çalıştırma kavramı bulunmayışı. Sistem başlangıcında çalışmasını istediğiniz uygulama otomatik olarak başlıyor, başka bir uygulamanın aktif olmasını istediğinizde o an çalışan uygulama kapanıyor ve yeni uygulama devreye giriyor. Arka plan servisi olarak da istediğiniz kadar uygulama çalıştırabiliyorsunuz. (Ön planda çalışan uygulamalar kullanıcı arayüzüne sahipken arkaplan servisleri arayüz dışındaki özelliklere sahip oluyor.) Bu Windows tarafında alışkın olunmayan ancak gömülü bir cihazda olmasını isteyeceğiniz bir çalışma şekli. Örneğin paletli bir robot geliştiriyorsunuz ve sisteminiz açıldığında yalnız istediğiniz göreve odaklanıyor.

Raspbian gibi işletim sistemlerinde ise normal bir bilgisayar gibi masaüstü açılıyor ve masaüstü bilgisayarınızı kullandığınız gibi Raspberry Pi’ı kullanabiliyorsunuz. Microsoft, bu alana farklı bir bakış açısıyla yaklaşıyor, cihazınızın projenize odaklanmasını sağlıyor. Hangi yapının daha kullanışlı olduğu ise geliştireceğiniz projelere göre değişiyor.

Windows 10 IoT Core ile gerçekleştirebileceğiniz bazı senaryolara bakalım:
- Kullanıcı arayüzü olan modern UWP uygulamaları geliştirebilir, HDMI üzerinden ekran görüntüsü alabilirsiniz.
- Kullanıcı arayüzüne ihtiyaç duymayan uygulamalar geliştirebilir, monitöre gerek duymadan Arduino gibi sisteminizi kullanabilirsiniz.
- GPIO pinlerini kullanarak sensör ve röle gibi elektronik bileşenleri İnternet’e bağlayabilirsiniz.
- USB Host’u kullanarak gamepad, kamera gibi bileşenleri uygulamanıza ekleyebilirsiniz.
- Bazı 3 boyutlu yazıcı modellerini ağ üzerinden çalışan kablosuz yazıcılara dönüştürebilirsiniz.
- TPM donanımı kullanarak kritik bilgileri güvenli depolayabilir, uygulamanızda kullanabilirsiniz.
- Cihazlarınıza shield’lar ekleyerek yeni donanımlar ile birleştirebilirsiniz.
- Sensör ağınız ile İnternet arasında köprü kurabilirsiniz.

Özetle Windows 10 IoT Core, modern uygulama altyapısını IoT cihazlara taşıyarak işinizi hızlandıran bir işletim sistemidir. Özellikle .NET platformunda uygulama geliştirenler için donanım dünyasına açılan pratik bir kapıdır.


Yazar: Umut Erkal - Microsoft MVP (Windows Hardware Engineering)