Hızlı Başlangıç: Bir IOT hub'ına (Node.js) bağlı cihazı denetlemeQuickstart: Control a device connected to an IoT hub (Node.js)

IoT Hub, IoT cihazlarınızdan buluta yüksek hacimlerde telemetri almanızı ve buluttan cihazlarınızı yönetmenizi sağlayan bir Azure hizmetidir.IoT Hub is an Azure service that enables you to ingest high volumes of telemetry from your IoT devices into the cloud and manage your devices from the cloud. Bu hızlı başlangıçta, IoT hub’ınıza bağlı bir simülasyon cihazını denetlemek için doğrudan yöntem kullanırsınız.In this quickstart, you use a direct method to control a simulated device connected to your IoT hub. IoT hub’ınıza bağlı bir cihazın davranışını uzaktan değiştirmek için doğrudan yöntemler kullanabilirsiniz.You can use direct methods to remotely change the behavior of a device connected to your IoT hub.

Hızlı başlangıçta, önceden yazılmış iki Node.js uygulaması kullanılır:The quickstart uses two pre-written Node.js applications:

  • Bir arka uç uygulamasından çağrılan doğrudan yöntemlere yanıt veren bir simülasyon cihazı uygulaması.A simulated device application that responds to direct methods called from a back-end application. Doğrudan yöntem çağrıları almak için bu uygulama, IoT hub’ınızda aygıta özgü bir uç noktaya bağlanır.To receive the direct method calls, this application connects to a device-specific endpoint on your IoT hub.

  • Simülasyon cihazında doğrudan yöntemler çağıran bir arka uç uygulaması.A back-end application that calls the direct methods on the simulated device. Bir cihazda doğrudan yöntem çağırmak için bu uygulama, IoT hub’ınızda sunucu tarafı uç noktasına bağlanır.To call a direct method on a device, this application connects to service-side endpoint on your IoT hub.

Azure Cloud Shell’i açmaOpen Azure Cloud Shell

Azure Cloud Shell, göz atabilirsiniz kullanılan ve Azure'da barındırılan bir etkileşimli Kabuk ortamıdır.Azure Cloud Shell is an interactive shell environment hosted in Azure and used through your browse. Azure Cloud Shell ya da kullanmanızı sağlar bash veya PowerShell Kabukları çeşitli Azure Hizmetleri ile çalışmak için araçları çalıştırmak için.Azure Cloud Shell allows you to use either bash or PowerShell shells to run a variety of tools to work with Azure services. Azure Cloud Shell, bu makalenin içeriğini yerel ortamınızda herhangi bir yükleme gerekmeden çalıştırmanıza izin için komutları ile önceden yüklenmiş olarak sunulur.Azure Cloud Shell comes pre-installed with the commands to allow you to run the content of this article without having to install anything on your local environment.

Bu makalede Azure Cloud Shell içinde yer alan herhangi bir kodu çalıştırmak için Cloud Shell oturumu açın, kullanmak kopyalama düğmesi kodu kopyalayıp Cloud shell'e oturumla yapıştırın için bir kod bloğu üzerinde Ctrl + Shift + V üzerinde Windows ve Linux veya Cmd + Shift + V macOS üzerinde.To run any code contained in this article on Azure Cloud Shell, open a Cloud Shell session, use the Copy button on a code block to copy the code, and paste it into the Cloud Shell session with Ctrl+Shift+V on Windows and Linux, or Cmd+Shift+V on macOS. Yapıştırılan metni otomatik olarak yürütülmedi, bu nedenle basın Enter kodu çalıştırmak için.Pasted text is not automatically executed, so press Enter to run code.

Azure Cloud Shell ile yeniden başlatabilirsiniz:You can launch Azure Cloud Shell with:

SeçenekOption Örnek/bağlantıExample/Link
Kod bloğunun sağ üst köşesindeki Deneyin’i seçin.Select Try It in the upper-right corner of a code block. Bu değil otomatik olarak Cloud shell'e metni kopyalayın.This doesn't automatically copy text to Cloud Shell. Örneği Azure Cloud Shell için deneyin
Açık Azure Cloud Shell tarayıcınızda.Open Azure Cloud Shell in your browser. <a href="https://shell.azure.com" title="Azure Cloud Shell'i Başlat
Azure portalının sağ üst köşesindeki menüde yer alan Cloud Shell düğmesini seçin.Select the Cloud Shell button on the menu in the upper-right corner of the Azure portal. Azure portaldaki Cloud Shell düğmesi

Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.If you don’t have an Azure subscription, create a free account before you begin.

ÖnkoşullarPrerequisites

Bu hızlı başlangıçta çalıştırdığınız iki örnek uygulama, Node.js kullanılarak yazılır.The two sample applications you run in this quickstart are written using Node.js. Geliştirme makinenize Node.js v10.x.x veya sonraki bir sürümü gerekir.You need Node.js v10.x.x or later on your development machine.

nodejs.org adresinden birden fazla platform için Node.js’yi indirebilirsiniz.You can download Node.js for multiple platforms from nodejs.org.

Aşağıdaki komutu kullanarak geliştirme makinenizde geçerli Node.js sürümünü doğrulayabilirsiniz:You can verify the current version of Node.js on your development machine using the following command:

node --version

Microsoft Azure IOT uzantısı için Azure CLI Cloud Shell Örneğinize eklemek için aşağıdaki komutu çalıştırın.Run the following command to add the Microsoft Azure IoT Extension for Azure CLI to your Cloud Shell instance. IOT uzantısı, Azure CLI için IOT Hub, IOT Edge ve IOT cihaz sağlama hizmeti (DPS) belirli komutları ekler.The IOT Extension adds IoT Hub, IoT Edge, and IoT Device Provisioning Service (DPS) specific commands to Azure CLI.

az extension add --name azure-cli-iot-ext

Örnek Node.js projesini önceden indirmediyseniz https://github.com/Azure-Samples/azure-iot-samples-node/archive/master.zip adresinden indirip ZIP arşivini ayıklayın.If you haven't already done so, download the sample Node.js project from https://github.com/Azure-Samples/azure-iot-samples-node/archive/master.zip and extract the ZIP archive.

IoT hub oluşturmaCreate an IoT hub

Önceki tamamladıysanız hızlı başlangıç: Bir IOT hub'ına bir CİHAZDAN telemetri gönderme, bu adımı atlayabilirsiniz.If you completed the previous Quickstart: Send telemetry from a device to an IoT hub, you can skip this step.

Bu bölümde bir IOT hub'ı kullanarak oluşturmayı açıklar Azure portalında.This section describes how to create an IoT hub using the Azure portal.

  1. Azure Portal’da oturum açın.Log in to the Azure portal.

  2. Seçin +kaynak Oluştur, ardından markette Ara için IOT hub'ı.Choose +Create a resource, then Search the Marketplace for the IoT Hub.

  3. Seçin IOT hub'ı tıklatıp Oluştur düğmesi.Select IoT Hub and click the Create button. IOT hub'ı oluşturmak için ilk ekran görürsünüz.You see the first screen for creating an IoT hub.

    Azure portalında oluşturma

    Alanları doldurun.Fill in the fields.

    Abonelik: IOT hub'ınız için kullanılacak aboneliği seçin.Subscription: Select the subscription to use for your IoT hub.

    Kaynak grubu: Yeni bir kaynak grubu oluşturun veya var olanı kullanın.Resource Group: You can create a new resource group or use an existing one. Yeni bir tane oluşturmak için tıklayın Yeni Oluştur ve kullanmak istediğiniz adı girin.To create a new one, click Create new and fill in the name you want to use. Mevcut bir kaynak grubunu kullanmak için var olanı kullan ve açılır listeden kaynak grubunu seçin.To use an existing resource group, click Use existing and select the resource group from the dropdown list. Daha fazla bilgi için yönetme Azure Resource Manager kaynak grupları.For more information, see Manage Azure Resource Manager resource groups.

    Bölge: Bu hub'ınıza yer almasını istediğiniz bölgedir.Region: This is the region in which you want your hub to be located. Açılır listeden size en yakın konumu seçin.Select the location closest to you from the dropdown list.

    IOT hub'ı adı: IOT Hub'ınızın adını yerleştirin.IoT Hub Name: Put in the name for your IoT Hub. Bu adın küresel olarak benzersiz olması gerekir.This name must be globally unique. Girdiğiniz ad kullanılabilir durumdaysa yeşil bir onay işareti görünür.If the name you enter is available, a green check mark appears.

    Önemli

    IOT hub'ı bir DNS uç noktası olarak herkes tarafından bulunabilir çünkü bu ad, tüm hassas veya kişisel olarak tanımlanabilen bilgileri girmekten kaçınmak emin olun.Because the IoT hub will be publicly discoverable as a DNS endpoint, be sure to avoid entering any sensitive or personally identifiable information when you name it.

  4. Tıklayın sonraki: Boyut ve ölçek IOT hub'ınıza oluşturmaya devam etmek için.Click Next: Size and scale to continue creating your IoT hub.

    Boyutu ve Azure portalını kullanarak yeni bir IOT hub için ölçek kümesi

    Bu ekranda varsayılan değerleri alabilir ve tıklamanız yeterli gözden geçir + Oluştur altındaki.On this screen, you can take the defaults and just click Review + create at the bottom.

    Fiyatlandırma ve ölçek katmanı: Bağlı olarak kaç özellikleri birkaç katmanı arasından seçim yapabilirsiniz istediğiniz ve kaç iletileri gönder günde çözümünüz aracılığıyla.Pricing and scale tier: You can choose from several tiers depending on how many features you want and how many messages you send through your solution per day. Ücretsiz katman, test ve değerlendirme için tasarlanmıştır.The free tier is intended for testing and evaluation. Günlük ileti 8000'en fazla ve IOT hub'ına bağlanması 500 CİHAZDAN sağlar.It allows 500 devices to be connected to the IoT hub and up to 8,000 messages per day. Her Azure aboneliğinin bir IOT Hub ücretsiz katmanında oluşturabilirsiniz.Each Azure subscription can create one IoT Hub in the free tier.

    IOT Hub birimlerinin: Günlük birim başına izin verilen ileti sayısı, hub'ın fiyatlandırma katmanına bağlıdır.IoT Hub units: The number of messages allowed per unit per day depends on your hub's pricing tier. Örneğin, IOT hub'ı 700.000 iletilerinin giriş desteklemek için isterseniz, iki adet S1 katmanı birimi seçin.For example, if you want the IoT hub to support ingress of 700,000 messages, you choose two S1 tier units.

    Bir katman seçenekleri hakkında daha fazla ayrıntı için bkz: doğru IOT Hub katmanını seçme.For details about the other tier options, see Choosing the right IoT Hub tier.

    Gelişmiş / CİHAZDAN buluta bölümler: Bu özellik, CİHAZDAN buluta iletileri iletilerin eşzamanlı okuyucu sayısıyla ilgilidir.Advanced / Device-to-cloud partitions: This property relates the device-to-cloud messages to the number of simultaneous readers of the messages. Çoğu IOT hub'ları, yalnızca dört bölüm gerekir.Most IoT hubs only need four partitions.

  5. Tıklayın gözden + Oluştur seçimlerinizi gözden geçirmek için.Click Review + create to review your choices. Bu ekranda gösterilene benzer bir şey görürsünüz.You see something similar to this screen.

    Yeni IOT hub'ı oluşturmak için bilgileri gözden geçirin

  6. Tıklayın Oluştur yeni IOT hub'ınızı oluşturmak için.Click Create to create your new IoT hub. Hub'ı oluşturuluyor, birkaç dakika sürer.Creating the hub takes a few minutes.

Cihaz kaydetmeRegister a device

Önceki tamamladıysanız hızlı başlangıç: Bir IOT hub'ına bir CİHAZDAN telemetri gönderme, bu adımı atlayabilirsiniz.If you completed the previous Quickstart: Send telemetry from a device to an IoT hub, you can skip this step.

Bir cihazın bağlanabilmesi için IoT hub’ınıza kaydedilmesi gerekir.A device must be registered with your IoT hub before it can connect. Bu hızlı başlangıçta Azure Cloud Shell kullanarak bir simülasyon cihazı kaydedeceksiniz.In this quickstart, you use the Azure Cloud Shell to register a simulated device.

  1. Cihaz kimliği oluşturmak için Azure Cloud Shell'de aşağıdaki komutu çalıştırın.Run the following command in Azure Cloud Shell to create the device identity.

    YourIoTHubName: Aşağıda bu yer tutucu IOT hub'ınız için seçtiğiniz adı ile değiştirin.YourIoTHubName: Replace this placeholder below with the name you chose for your IoT hub.

    MyNodeDevice: Kaydettirmekte cihazın adı.MyNodeDevice: The name of the device you're registering. Kullanım MyNodeDevice gösterildiği gibi.Use MyNodeDevice as shown. Cihazınız için farklı bir ad seçerseniz, bu makalenin tamamında adı ve örnek uygulamalarda bunları çalıştırmadan önce cihaz adı gerekir.If you choose a different name for your device, you need to use that name throughout this article, and update the device name in the sample applications before you run them.

    az iot hub device-identity create \
      --hub-name YourIoTHubName --device-id MyNodeDevice
    
  2. Yeni kaydettiğiniz cihazın cihaz bağlantı dizesini almak için aşağıdaki komutları Azure Cloud Shell'de çalıştırın:Run the following commands in Azure Cloud Shell to get the device connection string for the device you just registered:

    YourIoTHubName: Aşağıda bu yer tutucu IOT hub'ınız için seçtiğiniz adı ile değiştirin.YourIoTHubName: Replace this placeholder below with the name you chose for your IoT hub.

    az iot hub device-identity show-connection-string \
      --hub-name YourIoTHubName \
      --device-id MyNodeDevice \
      --output table
    

    Şu ifadeye benzer şekilde görünen cihaz bağlantı dizesini not edin:Make a note of the device connection string, which looks like:

    HostName={YourIoTHubName}.azure-devices.net;DeviceId=MyNodeDevice;SharedAccessKey={YourSharedAccessKey}

    Bu değeri hızlı başlangıcın ilerleyen bölümlerinde kullanacaksınız.You use this value later in the quickstart.

  3. Arka uç uygulamasının IoT hub’ınıza bağlanmasına ve iletileri almasına olanak sağlamak için bir hizmet bağlantı dizesi de gerekir.You also need a service connection string to enable the back-end application to connect to your IoT hub and retrieve the messages. Aşağıdaki komut, IoT hub'ınız için hizmeti bağlantı dizesini alır:The following command retrieves the service connection string for your IoT hub:

    YourIoTHubName: Aşağıda bu yer tutucu IOT hub'ınız için seçtiğiniz adı ile değiştirin.YourIoTHubName: Replace this placeholder below with the name you chose for your IoT hub.

    az iot hub show-connection-string \
      --name YourIoTHubName --output table
    

    Şu ifadeye benzer şekilde görünen hizmet bağlantı dizesini not edin:Make a note of the service connection string, which looks like:

    HostName={YourIoTHubName}.azure-devices.net;SharedAccessKeyName=iothubowner;SharedAccessKey={YourSharedAccessKey}

    Bu değeri hızlı başlangıcın ilerleyen bölümlerinde kullanacaksınız.You use this value later in the quickstart. Hizmet bağlantı dizesi, cihaz bağlantı dizesinden farklıdır.The service connection string is different from the device connection string.

Doğrudan yöntem çağrılarını dinlemeListen for direct method calls

Simülasyon cihazı, IoT hub’ınızdaki cihaza özgü bir uç noktaya bağlanır, sanal telemetri gönderir ve hub’ınızdan gelen doğrudan yöntem çağrılarını dinler.The simulated device application connects to a device-specific endpoint on your IoT hub, sends simulated telemetry, and listens for direct method calls from your hub. Bu hızlı başlangıçta, hub’dan gelen doğrudan yöntem çağrısı, telemetri gönderme aralığını değiştirmesini cihaza bildirir.In this quickstart, the direct method call from the hub tells the device to change the interval at which it sends telemetry. Simülasyon cihazı, doğrudan yöntemi yürüttükten sonra hub’ınıza geri bir onay gönderir.The simulated device sends an acknowledgement back to your hub after it executes the direct method.

  1. Yerel terminal penceresinde örnek Node.js projesinin kök klasörüne gidin.In a local terminal window, navigate to the root folder of the sample Node.js project. Daha sonra iot-hub\Quickstarts\simulated-device-2 klasörüne gidin.Then navigate to the iot-hub\Quickstarts\simulated-device-2 folder.

  2. SimulatedDevice.js dosyasını, istediğiniz bir metin düzenleyicide açın.Open the SimulatedDevice.js file in a text editor of your choice.

    connectionString değişkeninin değerini, önceden not ettiğiniz cihaz bağlantı dizesiyle değiştirin.Replace the value of the connectionString variable with the device connection string you made a note of previously. Daha sonra SimulatedDevice.js dosyasına değişikliklerinizi kaydedin.Then save your changes to SimulatedDevice.js file.

  3. Yerel terminal penceresinde, aşağıdaki komutları çalıştırarak gerekli kitaplıkları yükleyin ve simülasyon cihazı uygulamasını çalıştırın:In the local terminal window, run the following commands to install the required libraries and run the simulated device application:

    npm install
    node SimulatedDevice.js
    

    Aşağıdaki ekran görüntüsünde, simülasyon cihazı uygulaması, IoT hub’ınıza telemetri gönderdiğinde oluşan çıktı gösterilmektedir:The following screenshot shows the output as the simulated device application sends telemetry to your IoT hub:

    Simülasyon cihazını çalıştırma

Doğrudan yöntem çağırmaCall the direct method

Arka uç uygulaması, IoT Hub’ınızdaki bir hizmet tarafı uç noktasına bağlanır.The back-end application connects to a service-side endpoint on your IoT Hub. Uygulama, IoT hub’ınız üzerinden bir cihaza doğrudan yöntem çağrıları yapar ve onayları dinler.The application makes direct method calls to a device through your IoT hub and listens for acknowledgements. IoT Hub arka uç uygulaması genellikle bulutta çalışır.An IoT Hub back-end application typically runs in the cloud.

  1. Başka bir yerel terminal penceresinde örnek Node.js projesinin kök klasörüne gidin.In another local terminal window, navigate to the root folder of the sample Node.js project. Daha sonra iot-hub\Quickstarts\back-end-application klasörüne gidin.Then navigate to the iot-hub\Quickstarts\back-end-application folder.

  2. BackEndApplication.js dosyasını, istediğiniz bir metin düzenleyicide açın.Open the BackEndApplication.js file in a text editor of your choice.

    connectionString değişkeninin değerini, önceden not ettiğiniz hizmet bağlantı dizesiyle değiştirin.Replace the value of the connectionString variable with the service connection string you made a note of previously. Sonra BackEndApplication.js dosyasına değişikliklerinizi kaydedin.Then save your changes to the BackEndApplication.js file.

  3. Yerel terminal penceresinde, aşağıdaki komutları çalıştırarak gerekli kitaplıkları yükleyin ve arka uç uygulamasını çalıştırın:In the local terminal window, run the following commands to install the required libraries and run the back-end application:

    npm install
    node BackEndApplication.js
    

    Aşağıdaki ekran görüntüsünde, uygulama cihaza bir doğrudan yöntem çağrısı yapıp onay aldığında elde edilen çıktı gösterilmektedir:The following screenshot shows the output as the application makes a direct method call to the device and receives an acknowledgement:

    Arka uç uygulamasını çalıştırma

    Arka uç uygulamasını çalıştırdıktan sonra, simülasyon cihazını çalıştıran konsol penceresinde bir ileti ve ileti değişikliklerini gönderdiği hızı görürsünüz:After you run the back-end application, you see a message in the console window running the simulated device, and the rate at which it sends messages changes:

    Sanal istemcide değişiklik

