Geliştirme ve test ortamınızı IoT Edge için hazırlama

Şunlar için geçerlidir:IoT Edge 1.4 onay işareti IoT Edge 1.4

IoT Edge mevcut iş mantığınızı uçta çalışan cihazlara taşır. Uygulamalarınızı ve iş yüklerinizi IoT Edge modüller olarak çalışacak şekilde hazırlamak için bunları kapsayıcı olarak oluşturmanız gerekir. Bu makalede, başarılı bir IoT Edge çözümü oluşturabilmeniz için geliştirme ortamınızı yapılandırma hakkında yönergeler sağlanır. Geliştirme ortamınızı ayarladıktan sonra kendi IoT Edge modüllerinizi geliştirmeyi öğrenebilirsiniz.

Herhangi bir IoT Edge çözümünde dikkate alınması gereken en az iki makine vardır: IoT Edge modülünü çalıştıran IoT Edge cihazı (veya cihazları) ve modülleri derleyen, test eden ve dağıtan geliştirme makinesi. Bu makale öncelikle geliştirme makinesine odaklanır. Test amacıyla iki makine aynı olabilir. Geliştirme makinenizde IoT Edge çalıştırabilir ve modül dağıtabilirsiniz.

İşletim sistemi

IoT Edge desteklenen belirli bir işletim sistemi kümesinde çalışır. IoT Edge için geliştirme yaparken, kapsayıcı altyapısı çalıştırabilen çoğu işletim sistemini kullanabilirsiniz. Kapsayıcı altyapısı, modüllerinizi kapsayıcı olarak derlemek ve bunları bir kapsayıcı kayıt defterine göndermek için geliştirme makinesinde bir gereksinimdir.

Geliştirme makineniz IoT Edge çalıştıramıyorsa, yerel olarak test etmeyi ve hatalarını ayıklamayı öğrenmek için bu makalenin Test araçları bölümüne atlayın.

Geliştirme makinesinin ve IoT Edge cihazların işletim sistemlerinin eşleşmesi gerekmez. Ancak kapsayıcı işletim sisteminin geliştirme makinesi ve IoT Edge cihazıyla tutarlı olması gerekir. Örneğin, bir Windows makinesinde modüller geliştirebilir ve bunları bir Linux cihazına dağıtabilirsiniz. Windows makinesinin Linux cihazının modüllerini oluşturmak için Linux kapsayıcılarını çalıştırması gerekir.

Kapsayıcı altyapısı

IoT Edge merkezi kavramı, iş ve bulut mantığınızı kapsayıcılar halinde paketleyerek cihazlara uzaktan dağıtabilmenizdir. Kapsayıcılar oluşturmak için geliştirme makinenizde bir kapsayıcı altyapısına ihtiyacınız vardır.

Üretimdeki IoT Edge cihazlar için desteklenen tek kapsayıcı altyapısı Moby'dir. Ancak Docker gibi Open Container Initiative ile uyumlu tüm kapsayıcı altyapıları IoT Edge modül görüntüleri oluşturabiliyor.

Geliştirme araçları

Hem Visual Studio hem de Visual Studio Code, IoT Edge çözümleri geliştirmeye yardımcı olmak için eklenti uzantılarına sahiptir. Bu uzantılar, yeni IoT Edge senaryoları oluşturmaya ve dağıtmaya yardımcı olmak için dile özgü şablonlar sağlar. Visual Studio için Azure IoT Edge uzantıları ve Visual Studio Code IoT Edge çözümlerinizi kodlamanıza, oluşturmanıza, dağıtmanıza ve hatalarını ayıklamanıza yardımcı olur. Birden çok modül içeren bir IoT Edge çözümünün tamamını oluşturabilirsiniz ve uzantılar her yeni modül eklemesiyle bir dağıtım bildirimi şablonunu otomatik olarak güncelleştirir. Uzantılar, Visual Studio veya Visual Studio Code içinden IoT cihazlarının yönetimini de etkinleştirir. Modülleri bir cihaza dağıtabilir, durumu izleyebilir ve IoT Hub gelen iletileri görüntüleyebilirsiniz. Son olarak, her iki uzantı da geliştirme makinenizde modüllerin yerel olarak çalıştırılmasını ve hata ayıklamasını etkinleştirmek için IoT EdgeHub geliştirme aracını kullanır.

Diğer düzenleyicilerle veya CLI'dan geliştirmeyi tercih ediyorsanız, Azure IoT Edge geliştirme aracı komut satırından geliştirme ve test edebilmeniz için komutlar sağlar. Yeni IoT Edge senaryoları oluşturabilir, modül görüntüleri oluşturabilir, modülleri bir simülatörde çalıştırabilir ve IoT Hub gönderilen iletileri izleyebilirsiniz.

Visual Studio Code uzantısı

Visual Studio Code için Azure IoT Edge uzantısı C, C#, Java, Node.js ve Python gibi programlama dillerine dayalı IoT Edge modül şablonları sağlar. C# dilindeKi Azure işlevlerine yönelik şablonlar da dahildir.

Daha fazla bilgi edinmek ve indirmek için bkz. Visual Studio Code için Azure IoT Edge.

IoT Edge uzantılarına ek olarak, geliştirme için ek uzantılar yüklemek yararlı olabilir. Örneğin, görüntülerinizi, kapsayıcılarınızı ve kayıt defterlerinizi yönetmek üzere Visual Studio Code için Docker Desteği'ni kullanabilirsiniz. Ayrıca, desteklenen tüm ana dillerin Visual Studio Code için modülleri geliştirirken yardımcı olabilecek uzantıları vardır.

