IoT cihaz geliştirme

Bu genel bakış, tipik bir Azure IoT çözümüne bağlanan cihazlar geliştirmeyle ilgili temel kavramları tanıtır. Her bölüm, daha fazla ayrıntı ve rehberlik sağlayan içeriğe bağlantılar içerir.

Aşağıdaki diyagramda, tipik bir IoT çözümündeki bileşenlerin üst düzey görünümü gösterilmektedir. Bu makale, diyagramda gösterilen cihazlara ve ağ geçidine odaklanır.

Cihaz bağlantı alanlarını vurgulayan üst düzey IoT çözüm mimarisini gösteren diyagram.

Azure IoT'de bir cihaz geliştiricisi çözümdeki cihazlarda çalıştırılacak kodu yazar. Bu kod genellikle:

  • Bulut uç noktasına güvenli bir bağlantı kurar.
  • Ekli algılayıcılardan toplanan telemetri verilerini buluta gönderir.
  • Cihaz durumunu yönetir ve bu durumu bulutla eşitler.
  • Buluttan gönderilen komutları yanıtlar.
  • Yazılım güncelleştirmelerinin buluttan yüklenmesini sağlar.
  • Cihazın bulutla bağlantısı kesildiğinde çalışmaya devam etmelerini sağlar.

Cihaz türleri

IoT cihazları mikrodenetleyiciler (MCU) ve mikro işlemciler (MPU) olmak üzere iki geniş kategoriye ayrılabilir:

  • MCU'lar, MPU'lardan daha ucuz ve çalıştırılması daha kolaydır.
  • MCU, yonganın kendisinde bellek, arabirimler ve G/Ç gibi birçok işlevi içerir. MPU, destekleyici yongalardaki bileşenlerden bu işleve erişir.
  • MCU genellikle gerçek zamanlı işletim sistemi (RTOS) kullanır veya çıplak işletim sistemi (işletim sistemi olmadan) çalıştırır ve gerçek zamanlı yanıtlar ve dış olaylara son derece belirleyici tepkiler sağlar. MPU'lar genellikle windows, Linux veya macOS gibi belirsiz bir gerçek zamanlı yanıt sağlayan genel amaçlı bir işletim sistemi çalıştırır. Bir görevin ne zaman tamamlanacağı genellikle garanti değildir.

Özelleştirilmiş donanım ve işletim sistemlerine örnek olarak şunlar verilebilir:

IoT için Windows, kolay sağlama ve yönetim ile güvenli cihazlar oluşturmanıza olanak tanıyan bulut bağlantısına sahip MPU'lar için Windows'un katıştırılmış bir sürümüdür.

Eclipse ThreadX , MCU'lar tarafından desteklenen IoT ve uç cihazlar için gerçek zamanlı bir işletim sistemidir. Eclipse ThreadX, pille güçlendirilmiş ve 64 KB'tan az flash belleğe sahip yüksek oranda kısıtlanmış cihazları destekleyecek şekilde tasarlanmıştır.

Azure Sphere , internete bağlı cihazlar için yerleşik iletişim ve güvenlik özelliklerine sahip güvenli, üst düzey bir uygulama platformudur. Güvenli, bağlantılı, çapraz bir MCU, özel bir üst düzey Linux tabanlı işletim sistemi ve sürekli, yenilenebilir güvenlik sağlayan bulut tabanlı bir güvenlik hizmetinden oluşur.

Temel Türler

Azure IoT cihazı, bulutla etkileşime geçmek için aşağıdaki temel özellikleri kullanabilir:

  • Buluta zaman serisi telemetrisi göndermek için cihazdan buluta iletiler. Örneğin, cihaza bağlı bir algılayıcıdan toplanan sıcaklık verileri.
  • Yakalanan görüntüler ve video gibi medya dosyaları için karşıya dosya yüklemeleri . Aralıklı olarak bağlı cihazlar telemetri toplu işlemlerini gönderebilir. Cihazlar, bant genişliğinden tasarruf etmek için karşıya yüklemeleri sıkıştırabilir.
  • Durum verilerini bulutla paylaşmak ve eşitlemek için cihaz ikizleri . Örneğin bir cihaz, denetlediğinden bir vananın geçerli durumunu buluta bildirmek ve buluttan istenen hedef sıcaklığı almak için cihaz ikizini kullanabilir.
  • Dijital dünyadaki bir cihazı temsil eden dijital ikizler . Örneğin, dijital ikiz bir cihazın fiziksel konumunu, özelliklerini ve diğer cihazlarla ilişkilerini temsil edebilir.
  • Buluttan komut almak için doğrudan yöntemler . Doğrudan yöntem parametrelerine sahip olabilir ve bir yanıt döndürebilir. Örneğin bulut, cihazın 30 saniye içinde yeniden başlatılmasını istemek için doğrudan bir yöntem çağırabilir.
  • Buluttan tek yönlü bildirimler almak için buluttan cihaza iletiler. Örneğin, bir güncelleştirmenin indirilmeye hazır olduğunu belirten bir bildirim.

Daha fazla bilgi edinmek için bkz . Cihazdan buluta iletişim kılavuzu ve Buluttan cihaza iletişim kılavuzu.

Cihaz SDK'ları

Cihaz SDK'ları, temel alınan iletişim protokolleri hakkında bilgi sahibi olmadan temel bilgileri kullanmanıza olanak sağlayan üst düzey soyutlamalar sağlar. Cihaz SDK'ları, buluta güvenli bir bağlantı kurma ve cihazın kimliğini doğrulama ayrıntılarını da işler.

MPU cihazları için cihaz SDK'ları aşağıdaki dillerde kullanılabilir:

MCU cihazları için bkz:

Örnekler ve rehberlik

