Makale Özeti

Gömülü sistemler dünyasına Visual Studio 2008 ile bir başlangıç yapmak ister misiniz?

Makale

.Net Micro Framework’ün ne olduğunu önceki makalemde bahsetmiştim. İlk uygulamamızı emulator üzerinde gerçekleştireceğiz. Daha sonra gerçek bir developer kit kullanarak uygulama geliştireceğiz.
Uygulamanızda spesifik bir donanıma ihtiyaç duymuyorsanız (GSM/GPRS Modülü,vb) emulator ile yazdığınız kodları denebilirsiniz. Hatta kullanmak istediğiniz donanımı içeren bir emulator yapabilirsiniz. Elde edemediniz donanımlar için böyle bir çözüm üretebilirsiniz.

MF ile uygulama geliştirmek için gerekenler:
-VS2008 (Express Edition’da olabilir indirin)
-VS2008 SP1 (indirin)
-Microsoft .Net Micro Framework SDK (indirin)

SDK  kurarak VS2005 ile de MF uygulaması geliştirmek mümkün ama MF 3.0 ın stabil çalışan versiyonunda VS2008 öneriliyor. SDK kurulumundan sonra proje templateleri arasında Micro Framework’ugörebilirsiniz.

Gördünüz gibi 4 farklı uygulama çeşidi var
-Class Library
-Device Emulator
-Console Application
-Windows Application

Biz standart emulator üzerinde ekranı kullanan bir uygulama geliştirecegimiz için “Windows Application” u seçiyoruz. Lakin bu masaüstünde bildiğimiz gibi bir “Windows” değil. Çünkü bu bildiğimiz “Form”lar mevcut değil. Gömülü sistemler sabit bir ekran çıktı ünitesi olmaya bilir, hatta hiçbir görüntü birimi olmaya bilir.


Biz şimdi donanım üzerindeki butonlar ile ekrandaki “Merhaba” yazısını hareket ettirelim. Daha sonra benzer bir uygulamayı dokunmatik ekranla yapacağız.

Hatta kodlardan anlayacağınız gibi bu proje templateini consoldan ayıran “Window” un yaratılıp, GPIO a bağlı switchlerin donanımsal giriş portları olarak atandığı ve son olarak uygulamanın çalıştırıldığı görülmekte.


         public static void Main()

        {

            Program myApplication = new Program();           

            Window mainWindow = myApplication.CreateWindow();

            GPIOButtonInputProvider inputProvider = new GPIOButtonInputProvider(null);

            myApplication.Run(mainWindow);

        }
Uygulamamızın Main fonksiyonun olduğu Program.cs namespacelerine bir göz atarsanız :

using System;

using Microsoft.SPOT;

using Microsoft.SPOT.Input;

using Microsoft.SPOT.Presentation;

using Microsoft.SPOT.Presentation.Controls;

SPOT uzayismi dikkatinizi çekmiştir. 2001 yılında SPOT Microsoft'un Smart Personal Objects Technology (SPOT) olarak isimlendirdiği ve günlük hayatta devamlı kullandığımız cihazları kolay kullanılabilen ve basit yazılımlar ile bilgi servislerine ulaşımını kolaylaştırmayı amaçlayan teknolojisi olarak lanse edildi. Ama şimdi biraz daha yetenekleri arttı. 2004 yılında üretilen ilk kol saatlerden sonra bir hayli yol alındı. Şimdi ki adı .Net Micro Framework.

MF uygulamamızın CreateWindow fonksiyonunda ekranda görsel görünüm için Window ve Text objeleri yaratılmakta.

        public Window CreateWindow()

        {

            // window objesinin yükseklik ve genişligini ayarlıyoruz

            mainWindow = new Window();

            mainWindow.Height = SystemMetrics.ScreenHeight;

            mainWindow.Width = SystemMetrics.ScreenWidth;

 

            // Yazacagımız yazı için Text kontrolu oluşturuyoruz

            Text text = new Text();

            text.Font = Resources.GetFont(Resources.FontResources.small);

            text.TextContent = "Merhaba...";

            text.HorizontalAlignment = Microsoft.SPOT.Presentation.HorizontalAlignment.Center;

            text.VerticalAlignment = Microsoft.SPOT.Presentation.VerticalAlignment.Center;

 

            // Text kontrolunu Window üzerine yerleştiriyoruz

            mainWindow.Child = text;

 

            // Bütün butonlar için handler atanıyor

            mainWindow.AddHandler(Buttons.ButtonUpEvent, new ButtonEventHandler(OnButtonUp), false);

            mainWindow.Visibility = Visibility.Visible;

 

            // Donanım üzerinde bulunan buttonların Window üzerinde çalışması için

            Buttons.Focus(mainWindow);

 

            return mainWindow;

        }

Buraya kadar ki kısımda ekrana “Merhaba” yazdıra biliriz. Şimdi yön tuşlarına basılınca yazının hareket etmesi için gerekli kodu yazalım. Her hangi bir butona basılınca çalışacak olan OnButtonUp methodunueditliyelim.

        private void OnButtonUp(object sender, ButtonEventArgs e)

        {

            switch (e.Button)

            {

                case Button.VK_UP:

                    text.Height += 5;

                    break;

                case Button.VK_DOWN:

                    text.Height -= 5;

                    break;

                case Button.VK_LEFT:

                    text.Width += 5;

                    break;

                case Button.VK_RIGHT:

                    text.Width -= 5;

                    break;

            }

        }

Uygulamamızı emulator üzerinde çalıştıra biliriz. Programı nereye deploy edeceğinizi, Solution Explorer de projeye sağ tıklayıp “Properties” der ve Deployment aracı olarak “Emulator”ü seçeriz.

Şimdi F5 deyip Deployment işlemini başlata biliriz. 
Ekrandaki text’imizi yön tuşları ile yazıyı ekran üzerinde hareket ettire biliriz.

 

Bir sonraki makalemizde WPF üzerine gideceğiz.

Başarılar.


Çeliker BAHÇECİ
Bilg. Müh.
ben @ celiker.com