Öğretici: Azure Digital Twins Önizleme'yi dağıtma ve uzamsal graf yapılandırma
Önemli
Azure Digital Twins hizmetinin yeni bir sürümü yayımlandı. Yeni hizmetin genişletilmiş özellikleri ışığında özgün Azure Digital Twins hizmeti (bu belge kümesinde açıklanmıştır) kullanımdan kaldırılmıştır.
Yeni hizmetin belgelerini görüntülemek için etkin Azure Digital Twins Belgelerini ziyaret edin.
Kişileri, yerleri ve cihazları tutarlı bir uzamsal sistemde bir araya getirmek için Azure Digital Twins Önizleme hizmetini kullanabilirsiniz. Bu öğretici serisinde, oda doluluk durumunu en uygun sıcaklık ve hava kalitesi koşullarıyla algılamak için Azure Digital Twins'in nasıl kullanılacağı gösterilmektedir.
Bu öğreticiler, bir ofis binası senaryosu oluşturmak için bir .NET konsol uygulamasında size yol gösterir. Binanın her katın içinde birden fazla kat ve oda vardır. Odalarda hareketi, ortam sıcaklığını ve hava kalitesini algılayan takılı algılayıcılara sahip cihazlar bulunur.
Azure Digital Twins hizmetini kullanarak binadaki fiziksel alanları ve varlıkları dijital nesneler olarak çoğaltmayı öğreneceksiniz. Başka bir konsol uygulaması kullanarak cihaz olaylarının benzetimini yapacaksınız. Ardından, bu fiziksel alanlardan ve varlıklardan gelen olayları neredeyse gerçek zamanlı olarak izlemeyi öğreneceksiniz.
Ofis yöneticileri bu tür bilgileri kullanarak bu binada görevli bir çalışanın en uygun koşullara sahip toplantı odalarını ayırması konusunda yardımcı olabilir. Ofis tesis yöneticisi, oda kullanım eğilimlerini almak ve bakım amacıyla çalışma koşullarını izlemek için kurulumunuzu kullanabilir.
Bu serinin ilk öğreticisinde aşağıdakilerin nasıl yapılacağını öğreneceksiniz:
- Digital Twins'i dağıtma.
- Uygulamanıza izinler verin.
- Digital Twins örnek uygulamasını değiştirme.
- Binanızı hazırlar.
Bu öğreticilerde uygun odaları bulma hızlı başlangıcındaki örnekler kullanılmakta, kavramlar daha ayrıntılı bir şekilde ele alınmaktadır.
Önkoşullar
Azure aboneliği. Azure hesabınız yoksa ücretsiz bir hesap oluşturun.
.NET Core SDK'sı. Bu öğreticilerde kullanılan Azure Digital Twins örnekleri C# dilinde yazılmıştır. Örneği derlemek ve çalıştırmak için geliştirme makinenize .NET Core SDK sürüm 2.1.403 veya üzerini yüklediğinizden emin olun. Bir komut penceresinde çalıştırarak
dotnet --version
makinenizde doğru sürümün yüklü olup olmadığını denetleyin.Örnek kodu incelemek için Visual Studio Code.
Digital Twins'i dağıtma
Azure Digital Twins hizmetinin yeni bir örneğini oluşturmak için bu bölümdeki adımları kullanın. Abonelik başına yalnızca bir örnek oluşturulabilir. Zaten çalışan bir bölümünüz varsa sonraki bölüme atlayın.
Azure Portal’ında oturum açın.
Giriş yan çubuğunu ve ardından + Kaynak oluştur'u seçin.
Digital Twins'i arayın ve Digital Twins'i seçin.
Alternatif olarak Nesnelerin İnterneti'ne tıklayın ve Digital Twins (önizleme) seçeneğini belirleyin.
Dağıtım işlemini başlatmak için Oluştur’u seçin.
Digital Twins bölmesine şu bilgileri girin:
Kaynak Adı: Digital Twins örneğiniz için benzersiz bir ad oluşturun.
Abonelik: Bu Digital Twins örneğini oluşturmak için kullanmak istediğiniz aboneliği seçin.
Kaynak grubu: Digital Twins örneği için bir kaynak grubu seçin veya oluşturun.
Konum: Cihazlarınıza en yakın konumu seçin.
Digital Twins bilgilerinizi gözden geçirin ve Oluştur'u seçin. Digital Twins örneğinizin oluşturulması birkaç dakika sürebilir. İlerleme durumunu Bildirimler bölmesinde izleyebilirsiniz.
Digital Twins örneğinizin Genel Bakış bölmesini açın. Yönetim API'sinin altındaki bağlantıya dikkat edin. Yönetim API'si URL'si şu şekilde biçimlendirilir:
https://yourDigitalTwinsName.yourLocation.azuresmartspaces.net/management/swagger
Bu URL, örneğiniz için geçerli olan Azure Digital Twins REST API belgesini açar. Bu API belgelerini okumayı ve kullanmayı öğrenmek için bkz. Azure Digital Twins Swagger'ı kullanma. Yönetim API'si URL'sini şu biçime kopyalayın ve değiştirin:
https://yourDigitalTwinsName.yourLocation.azuresmartspaces.net/management/api/v1.0/
Uygulamanız, değiştirilen URL'yi örneğinize erişmek için temel URL olarak kullanır. Değiştirdiğiniz URL'yi geçici bir dosyaya kopyalayın. Sonraki bölümde buna ihtiyacınız olacak.
Uygulamanıza izin verme
Digital Twins, hizmete okuma/yazma erişimini denetlemek için Azure Active Directory (Azure AD) kullanır. Digital Twins örneğiniz ile bağlanması gereken tüm uygulamalar Azure AD kaydedilmelidir. Bu bölümde örnek uygulamanızı kaydetme adımları gösterilmektedir.
Uygulama kaydınız varsa örnek uygulama için bu kaydı kullanabilirsiniz. Ancak bu bölümdeki adımları izleyerek uygulama kaydınızın doğru yapılandırmaya sahip olduğundan emin olun.
Not
Bu bölümde Azure AD uygulama kaydı yönergeleri sağlanır.
Azure portal, genişletilebilir sol menüden Azure Active Directory'yi açın ve ardından Uygulama kayıtları bölmesini açın.
+ Yeni kayıt düğmesini seçin.
Ad kutusunda bu uygulama kaydı için kolay bir ad verin.
Yeniden Yönlendirme URI'si (isteğe bağlı) bölümünde metin kutusuna girin
https://microsoft.com
.Azure Active Directory uygulamanız tarafından hangi hesapların ve kiracıların desteklendiğini doğrulayın.
Kaydet’i seçin.
Kimlik Doğrulama dikey penceresi önemli kimlik doğrulama yapılandırma ayarlarını belirtir.
+ Platform ekle'yi seçerek Yeniden Yönlendirme URI'leri ekleyin ve Erişim Belirteçlerini yapılandırın.
Uygulamanın genel istemci olduğunu belirtmek için Evet'i seçin.
Azure Active Directory uygulamanız tarafından hangi hesapların ve kiracıların desteklendiğini doğrulayın.
Uygun platformu seçtikten sonra, kullanıcı arabiriminin sağ tarafındaki yan panelde Yeniden Yönlendirme URI'lerinizi ve Erişim Belirteçlerinizi yapılandırın.
Yeniden yönlendirme URI'leri , kimlik doğrulama isteği tarafından sağlanan adresle eşleşmelidir:
- Yerel geliştirme ortamında barındırılan uygulamalar için Genel istemci (mobil & masaüstü) seçeneğini belirleyin. Genel istemciyiEvet olarak ayarladığınızdan emin olun.
- Azure App Service'da barındırılan Single-Page Uygulamalar için Web'i seçin.
Oturumu Kapatma URL'lerinin uygun olup olmadığını belirleyin.
Erişim belirteçlerini veya kimlik belirteçlerini denetleyerek örtük verme akışını etkinleştirin.
Yapılandır'a ve ardından Kaydet'e tıklayın.
Kayıtlı uygulamanızın Genel Bakış bölmesini açın ve aşağıdaki varlıkların değerlerini geçici bir dosyaya kopyalayın. Aşağıdaki bölümlerde örnek uygulamanızı yapılandırmak için bu değerleri kullanacaksınız.
- Uygulama (istemci) kimliği
- Dizin (kiracı) kimliği
Uygulama kaydınız için API izinleri bölmesini açın. + İzin ekle düğmesini seçin. API izinlerini iste bölmesinde kuruluşumun kullandığı API'ler sekmesini seçin ve aşağıdakilerden birini arayın:
Azure Digital Twins
. Azure Digital Twins API'sini seçin.Alternatif olarak, için arama da bulabilirsiniz
Azure Smart Spaces Service
. Azure Akıllı Alanlar Hizmeti API'sini seçin.
Önemli
Görünecek Azure AD API adı ve kimliği kiracınıza bağlıdır:
- Test kiracısı ve müşteri hesapları için
Azure Digital Twins
arama yapmalıdır. - Diğer Microsoft hesapları için
Azure Smart Spaces Service
arama yapmalıdır.
Api'lerden biri seçildikten sonra aynı İstek API'si izinleri bölmesinde Azure Digital Twins olarak görünür. Okuma açılan seçeneğini ve ardından Read.Write onay kutusunu seçin. İzin ekle düğmesini seçin.
Kuruluşunuzun ayarlarına bağlı olarak, bu API'ye yönetici erişimi vermek için ek adımlar uygulamanız gerekebilir. Daha fazla bilgi için yöneticinize başvurun. Yönetici erişimi onaylandıktan sonra, API izinleri bölmesindeki Yönetici Onay Gerekli sütunu izinlerinizi görüntüler.
Azure Digital Twins'in göründüğünü doğrulayın.
Digital Twins örneğini yapılandırma
Bu bölümde , Digital Twins REST API'leriyle iletişim kuran bir Azure Digital Twins uygulamasında size yol gösterir.
Örneği indirme
Uygun odaları bulma hızlı başlangıcı için bu örnekleri daha önce indirdiyseniz bu adımları atlayabilirsiniz.
- Digital Twins .NET örneklerini indirin.
- Makinenizdeki zip klasörünün içeriğini ayıklayın.
Örneği keşfetme
Ayıklanan örnek klasöründeki digital-twins-samples-csharp\digital-twins-samples.code-workspace dosyasını Visual Studio Code ile açın. Bu dosyada iki proje bulunur:
Uzamsal zeka grafiğini yapılandırmak ve sağlamak için sağlama örneği doluluk-hızlı başlangıcını kullanabilirsiniz. Bu grafik, fiziksel alanlarınızın ve içindeki kaynakların dijitalleştirilmiş görüntüsüdür. Akıllı bina için nesneleri tanımlayan bir nesne modeli kullanır. Digital Twins nesnelerinin ve REST API'lerinin tam listesi için bu REST API belgesini veya örneğiniz için oluşturulmuş olan Yönetim API'si URL'sini ziyaret edin.
Örneğin Digital Twins örneğiniz ile nasıl iletişim kurabileceğini anlamak için src\actions klasörüyle başlayabilirsiniz. Bu klasördeki dosyalar, bu öğreticilerde kullanacağınız komutları uygular:
- provisionSample.cs dosyası uzamsal grafınızı sağlamayı gösterir.
- getSpaces.cs dosyası sağlanan alanlar hakkında bilgi alır.
- getAvailableAndFreshSpaces.cs dosyası, kullanıcı tanımlı işlev olarak adlandırılan özel bir işlevin sonuçlarını alır.
- createEndpoints.cs dosyası, diğer hizmetlerle etkileşim kurmak için uç noktalar oluşturur.
Simülasyon örneği cihaz bağlantısı , algılayıcı verilerinin simülasyonunu oluşturur ve Digital Twins örneğiniz için sağlanan IoT hub'ına gönderir. Uzamsal grafınızı sağladıktan sonra sonraki öğreticide bu örneği kullanacaksınız. Bu örneği yapılandırmak için kullandığınız algılayıcı ve cihaz tanımlayıcıları, grafınızı sağlamak için kullanacağınızla aynı olmalıdır.
Sağlama örneğini yapılandırma
Bir komut penceresi açın ve indirilen örne gidin. Şu komutu çalıştırın:
cd occupancy-quickstart/src
Şu komutu çalıştırarak bağımlılıkları örnek projeye geri yükleyin:
dotnet restore
Visual Studio Code'da, occupancy-quickstart projesinde appSettings.json dosyasını açın. Aşağıdaki değerleri güncelleştirin:
- ClientId: Azure AD uygulama kaydınızın uygulama kimliğini girin. Bu kimliği uygulama izinlerini ayarladığınız bölümde not edin.
- Kiracı: Azure AD kiracınızın dizin kimliğini girin. Bu kimliği , uygulama izinlerini ayarladığınız bölümde de not edin.
-
BaseUrl: Digital Twins örneğinizin URL'sini girin. Bu URL'yi almak için şu URL'deki yer tutucuları örneğinize ait değerlerle değiştirin:
https://yourDigitalTwinsName.yourLocation.azuresmartspaces.net/management/api/v1.0/
. Bu URL'yi , dağıtım bölümünden Yönetim API'si URL'sini değiştirerek de alabilirsiniz. swagger/değerini api/v1.0/ ile değiştirin.
Örneği kullanarak keşfedebileceğiniz Digital Twins özelliklerinin listesini gözden geçirin. Şu komutu çalıştırın:
dotnet run
Sağlama işlemini anlama
Bu bölümde örnekte binanın uzamsal grafının nasıl sağlandığı gösterilmektedir.
Visual Studio Code'da occupancy-quickstart\src\actions klasörüne gidin ve provisionSample.cs dosyasını açın. Aşağıdaki işleve dikkat edin:
public static async Task<IEnumerable<ProvisionResults.Space>> ProvisionSample(HttpClient httpClient, ILogger logger)
{
IEnumerable<SpaceDescription> spaceCreateDescriptions;
using (var r = new StreamReader("actions/provisionSample.yaml"))
{
spaceCreateDescriptions = await GetProvisionSampleTopology(r);
}
var results = await CreateSpaces(httpClient, logger, spaceCreateDescriptions, Guid.Empty);
Console.WriteLine($"Completed Provisioning: {JsonConvert.SerializeObject(results, Formatting.Indented)}");
return results;
}
Bu işlev aynı klasörde provisionSample.yaml kullanır. Bu dosyayı açın ve bir ofis binasının hiyerarşisini not edin: Mekan, Kat, Alan ve Odalar. Bu fiziksel alanların herhangi birinde cihazlar ve sensörler bulunabilir. Her girişin önceden tanımlanmış type
bir girişi vardır; örneğin, Kat, Oda.
Örnek yaml dosyası, Digital Twins nesne modelini kullanan Default
uzamsal bir graf gösterir. Bu model çoğu tür için genel adlar sağlar. Genel adlar bir bina için yeterlidir. SensorDataType için Temperature ve SpaceBlobType için Eşleme örnekleri verilebilir. Örnek alan türü, FocusRoom, ConferenceRoom vb. alt türleri olan Oda'dır.
Fabrika gibi farklı bir mekan için uzamsal graf oluşturmanız gerekmesi durumunda başka bir nesne modeline ihtiyaç duyabilirsiniz. Sağlama örneğinin komut satırında komutunu dotnet run GetOntologies
çalıştırarak hangi modellerin kullanabildiğini öğrenebilirsiniz.
Uzamsal grafikler ve nesne modelleri hakkında daha fazla bilgi için Digital Twins nesne modellerini ve uzamsal zeka grafını anlama konusunu okuyun.
Örnek uzamsal grafiği değiştirme
provisionSample.yaml dosyası aşağıdaki düğümleri içerir:
kaynaklar: Düğüm,
resources
kurulumunuzda cihazlarla iletişim kurmak için bir Azure IoT Hub kaynağı oluşturur. Grafınızın kök düğümündeki bir IoT hub'ı, grafınızdaki tüm cihazlar ve algılayıcılarla iletişim kurabilir.spaces: Digital Twins nesne modelinde
spaces
, fiziksel konumları temsil eder. Her alanın birType
(örneğin, Bölge, Mekan veya Müşteri) ve kolayName
bir alanı vardır. Boşluklar diğer boşluklara ait olabilir ve hiyerarşik bir yapı oluşturur. provisionSample.yaml dosyası, hayali bir binanın uzamsal grafiğine sahiptir. bir zemindeRoom
ve düğümlerde bir alanda, içindekiVenue
Area
türdekiFloor
boşlukların mantıksal iç içe yerleştirilip yerleştirilemeycesine dikkat edin.devices: Alanlarda, bir dizi sensörü yöneten fiziksel veya sanal varlıklar olan
devices
öğeleri bulunabilir. Örneğin, bir cihaz bir kullanıcının telefonu, Raspberry Pi algılayıcı podu veya ağ geçidi olabilir. Örnekteki hayali binanın Focus Room adlı odasında bir Raspberry Pi 3 A1 cihazı bulunmaktadır. Her cihaz düğümü, örneğe sabit kodlanmış benzersiz birhardwareId
değerine sahiptir. Bu örneği üretim amaçlı kullanım için yapılandırmak isterseniz bu değerleri kendi sisteminizdeki değerlerle değiştirmeniz gerekir.algılayıcılar: Bir cihaz birden çok
sensors
içerebilir. Sıcaklık, hareket ve pil düzeyi gibi fiziksel değişiklikleri algılayabilir ve kaydedebilirler. Her sensör düğümü, burada sabit kodlanmışhardwareId
değeriyle benzersiz olarak tanımlanmıştır. Gerçek bir uygulama için, kurulumunuzda algılayıcıların benzersiz tanımlayıcılarını kullanarak bunları değiştirin. provisionSample.yaml dosyasında biri Motion (Hareket) biri de CarbonDioxide (Karbondioksit) sensörü olmak üzere iki sensör vardır. CarbonDioxide sensörünün tanımlandığı satırların altına aşağıdaki satırları ekleyerek Temperature (Sıcaklık) kaydı yapacak yeni bir sensör ekleyin. Bunlar provisionSample.yaml dosyasında açıklama satırı olarak sağlanır. Her satırın#
önündeki karakteri kaldırarak açıklamalarını kaldırabilirsiniz.- dataType: Temperature hardwareId: SAMPLE_SENSOR_TEMPERATURE
Not
ve
hardwareId
tuşlarınındataType
bu kod parçacığının üzerindeki deyimlerle uyumlu olduğundan emin olun. Ayrıca düzenleyicinizin boşlukları sekmelerle değiştirmediğinden de emin olun.
provisionSample.yaml dosyasını kaydedin ve kapatın. Sonraki öğreticide bu dosyaya daha fazla bilgi ekleyecek ve ardından Azure Digital Twins örnek derlemenizi oluşturacaksınız.
İpucu
Azure Digital Twins Graph Viewer'ı kullanarak uzamsal grafınızı görüntüleyebilir ve değiştirebilirsiniz.
Kaynakları temizleme
Bu noktada Azure Digital Twins'i keşfetmeyi durdurmak istiyorsanız, bu öğreticide oluşturulan kaynakları silebilirsiniz:
Azure portal soldaki menüden Tüm kaynaklar'ı seçin, Digital Twins kaynak grubunuzu seçin ve Sil'i seçin.
İpucu
Digital Twins örneğinizi silerken sorun yaşadıysanız düzeltmeyle birlikte bir hizmet güncelleştirmesi kullanıma sunuldu. Lütfen örneğinizi silmeyi yeniden deneyin.
Gerekirse, iş makinenizdeki örnek uygulamayı silin.
Sonraki adımlar
Örnek binanızdaki koşulları izlemek için özel mantık uygulamayı öğrenmek için serideki bir sonraki öğreticiye gidin: