Azure IoT cihaz geliştirme

Azure IoT, IoT cihazlarınızı bağlayan, izleyen ve denetleen yönetilen ve platform hizmetlerinden oluşan bir koleksiyondur. Azure IoT, geliştiricilere kapsamlı bir seçenek kümesi sunar. Seçenekleriniz arasında cihaz platformları, destekleyici bulut hizmetleri, SDK'lar, MQTT desteği ve cihaz özellikli bulut uygulamaları oluşturmaya yönelik araçlar yer alır.

Bu makalede, Azure IoT'yi kullanmaya başlayan geliştiriciler için dikkat edilmesi gereken bazı önemli noktalara genel bakış sağlanır.

Cihaz geliştirme yolları

Bu makalede iki yaygın cihaz geliştirme yolu ele alınmaktadır. Her yol bir dizi ilgili geliştirme seçeneği ve görevi içerir.

  • Genel cihaz geliştirme: Modern geliştirme uygulamalarıyla uyumludur, daha yüksek sıralı dilleri hedefler ve Windows veya Linux gibi genel amaçlı bir işletim sisteminde yürütülür.

    Not

    Cihazınız genel amaçlı bir işletim sistemi çalıştırabiliyorsa Genel cihaz geliştirme yolunu izlemenizi öneririz. Daha zengin bir geliştirme seçenekleri kümesi sağlar.

  • Tümleşik cihaz geliştirme: Kaynak kısıtlanmış cihazları hedefleyen geliştirmeyi açıklar. Birim maliyetlerini, güç tüketimini veya cihaz boyutunu azaltmak için genellikle kaynak kısıtlanmış bir cihaz kullanırsınız. Bu cihazlar, yürütürken kullandıkları donanım platformu üzerinde doğrudan denetime sahiptir.

Genel cihaz geliştirme

Bazı geliştiriciler buluta bağlanmak ve IoT çözümleriyle tümleştirmek için mevcut, genel amaçlı cihazları uyarlar. Bu cihazlar C# veya Python gibi daha yüksek sıralı dilleri destekleyebilir ve genellikle Windows veya Linux gibi sağlam bir genel amaçlı işletim sistemini destekler. Yaygın hedef cihazlar bilgisayarlar, Kapsayıcılar, Raspberry Pis ve mobil cihazlardır.

Genel cihaz geliştiricileri, kısıtlı cihazları büyük ölçekte geliştirmek yerine bulut çözümlerinin gerektirdiği belirli bir IoT senaryoyu etkinleştirmeye odaklanır. Bazı geliştiriciler, bulut çözümleri için kısıtlanmış cihazlarda da çalışır. Kaynak kısıtlanmış cihazlarla çalışan geliştiriciler için Ekli Cihaz Geliştirme yoluna bakın.

Önemli

Genel cihaz geliştirme için kullanılacak SDK'lar hakkında bilgi için bkz . Cihaz SDK'ları.

Tümleşik cihaz geliştirme

Katıştırılmış geliştirme, sınırlı belleğe ve işlemeye sahip kısıtlanmış cihazları hedefler. Kısıtlanmış cihazlar, elde edilebilecekleri geleneksel bir geliştirme platformuna kıyasla kısıtlar.

Katıştırılmış cihazlar genellikle gerçek zamanlı bir işletim sistemi (RTOS) kullanır veya hiç işletim sistemi kullanmaz. Genel amaçlı bir işletim sisteminin olmaması nedeniyle katıştırılmış cihazlar donanımları üzerinde tam denetime sahiptir. Bu gerçek, katıştırılmış cihazları gerçek zamanlı sistemler için iyi bir seçenek haline getirir.

Geçerli eklenmiş SDK'lar C dilini hedefler. Katıştırılmış SDK'lar işletim sistemi veya Eclipse ThreadX desteği sağlamaz. Bunlar, eklenmiş hedefler düşünülerek tasarlanmıştır. Tasarımla ilgili dikkat edilmesi gerekenler arasında minimum ayak izi gereksinimi ve bellek ayırmayan bir tasarım yer alır.

Önemli

Tümleşik cihaz geliştirme ile kullanılacak SDK'lar hakkında bilgi için bkz . Katıştırılmış cihaz SDK'ları.

Donanımınızı seçme

Azure IoT cihazları, ioT çözümünün temel yapı taşlarıdır ve ortamlarını gözlemleyip bunlarla etkileşim kurmakla sorumludur. Birçok farklı türde IoT cihazı vardır ve mevcut cihaz türlerini ve bunların geliştirme sürecinizi nasıl etkileyebileceğini anlamak yararlı olur.

Bu makalede ele alınan cihaz türleri arasındaki fark hakkında daha fazla bilgi için bkz . IoT Cihaz Türleri Hakkında.

SDK seçme

Azure IoT cihaz geliştiricisi olarak, cihaz özellikli bulut uygulamaları oluşturmaya yardımcı olmak için çeşitli SDK'lar, protokoller ve araçlara sahipsiniz.