Tüm cihaz SDK'ları buluta bağlanmak, telemetri göndermek ve diğer temel özellikleri kullanmak için SDK'nın nasıl kullanılacağını gösteren örnekler içerir.

IoT cihaz geliştirme sitesi, çeşitli cihaz türleri ve senaryoları için kod uygulamayı gösteren öğreticiler ve nasıl yapılır kılavuzları içerir.

Kod örneği tarayıcısında daha fazla örnek bulabilirsiniz.

Uç noktalara otomatik yeniden bağlanmaları uygulama hakkında daha fazla bilgi edinmek için bkz . Dayanıklı uygulamalar oluşturmak için cihaz yeniden bağlantılarını yönetme.

Cihaz SDK'sı olmadan cihaz geliştirme

Cihaz SDK'larından birini kullanmanız önerilir ancak kullanmamanızı tercih ettiğiniz senaryolar olabilir. Bu senaryolarda, cihaz kodunuz IoT Hub ve Cihaz Sağlama Hizmeti'nin (DPS) desteklediği iletişim protokollerinden birini doğrudan kullanmalıdır.

Daha fazla bilgi için bkz.

Cihaz modelleme

IoT Tak Çalıştır, çözüm oluşturucularının ioT cihazlarını el ile yapılandırma yapmadan çözümleriyle tümleştirmesine olanak tanır. IoT Tak Çalıştır merkezinde, bir cihazın özelliklerini IoT Central gibi IoT Tak Çalıştır özellikli bir uygulamaya tanıtmak için kullandığı bir cihaz modelidir. Bu model, şu öğeleri tanımlayan bir dizi öğe olarak yapılandırılmıştır:

  • Bir cihazın veya başka bir varlığın salt okunur veya yazılabilir durumunu temsil eden özellikler . Örneğin, cihaz seri numarası salt okunur bir özellik ve termostat üzerindeki hedef sıcaklık yazılabilir bir özellik olabilir.
  • Telemetri , verilerin normal bir algılayıcı okuma akışı, ara sıra bir hata veya bilgi iletisi olması fark etmeksizin bir cihaz tarafından yayılan verilerdir.
  • Bir cihazda yapılabilecek bir işlevi veya işlemi açıklayan komutlar . Örneğin, bir komut bir ağ geçidini yeniden başlatabilir veya uzak kamera kullanarak resim çekebilir.

İşbirliğini kolaylaştırmak ve geliştirmeyi hızlandırmak için bu öğeleri farklı modellerde yeniden kullanmak üzere arabirimlerde gruplandırabilirsiniz.

Model, Digital Twins Tanım Dili (DTDL) kullanılarak belirtilir.

IoT Tak Çalıştır, modelleme ve DTDL kullanımı isteğe bağlıdır. IoT cihaz temel öğelerini IoT Tak Çalıştır veya modelleme kullanmadan kullanabilirsiniz. Azure Digital Twins hizmeti ayrıca DTDL modellerini kullanarak binalar veya fabrikalar gibi ortamların dijital modellerini temel alan ikiz grafikler oluşturur.

Cihaz geliştiricisi olarak, bir IoT Tak Çalıştır cihazı uyguladığınızda izleyebileceğiniz bir dizi kural vardır. Bu kurallar, cihaz SDK'larında kullanılabilen temel bilgileri kullanarak kodda cihaz modelini uygulamak için standart bir yol sağlar.

Daha fazla bilgi edinmek için şu makalelere bakın:

Kapsayıcılı cihaz kodu

Cihaz kodunuzu çalıştırmak için Docker gibi kapsayıcılar kullanıyorsanız, kapsayıcı altyapısının özelliklerini kullanarak cihazlarınıza kod dağıtabilirsiniz. Kapsayıcılar ayrıca kodunuz için gerekli tüm kitaplık ve paket sürümlerinin yüklü olduğu bir çalışma zamanı ortamı tanımlamanızı sağlar. Kapsayıcılar, güncelleştirmeleri dağıtmayı ve IoT cihazlarınızın yaşam döngüsünü yönetmeyi kolaylaştırır.

Azure IoT Edge, cihaz kodunu kapsayıcılarda çalıştırır. Azure IoT Edge'i kullanarak cihazlarınıza kod modülleri dağıtabilirsiniz. Daha fazla bilgi edinmek için bkz . Kendi IoT Edge modüllerinizi geliştirme.

İpucu

Azure IoT Edge birden çok senaryoya olanak tanır. IoT cihaz kodunuzu kapsayıcılarda çalıştırmanın yanı sıra, Cihazlarınızda Azure hizmetlerini çalıştırmak ve alan ağ geçitleri uygulamak için Azure IoT Edge'i kullanabilirsiniz. Daha fazla bilgi için bkz. Azure IoT Edge nedir?

Geliştirme araçları

Aşağıdaki tabloda kullanılabilir IoT geliştirme araçlarından bazıları listeilmektedir:

Araç Açıklama
Azure IoT Hub (VS Code uzantısı) Bu VS Code uzantısı, IoT Hub kaynaklarınızı ve cihazlarınızı VS Code içinden yönetmenize olanak tanır.
Azure IoT gezgini Bu platformlar arası araç, IoT Hub kaynaklarınızı ve cihazlarınızı bir masaüstü uygulamasından yönetmenize olanak tanır.
Azure CLI için Azure IoT uzantısı Bu CLI uzantısı , az iot device c2d-messageaz iot hub monitor-events ve gibi az iot device simulatecihazlarla etkileşimleri test etmenize yardımcı olan komutları içerir.

Sonraki adımlar

Azure IoT çözümlerinde cihaz geliştirmeye genel bir bakış gördüğünüze göre, önerilen bazı sonraki adımlar şunlardır: