Azure Sphere uygulamalarını Visual Studio ya da VSCode ile geliştirebiliyoruz. Bu kaynakta VSCode ile high-level uygulama geliştirmek üzerinde duracağız.

Azure Sphere üzerinde high-level ve real-time capable uygulamalar çalıştırılabilir. Çoğu IoT senaryolarında high-level uygulamalar yeterli olacaktır. Real-time capable uygulamalar ise anlık tepki verilmesi gereken sistemlerde tercih edilmelidir. Azure Sphere modülü üzerinde çalışan high-level ve real-time capable uygulamalar birbirleriyle haberleşebilirler.

Tüm Azure Sphere donanımları üzerinde bir high-level uygulama çalışır. Bu uygulama, application library'lerini kullanır. High-level uygulamalar aşağıdaki özelliklere sahiptir:

  • Donanımsal özelliklere erişim (GPIO, UART, SPI, I2C, ADC ve PWM gibi.)
  • RTApps (Real Time Capable uygulamalar) ile haberleşebilir.
  • Internet ve bulut servisleriyle haberleşebilir.
  • Diğer cihaz ve servislerle broker trust bağlantısı kurabilir.

High-level uygulamalar, Azure Sphere OS'de, konteyner içinde Normal World kullanıcı modunda çalışırlar. Platformun güvenliğini korumak için belli yetkileri sınırlandırılmıştır. Bu uygulamaların sürekli çalışıyor olması beklenir. Uygulama herhangi bir sebepten kapanırsa, otomatik olarak yeniden başlatılır.

Ön Gereksinimler

VSCode ile Azure Sphere uygulaması geliştirmek için aşağıdaki adımları sağladığınızdan emin olmalısınız.

  • Azure Sphere cihazınızın USB ile bilgisayarınıza bağlı olması gerekir.
  • Azure Sphere cihazınızın İnternet'e bağlı olması gerekir.
  • Bilgisayarınıza Azure Sphere Dev Kit Kurulumu yazısında belirtilen bileşenleri kurmuş olmanız gerekir.
  • Bilgisayarınızda VSCode'un ve Azure Sphere extension'un kurulu olması gerekir.

Donanım Hazırlığı

Azıre Sphere cihazları varsayılan yapılandırmalarında geliştirme aşamasındaki uygulamaların kendilerine yüklenmesine izin vermez. Cihaz üzerinde uygulama geliştirmek için development modunu aktive etmeniz gerekmektedir. Bunun için;

  1. Başlat menüzünden Azure Sphere Developer Command Prompt'u açın.
  2. "azsphere device enable-development" komutunu çalıştırın.
  3. Çalıştırdığınız komut birkaç saniyede İnternet'ten device capability configuration'ı indirecek, cihazınızın uygulama güncelleme özelliğini kapatacak ve cihazınızı yeniden başlatarak geliştirme amaçlı kullanıma hazır hale getirecektir.
  4. Cihazı geliştirme amaçlı kullanmanız tamamlandığında "azsphere device enable-cloud-test" komutuyla debug özelliğini kapatıp uygulama güncellemelerini açarak orijinal ayarlarına döndürebilirsiniz.

Örnek Uygulama

  1. Örnek uygulamayı https://github.com/Azure/azure-sphere-samples GitHub deposundan bilgisayarınıza indirin.
  2. VSCode'u açın ve Samples > Hello World > HelloWorld_HighLevelApp klasörünü açın. VSCode, CMake kitinin bulunmadığı uyarısını verirse, "do not use a kit" seçeneğiyle devam edin.
  3. F5 İle projeyi derleyin. Proje daha önce derlenmediyse, VSCode projeyi derleyecek.
  4. Kısa süre içinde VSCode uygulama derlemesini tamamlayacak, image package'ı oluşturacak, modüle yükleyecek ve uygulamayı debug modunda çalıştıracak.
  5. Uygulama çalışmaya başladığında geliştirme kartı üzerindeki LED'in yanıp söndüğünü göreceksiniz.

CMake ve Ninja Hataları

Uygulamanızın derlenmesi için CMake ve Ninja PATH ayarlarınızın yapılmış olması gerekir.

  • CMake'i cmake.org/download/ adresinden indirin. (Windows win64-x64 Installer) Kurulum sırasında tüm kullanıcılar için PATH kaydının yapılmasını seçin.
  • CMake kurulumunu test etmek için terminale "cmake -version" yazın ve "cmake version x.xx" yanıtını gördüğünüzden emin olun.
  • Ninja'yı github.com/ninja-build/ninja/releases adresinden indirin ve exe dosyasını değiştirmeyeceğiniz bir klasöre kopyalayın. Windows'un PATH listesine Ninja'yı kopyaladığınız klasör yolunu girin.
  • Ninja kurulumunu test etmek için terminale "ninja --version" yazın. "x.x.x" yanıtını gördüğünüzden emin olun.
  • VSCode'da "CMake Tools" extension'ının kurulu olduğundan emin olun.
  • Bu kurulumlardan sonra VSCode'u yeniden başlatın. F5 İle uygulamanızı derleyebilirsiniz.