Cihazları bağlamak ve IoT Hub ile iletişim kurmak için iki ana seçenek vardır:

  • Azure IoT SDK'larını kullanın. Çoğu durumda Azure IoT SDK'larını ve MQTT'yi doğrudan kullanmanızı öneririz. SDK'lar geliştirme çalışmanızı kolaylaştırır ve cihazları bağlama ve yönetme karmaşıklığını basitleştirir. IoT Hub, MQTT v3.1.1 protokollerini destekler ve IoT SDK'ları, IoT Hub ile iletişim kurmak için MQTT kullanma sürecini basitleştirir.
  • MQTT protokolunu doğrudan kullanın. MQTT'yi doğrudan kullanmak için ioT Hub çözümü oluşturmanın bazı avantajları vardır. Örneğin, DOĞRUDAN SDK'lar olmadan MQTT kullanan bir çözüm açık MQTT standardına göre oluşturulabilir. Standartlara dayalı bir yaklaşım, çözümü daha taşınabilir hale getirir ve cihazların nasıl bağlanıp iletişim kurduğu üzerinde daha fazla denetim sağlar. Ancak IoT Hub tam özellikli bir MQTT aracısı değildir ve MQTT v3.1.1 standardında belirtilen tüm davranışları desteklemez. MQTT v3.1.1 için kısmi destek, geliştirme maliyetini ve karmaşıklığını artırır. Cihaz geliştiricileri, IoT cihaz SDK'larını kullanma ile MQTT'yi doğrudan kullanma arasındaki dengeleri değerlendirmelidir. Daha fazla bilgi için bkz . MQTT protokolunu kullanarak IoT hub'ı ile iletişim kurma.

Cihaz geliştirme için üç IoT SDK kümesi vardır:

  • Cihaz SDK'ları (mevcut genel amaçlı cihazları IoT uygulamalarına bağlamak için daha yüksek sıralı diller kullanmak için)
  • Ekli cihaz SDK'ları (kaynak kısıtlanmış cihazlarını IoT uygulamalarına bağlamak için)
  • Hizmet SDK'ları (cihazları hizmetlere bağlayan Azure IoT çözümleri oluşturmak için)

Azure IoT cihazı veya hizmet SDK'sı seçme hakkında daha fazla bilgi edinmek için bkz . Azure IoT SDK'ları.

Hizmet seçme

Geliştirme sürecinin önemli bir adımı, cihazlarınızı bağlamak için bir hizmet seçmektir. Cihazları bağlamak ve yönetmek için iki birincil Azure IoT hizmeti seçeneği vardır: IoT Hub ve IoT Central.

  • Azure IoT Hub. IoT uygulamalarını barındırmak ve cihazları bağlamak için Iot Hub'ı kullanın. IoT Hub, IoT uygulamaları ve bağlı cihazlar arasında çift yönlü iletişim için merkezi bir ileti hub'ı işlevi gören bir hizmet olarak platform (PaaS) uygulamasıdır. IoT Hub, milyonlarca cihazı destekleyecek şekilde ölçeklendirilebilir. IoT Hub, diğer Azure IoT hizmetlerine kıyasla uygulama tasarımınız üzerinde en büyük denetimi ve özelleştirmeyi sunar. Ayrıca, geliştirme ve yönetim karmaşıklığının bir miktar artması karşılığında hizmetle çalışmak için en fazla geliştirici aracı seçeneği sunar.
  • Azure IoT Central. IoT Central, IoT çözümleriyle çalışma sürecini basitleştirmek için tasarlanmıştır. IoT çözümlerinizi değerlendirmek için kavram kanıtı olarak kullanabilirsiniz. IoT Central, uygulama oluşturma ve cihazları bağlama ve yönetme görevlerini basitleştirmek için bir web kullanıcı arabirimi sağlayan bir hizmet olarak yazılım (SaaS) uygulamasıdır. IoT Central, uygulamaları oluşturmak ve yönetmek için IoT Hub'ı kullanır, ancak çoğu ayrıntıyı kullanıcıya saydam tutar.

Cihazları bağlama ve yönetme araçları

Kullanılacak donanım ve cihaz SDK'sını seçtikten sonra çeşitli geliştirici araçları seçeneğiniz vardır. Cihazınızı IoT Hub'a bağlamak ve yönetmek için bu araçları kullanabilirsiniz. Aşağıdaki tabloda yaygın araç seçenekleri özetlenmiştir.

Araç Belgeler Açıklama
Azure portal Azure portalı ile IoT hub'ı oluşturma IoT Hub ve cihazlar için tarayıcı tabanlı portal. IoT Central dahil olmak üzere diğer Azure kaynaklarıyla da çalışır.
Azure IoT Gezgini Azure IoT Gezgini IoT hub'ları oluşturulamıyor. Cihazları yönetmek için mevcut bir IoT hub'ına Bağlan. Genellikle CLI veya Portal ile kullanılır.
Azure CLI CLI ile IoT hub'ı oluşturma IoT uygulamaları oluşturmak ve yönetmek için komut satırı arabirimi.
Azure PowerShell PowerShell ile IoT hub'ı oluşturma IoT uygulamaları oluşturmak ve yönetmek için PowerShell arabirimi
VS Code için Azure IoT Araçları VS Code Araçları ile IoT hub'ı oluşturma IoT Hub uygulamaları için VS Code uzantısı.

Not

Daha önce listelenen araçlara ek olarak, REST API'leri, Azure SDK'ları veya Azure Resource Manager şablonlarını kullanarak IoT uygulamalarını program aracılığıyla oluşturabilir ve yönetebilirsiniz. IoT Hub hizmeti belgelerinde daha fazla bilgi edinin.

Sonraki adımlar

Cihazları Azure IoT'ye bağlamak için kullanabileceğiniz cihaz SDK'ları hakkında daha fazla bilgi edinmek için aşağıdaki makaleye bakın.

Uygulamalı cihaz geliştirmeye başlamak için kullandığınız cihazlarla ilgili bir cihaz geliştirme öğreticisi seçin. Aşağıdaki öğreticiler, genel cihaz geliştirme veya tümleşik cihaz geliştirme için iyi başlangıç noktalarıdır.