Azure Sphere uygulamalarını geliştirirken öncelikle bir geliştirme kartı üzerinde çalışmanız, sonrasında ürünün seri üretimde alacağı tasarımı belirlemeniz yerinde olur. Fonksiyonel bir geliştirme kartından beklentimiz üzerinde sensörler bulunması, dışarıdan sensör ya da bileşenlerin eklenebilmesi ve üzerindeki modülün gerçek hayata kolaylıkla adapte edilebilmesidir. Bu yazı yazılırken belirtilen şartları sağlayan en iyi donanım olarak "Avnet Azure Sphere MT3620 Starter Kit" i öneriyorum.

Bu yazıda anlatılanları herhangi bir Azure Sphere geliştirme kartıyla yapabilirsiniz.

Donanım İncelemesi

Avnet Azure Sphere MT3620 Starter Kit, Azure Sphere için hızlı prototipleme yapılabilmesini sağlar. Üzerinde seri üretimde kullanılmaya hazır MT3620 Sphere modülü bulunur. Bu modül, uygulamanın çalışacağı yapıyı (SoC / System on Chip), 2.4G / 5G WiFi sistemini, dahili WiFi antenini ve ek anten bağlantısını taşır.

Avnet Azure Sphere MT3620 Starter Kit

MT3620 Modülü, neredeyse her türlü sensörle iletişimi sağlayabilecek UART, I2C ve SPI protokollerini ve 27 adet GPIO bağlantısını sunar. Uç gereksinimler dışında her türlü projede bu modülü kullanabilirsiniz.

Starter Kit ise, yukarıda saydığım modül bağlantılarını prototipleme amacıyla kolay kullanılabilir soketler halinde dışarıya açar. Aynı zamanda modülün elektrik alması ve programlanabilmesi için gerekli bileşenleri içerir.

Starter Kit Üzerindeki Sensörler

  • 3D İvme / Gyro sensörü
  • Sıcaklık / Basınç / Barometre sensörü

Starter Kit Bağlantıları

  • 2 Adet MikroElektronika Click Board soketi (mikroBUS) - 500'ün üzerinde sensör, ekran, motor sürücü gibi modülü kullanabilirsiniz.
  • Grove System konnektörü - Kablo ile I2C protokolünü kullanan sensör ve diğer donanımları kullanabilirsiniz. Bir I2C hattı üzerinde 100'ün üzerinde cihaz çalışabilir.
  • 128x64 Çözünürlüğünde OLED ekran bağlantı pinleri - Lehim gerektirir.
  • USB bağlantısı - Güç sağlama, debug, kurtarma ve JTAG için.
  • Güç bağlantıları - 5V Güç girişi ve batarya bağlantısı için.

Diğer Starter Kit Bileşenleri

  • Buton ve LED'ler - Deneme ve sistem durumunun gösteriminde kullanılabilir.
  • USB'yi UART'a çevirmek için FTDI entegresi - Modül ile bilgisayar arasındaki bağlantıyı sağlar.

Bu özellikler çoğu IoT uygulaması için derin donanım bilgisi gerektirmeden, modüler olarak proje geliştirmenizi sağlayacaktır. Modülün detaylı incelemesi gelecek yazılarımda bulabilirsiniz.

Ön Gereksinimler

Azure Sphere uygulaması geliştirmek için sağlamanız gereken en temel gereksinimler aşağıdaki gibidir:

  • Azure Sphere geliştirme kartı
  • Windows 10 / Ubuntu 18.04 LTS ile çalışan bir bilgisayar
  • Visual Studio ya da VSCode
  • USB Bağlantısı. Sanal makine üzerinde çalışıyorsanız USB pass-through.

Windows & Visual Studio için Kurulum

Azure Sphere'i Visual Studio ile geliştirmek için Azure Sphere SDK kurulumu yapmanız gerekir. SDK'i https://aka.ms/AzureSphereSDKDownload bağlantısından indirip kurabilirsiniz. Azure Sphere SDK, Visual Studio ya da  high-level ve real-time uygulamaları derleyebilmeniz için gerekli tüm bileşenleri sağlar.

Windows & VSCode için Kurulum

VSCode ile devam etmek için Extensions - Marketplace'den Azure Sphere'i arayıp kurmanız gerekir. Ardından, Extensions bölmesinde "Azure Sphere", "C/C++" ve "CMake Tools" un etkin olduğunu görmelisiniz.

Sonraki Adımlar

Donanımı Üzerinize Alın (Claim Device)

Tüm Azure Sphere cihazlarının "claim" edilmesi, yani sabit ve özel Device ID'sinin Azure Sphere servisiyle eşleştirilmesi gerekmektedir. Azure Sphere Security Service, bu ID ile cihazınızı tanımlar ve authentication işlemini yapar.

Cihaz ID'leri değiştirilemez ve claim işleminden sonra transferi mümkün değildir.

  1. Geliştirme kitini bilgisayarınıza bağlayın. İlk kez bir Azure Sphere donanımı bağlıyorsanız Windows, Serial Port sürücülerini arayıp kuracaktır. Bu işlem için İnternet bağlantısı gerekmektedir. Sürücülerin yüklendiğinden emin olmak için Device Manager > Ports altında USB Serial Port cihazlarının göründüğünden emin olun.
  2. Başlat menüsünden "Azure Sphere Developer Command Prompt" u çalıştırın.
  3. Azure Sphere'e ilk kez giriş yapıyorsanız "azsphere login --newuser <email-address>" komutuyla kendinizi kaydedin. "Registration successful. Press any key to log in with your new account." mesajını gördükten sonra bir tuşa basın.
  4. Daha önceden Azure Sphere girişi yaptıysanız, "azsphere login" komutuyla devam edin ve login penceresi için bir tuşa basın.
  5. Açılan "Sign in to your account" penceresinden kullanmak istediğiniz e-mail adresinizi ve parolanızı girerek devam edin. Azure Sphere'in Microsoft hesabınız üzerindeki yetki işlemini onaylayın.
  6. Login işleminden sonra tenant seçmeniz gerekir. Önceden oluşturulmuş bir tenantınız varsa seçili gelir. Birkaç tenantınız varsa birini seçmeniz gerekir. İlk kez giriş yapıyorsanız bir sonraki aşamada anlatılacağı gibi tenant oluşturun.
  7. Tenant oluşturmak: Azure Sphere tenantları yeniden adlandırılamaz, taşınamaz ve silinemez. Tenant adını belirlerken kalıcı olacağını unutmayın. Azure Sphere Developer Command Prompt'a "azsphere tenant create --name <my-tenant>" komutuyla <my-tenant> kısmına tenant adınızı yazarak kaydınızı yapın. Devam etmek isteyip istemediğiniz sorulacak, "yes" yazarak işlemi onaylayın.
  8. Cihazınızı claim etmek için "azsphere device claim" komutunu kullanın. Kısa süre sonra "Successfully claimed device ID x into tenant x with ID x." mesajını göreceksiniz.

WiFi Ayarlarını Yapın

  1. Tenant kaydı yapılmış cihazı İnternet'e bağlamak için, önce altyapınızın MAC kaydı gerektirip gerektirmediğini bilmeniz gerekir. MAC Kaydı gerektiren bir altyapınız varsa, Azure Sphere Developer Command Prompt'a "azsphere device wifi show-status" komutunu yazın ve MAC adresinizi öğrenin.
  2. WiFi Bilgilerinizi "azsphere device wifi add --ssid <SSID> --psk <NETWORKKEY>" komutuyla cihaza kaydedin. Bu komutun ardından cihazınız kablosuz ağa bağlanacaktır. "azsphere device wifi show-status" komutuyla bağlantı durumunu kontrol edebilirsiniz. (Parola gerektirmeyen ağlara bağlanmak için "--psk" ve sonrasını kullanmayın.)
  3. Azure Sphere, İnternet'e bağlandığında ve 24 saatte bir işletim sistemi güncellemelerini kontrol eder. Bir güncelleme varsa bunu indirir ve kurulum sırasında birkaç dakika donanımınız yanıt vermeyebilir. Güncelleme durumunu manuel kontrol etmek için "azsphere device show-deployment-status" komutunu kullanın.

Azure Sphere Development Kit ayarlarınız tamamlandı. Bundan sonra uygulama geliştirmek ve bulut üzerinden uygulama yüklemek ile devam edeceğiz.