Azure IoT Hub uzantısı, Azure IoT Edge uzantısı için yardımcı olarak kullanışlıdır.

Önkoşullar

Bazı diller ve hizmetler için modül şablonlarının, Visual Studio Code ile geliştirme makinenizde proje klasörlerini oluşturmak için gereken önkoşulları vardır.

Modül şablonu Önkoşul
Azure İşlevleri .NET Core SDK
C Git
C# .NET Core SDK
Java
Node.js
Python

Visual Studio 2017/2019 uzantısı

Visual Studio için Azure IoT Edge araçları, C# ve C üzerinde oluşturulmuş bir IoT Edge modülü şablonu sağlar.

Daha fazla bilgi edinmek ve indirmek için bkz. Visual Studio 2017 için Azure IoT Edge Tools veya Visual Studio 2019 için Azure IoT Edge Tools.

IoT Edge geliştirme aracı

Azure IoT Edge geliştirme aracı, komut satırı özellikleriyle IoT Edge geliştirmeyi basitleştirir. Bu araç modülleri geliştirmek, hatalarını ayıklamak ve test etmek için CLI komutları sağlar. IoT Edge geliştirme aracı, bağımlılıkları makinenize el ile yüklemiş olmanıza veya IoT Edge geliştirme kapsayıcısını kullanmanıza bakılmaksızın geliştirme sisteminizle birlikte çalışır.

Daha fazla bilgi edinmek ve başlamak için bkz. geliştirme aracı wiki IoT Edge.

Test araçları

IoT Edge cihazların simülasyonunu oluşturmanıza veya modüllerde daha verimli hata ayıklamanıza yardımcı olacak çeşitli test araçları vardır. Aşağıdaki tabloda, araçlar ile aşağıdaki bölümler arasında üst düzey bir karşılaştırma gösterilmektedir ve her araç daha ayrıntılı olarak açıklanmaktadır.

Üretim dağıtımları için yalnızca IoT Edge çalışma zamanı desteklenir, ancak aşağıdaki araçlar geliştirme ve test amacıyla IoT Edge cihazlarının benzetimini yapmanızı veya kolayca oluşturmanızı sağlar. Bu araçlar birbirini dışlamaz, ancak eksiksiz bir geliştirme deneyimi için birlikte çalışabilir.

Araç Olarak da bilinir Desteklenen platformlar En iyi kullanım alanı:
IoT EdgeHub geliştirme aracı iotedgehubdev Windows, Linux, macOS Modüllerde hata ayıklamak için bir cihazın simülasyonunu yapın.
geliştirme kapsayıcısı IoT Edge iotedgedev Windows, Linux, macOS Bağımlılıkları yüklemeden geliştirme.

IoT EdgeHub geliştirme aracı

Azure IoT EdgeHub geliştirme aracı, yerel geliştirme ve hata ayıklama deneyimi sağlar. Araç, IoT Edge çalışma zamanı olmadan IoT Edge modüllerin başlatılmasına yardımcı olur; böylece yerel olarak IoT Edge modülleri ve çözümleri oluşturabilir, geliştirebilir, test edebilir, çalıştırabilir ve hatalarını ayıklayabilirsiniz. Görüntüleri bir kapsayıcı kayıt defterine göndermeniz ve test için bir cihaza dağıtmanız gerekmez.

IoT EdgeHub geliştirme aracı, Visual Studio ve Visual Studio Code uzantılarının yanı sıra IoT Edge geliştirme aracıyla birlikte çalışacak şekilde tasarlanmıştır. Geliştirme aracı iç döngü geliştirmeyi ve dış döngü testini desteklediğinden diğer DevOps araçlarıyla da tümleştirilir.

Daha fazla bilgi edinmek ve yüklemek için bkz. Azure IoT EdgeHub geliştirme aracı.

geliştirme kapsayıcısı IoT Edge

Azure IoT Edge geliştirme kapsayıcısı, IoT Edge geliştirme için ihtiyacınız olan tüm bağımlılıkları içeren bir Docker kapsayıcısıdır. Bu kapsayıcı C#, Python, Node.js ve Java dahil olmak üzere hangi dilde geliştirmek istiyorsanız kullanmaya başlamanızı kolaylaştırır. Yüklemeniz gereken tek şey Docker veya Moby gibi bir kapsayıcı altyapısıdır ve kapsayıcıyı geliştirme makinenize çeker.

Daha fazla bilgi için bkz. Azure IoT Edge geliştirme kapsayıcısı.

DevOps araçları

Kapsamlı üretim senaryoları için uygun ölçekli çözümler geliştirmeye hazır olduğunuzda otomasyon, izleme ve kolaylaştırılmış yazılım mühendisliği süreçleri dahil olmak üzere modern DevOps ilkelerinden yararlanın. IoT Edge, Azure DevOps, Azure DevOps Projeleri ve Jenkins gibi DevOps araçlarını destekleyen uzantılara sahiptir. Mevcut bir işlem hattını özelleştirmek veya CircleCI veya TravisCI gibi farklı bir DevOps aracı kullanmak istiyorsanız, IoT Edge geliştirme aracında bulunan CLI özellikleriyle bunu yapabilirsiniz.

Daha fazla bilgi, rehberlik ve örnekler için aşağıdaki sayfalara bakın: