Hızlı Başlangıç: İlk IoT Edge modülünüzü bir Windows cihazına dağıtma
Şunlar için geçerlidir: IoT Edge 1.5 IoT Edge 1.4
Önemli
IoT Edge 1.5 LTS ve IoT Edge 1.4 LTS desteklenen sürümlerdir. IoT Edge 1.4 LTS, 12 Kasım 2024'te kullanım ömrü sona erer. Önceki bir sürümdeyseniz bkz. IoT Edge’i güncelleştirme.
Kapsayıcılı kodu Windows IoT Edge cihazında bir Linux'a dağıtarak bu hızlı başlangıçta Azure IoT Edge'i deneyin. IoT Edge, iş yüklerinizin daha fazlasını uçlara gönderebilmek için cihazlarınızdaki kodu uzaktan yönetmenize olanak tanır. Bu hızlı başlangıçta, Windows üzerinde Linux için Azure IoT Edge'i kullanmanın ne kadar kolay olduğunu görmek için kendi Windows İstemci cihazınızı kullanmanızı öneririz. Dağıtımınızı oluşturmak için Windows Server veya Azure VM kullanmak istiyorsanız, Bir Windows cihazına Linux için Azure IoT Edge'i yükleme ve sağlama ile ilgili nasıl yapılır kılavuzundaki adımları izleyin.
Bu hızlı başlangıçta şunları yapmayı öğreneceksiniz:
- Bir IoT hub'ı oluşturun.
- Bir IoT Edge cihazını IoT hub'ınıza kaydetme.
- Cihazınızda Windows çalışma zamanında Linux için IoT Edge'i yükleyin ve başlatın.
- IoT Edge cihazına uzaktan bir modül dağıtın ve telemetri gönderin.
Bu hızlı başlangıç, Windows cihazında Linux için Azure IoT Edge'inizi ayarlama konusunda size yol gösterir. Ardından Azure portalından cihazınıza bir modül dağıtacaksınız. Kullanacağınız modül sıcaklık, nem ve basınç verileri oluşturan bir simülasyon sensörüdür. Diğer Azure IoT Edge öğreticileri, iş içgörüleri için simülasyon verilerini analiz eden modüller dağıtarak burada yaptığınız çalışmayı derler.
Etkin bir Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.
Önkoşullar
Ortamınızı Azure CLI için hazırlayın.
Azure Cloud Shell'de Bash ortamını kullanın. Daha fazla bilgi için bkz . Azure Cloud Shell'de Bash için hızlı başlangıç.
CLI başvuru komutlarını yerel olarak çalıştırmayı tercih ediyorsanız Azure CLI'yı yükleyin . Windows veya macOS üzerinde çalışıyorsanız Azure CLI’yi bir Docker kapsayıcısında çalıştırmayı değerlendirin. Daha fazla bilgi için bkz . Docker kapsayıcısında Azure CLI'yi çalıştırma.
Yerel yükleme kullanıyorsanız az login komutunu kullanarak Azure CLI ile oturum açın. Kimlik doğrulama işlemini tamamlamak için terminalinizde görüntülenen adımları izleyin. Diğer oturum açma seçenekleri için bkz . Azure CLI ile oturum açma.
İstendiğinde, ilk kullanımda Azure CLI uzantısını yükleyin. Uzantılar hakkında daha fazla bilgi için bkz. Azure CLI ile uzantıları kullanma.
Yüklü sürümü ve bağımlı kitaplıkları bulmak için az version komutunu çalıştırın. En son sürüme yükseltmek için az upgrade komutunu çalıştırın.
Bu hızlı başlangıçta kullanacağınız tüm kaynakları yönetmek için bir bulut kaynak grubu oluşturun.
az group create --name IoTEdgeResources --location westus2
IoT Edge cihazınızın aşağıdaki gereksinimleri karşıladığından emin olun:
Sistem Gereksinimleri
- Windows 101/11 (Pro, Enterprise, IoT Enterprise) 1 Windows 10 en düşük derleme 17763 ve tüm güncel toplu güncelleştirmeler yüklüdür.
Donanım gereksinimleri
- Minimum Boş Bellek: 1 GB
- En Az Boş Disk Alanı: 10 GB
IoT hub oluşturma
Başlangıç olarak Azure CLI ile bir IoT hub'ı oluşturun.
Azure IoT Hub'ın ücretsiz düzeyi bu hızlı başlangıçta çalışır. Geçmişte IoT Hub kullandıysanız ve zaten bir hub'ını oluşturduysanız bu IoT hub'ını kullanabilirsiniz.
Aşağıdaki kod, kaynak grubunda IoTEdgeResources
ücretsiz bir F1 hub'ı oluşturur. değerini IoT hub'ınız için benzersiz bir adla değiştirin {hub_name}
. IoT hub'ı oluşturmak birkaç dakika sürebilir.
az iot hub create --resource-group IoTEdgeResources --name {hub_name} --sku F1 --partition-count 2
Aboneliğinizde zaten bir ücretsiz hub'ınız olduğu için hata alırsanız, SKU'yu olarak S1
değiştirin. IoT hub adının kullanılamadığını belirten bir hata alırsanız, başka birinin zaten bu ada sahip bir hub'ı vardır. Yeni bir ad deneyin.
IoT Edge cihazını kaydetme
Yeni oluşturulan IoT hub'ına bir IoT Edge cihazı kaydedin.
IoT hub'ınızla iletişim kurabilmesi amacıyla simülasyon cihazınız için bir cihaz kimliği oluşturun. Cihaz kimliği bulutta kalır ve fiziksel cihazla cihaz kimliği arasında bağlantı kurmak için benzersiz bir bağlantı dizesi kullanmanız gerekir.
IoT Edge cihazları normal IoT cihazlarından farklı davranır ve yönetilebilir. Bu kimliğin --edge-enabled
bir IoT Edge cihazına yönelik olduğunu bildirmek için bayrağını kullanın.
Azure Cloud Shell'de aşağıdaki komutu girerek hub'ınızda myEdgeDevice adlı bir cihaz oluşturun.
az iot hub device-identity create --device-id myEdgeDevice --edge-enabled --hub-name {hub_name}
İlke anahtarları hakkında
iothubowner
hata alırsanız Cloud Shell'in Azure IoT uzantısının en son sürümünü çalıştırdığından emin olun.Fiziksel cihazınızı IoT Hub'daki kimliğine bağlayan cihazınızın bağlantı dizesi görüntüleyin. IoT hub'ınızın adını, cihazınızın adını ve ikisi arasındaki bağlantıların kimliğini doğrulayan paylaşılan anahtarı içerir.
az iot hub device-identity connection-string show --device-id myEdgeDevice --hub-name {hub_name}
JSON çıktısındaki
connectionString
anahtarının değerini kopyalayıp kaydedin. Bu değer cihaz bağlantı dizesidir. Sonraki bölümde IoT Edge çalışma zamanını yapılandırmak için kullanacaksınız.Örneğin, bağlantı dizesi benzer
HostName=contoso-hub.azure-devices.net;DeviceId=myEdgeDevice;SharedAccessKey=<DEVICE_SHARED_ACCESS_KEY>
görünmelidir.
IoT Edge çalışma zamanını yükleme ve başlatma
Cihazınıza Linux için IoT Edge'i yükleyin ve cihaz bağlantı dizesi ile yapılandırın.
Windows üzerinde Linux için Azure IoT Edge'i dağıtmak istediğiniz hedef cihazda aşağıdaki PowerShell komutlarını çalıştırın. PowerShell kullanarak uzak bir hedef cihaza dağıtmak için Uzak PowerShell'i kullanarak uzak bir cihaza bağlantı kurun ve bu komutları bu cihazda uzaktan çalıştırın.
Yükseltilmiş bir PowerShell oturumunda, Hyper-V'yi etkinleştirmek için aşağıdaki komutu çalıştırın. Daha fazla bilgi için Windows 10'da Hyper-V'ye bakın.
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
Yükseltilmiş bir PowerShell oturumunda, Windows'da Linux için IoT Edge'i indirmek için aşağıdaki komutların her birini çalıştırın.
X64/AMD64
$msiPath = $([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi')) $ProgressPreference = 'SilentlyContinue' Invoke-WebRequest "https://aka.ms/AzEFLOWMSI_1_4_LTS_X64" -OutFile $msiPath
ARM64
$msiPath = $([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi')) $ProgressPreference = 'SilentlyContinue' Invoke-WebRequest "https://aka.ms/AzEFLOWMSI_1_4_LTS_ARM64" -OutFile $msiPath
Cihazınıza Windows üzerinde Linux için IoT Edge'i yükleyin.
Start-Process -Wait msiexec -ArgumentList "/i","$([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi'))","/qn"
Henüz yapmadıysanız hedef cihazdaki yürütme ilkesini olarak
AllSigned
ayarlayın. Yükseltilmiş bir PowerShell isteminde geçerli yürütme ilkesini denetlemek için şunları kullanabilirsiniz:Get-ExecutionPolicy -List
yürütme ilkesi
local machine
değilseAllSigned
, şunu kullanarak yürütme ilkesini ayarlayabilirsiniz:Set-ExecutionPolicy -ExecutionPolicy AllSigned -Force
Windows dağıtımında Linux için IoT Edge'i oluşturun.
Deploy-Eflow
Lisans koşullarını kabul etmek için 'Y' girin.
Tercihinize bağlı olarak İsteğe bağlı tanılama verilerini açmak veya kapatmak için 'O' veya 'R' girin. Başarılı bir dağıtım aşağıda gösterilmektedir.
Önceki bölümde aldığınız cihaz bağlantı dizesi kullanarak cihazınızı sağlayın. Yer tutucu metni kendi değerinizle değiştirin.
Provision-EflowVm -provisioningType ManualConnectionString -devConnString "<CONNECTION_STRING_HERE>"
Artık IoT Edge cihazınız yapılandırıldı. Bulutta dağıtılan modülleri çalıştırmak için hazır.
Modül dağıtma
IoT Hub'a telemetri verileri gönderen bir modül dağıtmak için Azure IoT Edge cihazınızı buluttan yönetin.
Azure IoT Edge'in önemli özelliklerinden biri, buluttan IoT Edge cihazlarınıza kod dağıtmaktır. IoT Edge modülleri , kapsayıcı olarak uygulanan yürütülebilir paketlerdir. Bu bölümde, Microsoft Yapıt Kayıt Defteri IoT Edge Modülleri bölümünden önceden oluşturulmuş bir modül dağıtacaksınız.
Bu bölümde dağıttığınız modül bir algılayıcının simülasyonunu oluşturur ve oluşturulan verileri gönderir. Bu modül, IoT Edge'i kullanmaya başlarken yararlı bir kod parçasıdır çünkü sanal verileri geliştirme ve test için kullanabilirsiniz. Bu modülün tam olarak ne yaptığını görmek istiyorsanız, simülasyon sıcaklık algılayıcısı kaynak kodunu görüntüleyebilirsiniz.
İlk modülünüzü dağıtmak için bu adımları izleyin.
Soldaki menüden Cihaz yönetimi menüsünün altındaki Cihazlar'ı seçin.
Cihaz listesinden hedef cihazın cihaz kimliğini seçin.
Not
Yeni bir IoT Edge cihazı oluşturduğunuzda, azure portalında durum kodu
417 -- The device's deployment configuration is not set
görüntülenir. Bu durum normaldir ve cihazın modül dağıtımı almaya hazır olduğu anlamına gelir.Üst çubukta Modülleri Ayarla'yı seçin.
Cihazınızda çalıştırmak istediğiniz modülleri seçin. Önceden oluşturduğunuz modüller, Microsoft Yapıt Kayıt Defteri modülleri veya kendi oluşturduğunuz modüller arasından seçim yapabilirsiniz. Bu hızlı başlangıçta, Microsoft Yapıt Kayıt Defteri bir modül dağıtacaksınız.
IoT Edge modülleri bölümünde Ekle'yi ve ardından IoT Edge Modülü'ne tıklayın.
Aşağıdaki modül ayarlarını güncelleştirin:
Ayar Value IoT Modülü adı SimulatedTemperatureSensor
Görüntü URI'si mcr.microsoft.com/azureiotedge-simulated-temperature-sensor:latest
Yeniden başlatma ilkesi her zaman İstenen durum çalışıyor Yolları yapılandırmaya devam etmek için İleri: Yollar'ı seçin.
Sanal sıcaklık modülündeki tüm iletileri IoT Hub'a gönderen bir yol ekleyin.
Ayar Değer Veri Akışı Adı SimulatedTemperatureSensorToIoTHub
Değer FROM /messages/modules/SimulatedTemperatureSensor/* INTO $upstream
Sonraki: Gözden geçirme ve oluşturma’yı seçin.
JSON dosyasını gözden geçirin ve oluştur'u seçin. JSON dosyası, IoT Edge cihazınıza dağıttığınız tüm modülleri tanımlar.
Not
IoT Edge cihazına yeni bir dağıtım gönderdiğinizde cihazınıza herhangi bir şey gönderilmez. Bunun yerine cihaz, IoT Hub'ı düzenli olarak sorgulayarak yeni yönergeler olup olmadığını denetler. Güncelleştirilmiş bir dağıtım bildirimi bulması halinde cihaz yeni dağıtımla ilgili bilgileri kullanarak buluttaki modül görüntülerini çeker ve modülleri yerel ortamda çalıştırmaya başlar. Bu işlem birkaç dakika sürebilir.
Modül dağıtım ayrıntılarını oluşturduktan sonra sihirbaz sizi cihaz ayrıntıları sayfasına döndürür. Modüller sekmesinde dağıtım durumunu görüntüleyin.
Üç modül görmeniz gerekir: $edgeAgent, $edgeHub ve SimulatedTemperatureSensor. Modüllerden biri veya daha fazlası Dağıtımda Belirtilen altında Evet'e sahipse ancak Cihaz tarafından bildirildi altında yoksa, IoT Edge cihazınız bunları başlatmaya devam eder. Birkaç dakika bekleyin ve sayfayı yenileyin.
Modülleri dağıtırken sorun yaşıyorsanız bkz . Azure portalından IoT Edge cihazlarında sorun giderme.
Oluşturulan verileri görüntüleme
Bu hızlı başlangıçta, yeni bir IoT Edge cihazı oluşturdunuz ve üzerine IoT Edge çalışma zamanını yüklediniz. Ardından, cihazda değişiklik yapmak zorunda kalmadan cihazda çalıştırılacak bir IoT Edge modülü dağıtmak için Azure portalını kullandınız.
Gönderdiğiniz modül, daha sonra test için kullanabileceğiniz örnek ortam verileri oluşturur. Simülasyon algılayıcısı hem makineyi hem de makinenin etrafındaki ortamı izler. Örneğin bu sensör bir sunucu odasında, fabrika sahasında veya rüzgar türbininde olabilir. Gönderdiği iletiler ortam sıcaklığı ve nem, makine sıcaklığı ve basınç ile zaman damgasını içerir. IoT Edge öğreticileri, analiz için test verileri olarak bu modül tarafından oluşturulan verileri kullanır.
PowerShell oturumunuzda aşağıdaki komutu kullanarak Windows sanal makinesinde Linux için IoT Edge'inizde oturum açın:
Connect-EflowVm
Not
Sanal makinede SSH'ye izin verilen tek hesap, bunu oluşturan kullanıcıdır.
Oturum açtıktan sonra aşağıdaki Linux komutunu kullanarak IoT Edge modüllerini çalıştırma listesini de kontrol edebilirsiniz:
sudo iotedge list
Aşağıdaki Linux komutunu kullanarak sıcaklık sensörü modülünden buluta gönderilen iletileri görüntüleyin:
sudo iotedge logs SimulatedTemperatureSensor -f
İpucu
IoT Edge komutları modül adlarına başvurduğunda büyük/küçük harfe duyarlıdır.
Kaynakları temizleme
IoT Edge öğreticilerine devam etmek istiyorsanız bu adımı atlayın. Bu hızlı başlangıçta kaydettiğiniz ve ayarladığınız cihazı kullanabilirsiniz. Aksi takdirde, ücretlerden kaçınmak için oluşturduğunuz Azure kaynaklarını silebilirsiniz.
Sanal makinenizi ve IoT hub’ınızı yeni bir kaynak grubunda oluşturduysanız, bu grubu ve ilişkili tüm kaynaklarını silebilirsiniz. Grubun tamamını silmek istemiyorsanız, bunun yerine tek tek kaynakları silebilirsiniz.
Önemli
Saklamak istediğiniz hiçbir şey olmadığından emin olmak için kaynak grubunun içeriğini denetleyin. Silinen kaynak grupları geri alınamaz.
IoTEdgeResources grubunu kaldırmak için aşağıdaki komutu kullanın. Silme işlemi birkaç dakika sürebilir.
az group delete --name IoTEdgeResources
Kaynak gruplarının listesini görüntülemek için bu komutu kullanarak kaynak grubunun kaldırıldığını onaylayabilirsiniz.
az group list
Windows'da Linux için IoT Edge'i kaldırma
Cihazınızdan Windows üzerinde Linux için Azure IoT Edge yüklemesini kaldırmak istiyorsanız aşağıdaki komutları kullanın.
- Windows'da Ayarlar'ı açma
- Program Ekle veya Kaldır'ı seçin
- Azure IoT Edge uygulamasını seçme
- Kaldır'ı seçin
Sonraki adımlar
Bu hızlı başlangıçta bir IoT Edge cihazı oluşturdunuz ve cihaza kod dağıtmak için Azure IoT Edge bulut arabirimini kullandınız. Artık ortamı hakkında ham veri oluşturan bir test cihazınız var.
Sonraki öğreticide Azure portalından cihazınızın etkinliğini ve durumunu izlemeyi öğreneceksiniz.