Kaynakları temizlemeClean up resources

Bir sonraki önerilen makaleye geçecekseniz oluşturduğunuz kaynakları tutabilir ve yeniden kullanabilirsiniz.If you will be continuing to the next recommended article, you can keep the resources you've already created and reuse them.

Geçmeyecekseniz ücret kesilmesini önlemek için bu makalede oluşturulan Azure kaynaklarını silebilirsiniz.Otherwise, you can delete the Azure resources created in this article to avoid charges.

Önemli

Silinen kaynak grupları geri alınamaz.Deleting a resource group is irreversible. Kaynak grubu ve içindeki tüm kaynaklar kalıcı olarak silinir.The resource group and all the resources contained in it are permanently deleted. Yanlış kaynak grubunu veya kaynakları yanlışlıkla silmediğinizden emin olun.Make sure that you do not accidentally delete the wrong resource group or resources. IoT Hub'ı tutmak istediğiniz kaynakların bulunduğu mevcut bir kaynak grubunda oluşturduysanız kaynak grubunu silmek yerine IoT Hub kaynağını silin.If you created the IoT Hub inside an existing resource group that contains resources you want to keep, only delete the IoT Hub resource itself instead of deleting the resource group.

Bir kaynak grubunu adıyla silmek için:To delete a resource group by name:

  1. Azure portalında oturum açın ve Kaynak grupları’na tıklayın.Sign in to the Azure portal and click Resource groups.

  2. Ada göre filtrele... metin kutusuna IoT Hub'ınızın bulunduğu kaynak grubunun adını girin.In the Filter by name... textbox, type the name of the resource group containing your IoT Hub.

  3. Sonuç listesinde kaynak grubunuzun sağ tarafında ... ve sonra Kaynak grubunu sil'e tıklayın.To the right of your resource group in the result list, click ... then Delete resource group.

    Sil

  4. Kaynak grubunun silinmesini onaylamanız istenir.You will be asked to confirm the deletion of the resource group. Onaylamak için kaynak grubunuzun adını tekrar yazın ve Sil'e tıklayın.Type the name of your resource group again to confirm, and then click Delete. Birkaç dakika sonra kaynak grubu ve içerdiği kaynakların tümü silinir.After a few moments, the resource group and all of its contained resources are deleted.

Sonraki adımlarNext steps

Bu hızlı başlangıçta, bir doğrudan yöntem bir cihazda bir arka uç uygulamasından çağrılır ve bir sanal cihaz uygulaması doğrudan yöntem çağrısında yanıt verdi.In this quickstart, you called a direct method on a device from a back-end application, and responded to the direct method call in a simulated device application.

Cihazdan buluta iletileri, buluttaki farklı hedeflere yönlendirmeyi öğrenmek için sonraki öğreticiyle devam edin.To learn how to route device-to-cloud messages to different destinations in the cloud, continue to the next tutorial.