Windows IoT Uygulaması Geliştirmek

Güncelleme: 23.08.2017

Windows 10 IoT Core ve Visual Studio ile masaüstü uygulama geliştirme konforu donanım geliştirme konforu donanım geliştirme alanına taşınıyor. Özellikle .NET geliştiricisiyseniz sahip olduğunuz deneyimi kullanarak donanımlarla iletişim kurabileceksiniz. Farklı platformlarda deneyiminiz varsa kolaylıkla öğrenebileceğiniz bir yapı ile karşılaşacaksınız.

IoT Core uygulamaları UWP (Universal Windows Platform) ya da Background App olarak geliştirilebilir. Temel farkı, UWP uygulaması kullanıcı arayüzü sunar ve ön planda tek başına çalışır. Background App ise kullanıcı arayüzüne sahip değildir ve arkaplanda diğer uygulamalarla birlikte çalışabilir. Bu kaynakta UWP uygulaması ile devam edeceğiz.

Ön Gereksinimler

— Geliştirme bilgisayarınızda Windows 10 çalışıyor olmalı.
- Visual Studio’nun tercihen son sürümünü kullanmalısınız. Ücretsiz Community sürümünü kullanabilirsiniz.
- Visual Studio kurulumunda Universal Windows App Development Tools'un altından Tools and Windows SDK yüklenmiş olmalı.
- Windows IoT Core Project Templates for VS 2017 yüklenmiş olmalı. (Buradan indirebilirsiniz.)
- Windows 10 Denetim Masası'ndan Developer Mode etkinleştirilmiş olmalı.
- Cihazınıza Windows 10 IoT Core yüklemiş olmalısınız.
- Cihazınız ile geliştirme bilgisayarınız aynı ağda olmalı.
- Ağ üzerinden cihazınızın ekran görüntüsünü almak istiyorsanız Windows Store’dan Windows IoT Remote Client uygulamasını kurmuş olmalısınız.

Proje Oluşturmak

Visual Studio başlangıç sayfasından New Project'i seçin. Açılacak seçim penceresinin solundan Visual C# altındaki Windows Universal'ı seçin. Orta bölümdeki şablonların arasından Blank App /Universal Windows) seçiliyken projenize isim verin ve OK butonu ile projenizi oluşturun.

Proje oluşturulurken hedef işletim sistemini soran bir pencere açılacak. En güncel işletim sistemi sürümünü seçin. (Bu kaynak hazırlanırken Windows 10 Creators Update en güncel sürümdü.)

Oluşturduğunuz proje x86 platformunda çalışacak şekildedir. Projeye giriş - çıkış pinleri gibi özellikleri tanıtmak için Solution Explorer panelinden References > Add Reference'ı seçin. Reference Manager penceresinden Universal Windows > Extensions sekmesinin altındaki Windows IoT Extensions for the UWP'yi projeye ekleyin.

Artık uygulamanız Raspberry Pi gibi cihazlarda bulunan donanımsal özellikleri kullanabilecek yeteneklere sahip. IoT Cihazları çoğunlukla ARM platformunda olacağından, Raspberry Pi üzerinde devam edebilmek için Solution Platforms listesinden ARM'ı seçin.

Şimdi Solution Explorer’dan MainPage.xaml dosyasını açın. Uygulamanız açıldığında MainPage.xaml içeriği görünecektir. MainPage sekmesinin hemen altında bulunan ekran boyutlarının arasından cihazınızda kullandığınız ekran çözünürlüğüne en uygun olanı seçin.

Arayüzünüze obje eklemek için toolbox'dan buton gibi bir kontrolü seçin ve sayfaya sürükleyin.

Amacımız uygulamanın cihaza gönderilmesi olduğundan uygulamayı detaylandırmadan cihaza göndermeye odaklanacağız. Solution Platforms ayarını yaptığınız toolbox'da Device yazan butonun alt okunu kullanarak Remote Machine'i seçin. Açılacak Remote Connections penceresinden cihazınızı seçin ya da IP adresini yazın. (Bu aşamada cihazınız Auto Detected bölümünde görünmezse IoT Dashboard uygulamasını açarak cihaz isminizin listeye gelmesini sağlayabilirsiniz.)

IP adresini elle girerseniz Authentication Mode seçeneğini Universal (Unencrypted Protocol) olarak seçin. Ardından Select butonu ile bağlantıyı kaydedin. Şimdi toolbox'dan Remote Machine'e tıklayın. Bu aşamada uygulamanız cihazınıza gönderilecek, kurulacak ve debug modunda çalışacaktır. Uygulamaları ilk gönderimleriniz kurulum nedeniyle 2 dakika civarında sürebilir. Sonraki gönderimleriniz çok daha kısa sürecektir.

Gönderdiğiniz uygulamayı görmek için Windows IoT Remote Client uygulamasını çalıştırın. Select a discovered device listesinden cihazınızı seçin ve Connect'e tıklayın.

Cihazınızda çalışan uygulamanın arayüzüne ulaşacaksınız.

Çalışan uygulamayı durdurmak için Visual Studio’ya geri dönüp Stop Debugging butonunu kullanabilirsiniz.


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