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

Şunlar için geçerlidir:IoT Edge 1.4 checkmark IoT Edge 1.4

Önemli

IoT Edge 1.4 desteklenen sürümdür. Önceki bir sürümdeyseniz bkz. IoT Edge’i güncelleştirme.

IoT Edge, mevcut iş mantığınızı uçta çalışan cihazlara taşır. Uygulamalarınızı ve iş yüklerinizi IoT Edge modülleri 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. IoT Edge'i geliştirme makinenizde çalıştırabilir ve buna 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'i çalıştıramıyorsa, yerel olarak test etmeyi ve hata ayıklamayı öğrenmek için bu makalenin Test araçları bölümüne atlayın.

Geliştirme makinesinin ve IoT Edge cihazlarını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ül geliştirebilir ve bunları bir Linux cihazına dağıtabilirsiniz. Linux cihazının modüllerini oluşturmak için Windows makinesinin Linux kapsayıcılarını çalıştırması gerekir.

Kapsayıcı altyapısı

IoT Edge'in 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.

Üretimde 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şturabilecektir.

Geliştirme araçları

Azure IoT Edge geliştirme aracı, IoT Edge modüllerini geliştirmeye ve test etmeye yönelik bir komut satırı aracıdır. 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'a gönderilen iletileri izleyebilirsiniz. iotedgedev aracı, IoT Edge modülleri geliştirmek için önerilen araçtır.

Hem Visual Studio hem de Visual Studio Code, IoT Edge çözümleri geliştirmeye yardımcı olacak 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 ve Visual Studio Code için Azure IoT Edge uzantıları, IoT Edge çözümlerinizi kodlayıp 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'a ulaşan 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.

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ı, makinenize bağımlılıkları el ile yüklemiş olmanız veya iotedgedev aracını bir kapsayıcıda çalıştırmak için önceden oluşturulmuş IoT Edge Geliştirme Kapsayıcısı'nıkullanmanız fark etmese de geliştirme sisteminizle birlikte çalışır.

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

Visual Studio Code uzantısı

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

Önemli

Azure IoT Edge Visual Studio Code uzantısı bakım modundadır. iotedgedev aracı, IoT Edge modülleri geliştirmek için önerilen araçtır.

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üklemeyi yararlı bulabilirsiniz. Örneğin, görüntülerinizi, kapsayıcılarınızı ve kayıt defterlerinizi yönetmek için 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.

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.

Önemli

Azure IoT Edge Visual Studio uzantıları bakım modundadır. iotedgedev aracı, IoT Edge modülleri geliştirmek için önerilen araçtır.

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

Test araçları

IoT Edge cihazlarını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 özel 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 simülasyonunu 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 cihaz benzetimi.
IoT Edge geliştirme kapsayıcısı iotedgedev Windows, Linux, macOS Bağımlılıkları yüklemeden geliştirme.

IoT EdgeHub geliştirme aracı

Azure IoT EdgeHub geliştirme aracı yerel bir geliştirme ve hata ayıklama deneyimi sağlar. Araç, IoT Edge modüllerini ve çözümlerini yerel olarak oluşturabilmeniz, geliştirebilmeniz, test edebilmeniz, çalıştırabilmeniz ve hatalarını ayıklayabileceğiniz IoT Edge çalışma zamanı olmadan IoT Edge modüllerini başlatmanıza yardımcı olur. Görüntüleri 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.

Önemli

IoT EdgeHub geliştirme aracı bakım modundadır. IoT Edge çalışma zamanı yüklü bir Linux sanal makinesi, fiziksel cihaz veya EFLOW kullanmayı göz önünde bulundurun.

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

IoT Edge geliştirme kapsayıcısı

Azure IoT Edge geliştirme kapsayıcısı, IoT Edge geliştirmesi 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. Tek yüklemeniz gereken 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 ö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, Bunu IoT Edge geliştirme aracında bulunan CLI özellikleriyle yapabilirsiniz.

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