Hızlı Başlangıç: IoT hub’a bağlı bir cihazı denetleme

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. IoT Hub, IoT cihazlarınızı buluttan yönetmenize ve depolama veya işleme için yüksek hacimli cihaz telemetrisini buluta almanızı sağlayan bir Azure hizmetidir. IoT hub'ınıza bağlı cihazların davranışını uzaktan değiştirmek için doğrudan yöntemleri kullanabilirsiniz.

Hızlı başlangıçta, önceden yazılmış iki .NET uygulaması kullanılır:

  • Bir hizmet uygulamasından çağrılan doğrudan yöntemlere yanıt veren bir sanal cihaz uygulaması. 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.

  • Simülasyon cihazında doğrudan yöntemleri çağıran bir hizmet uygulaması. Bir cihazda doğrudan yöntem çağırmak için bu uygulama, IoT hub’ınızda sunucu tarafı uç noktasına bağlanır.

Önkoşullar

  • Etkin aboneliği olan bir Azure hesabı. Ücretsiz bir tane oluşturun.

  • Bu hızlı başlangıçta çalıştırdığınız iki örnek uygulama, C# kullanılarak yazılır. Geliştirme makinenizde .NET SDK 6.0 veya üzeri gerekir.

    .NET’ten birden fazla platform için .NET Core SDK’sını indirebilirsiniz.

    Aşağıdaki komutu kullanarak geliştirme makinenizde geçerli C# sürümünü doğrulayabilirsiniz:

    dotnet --version
    
  • GitHub'dan Azure IoT C# SDK'sını kopyalayın veya indirin.

  • Güvenlik duvarınızda 8883 numaralı bağlantı noktasının açık olduğundan emin olun. Bu hızlı başlangıçtaki cihaz örneği, 8883 numaralı bağlantı noktası üzerinden iletişim kuran MQTT protokollerini kullanır. Bu bağlantı noktası bazı kurumsal ve eğitim ağ ortamlarında engellenebilir. Bu sorunu çözmenin daha fazla bilgi ve yolları için bkz. IoT Hub 'a bağlanma (MQTT).

Not

Bu makalede Azure IoT uzantısının adlı azure-ioten yeni sürümü kullanılır. Eski sürüm olarak adlandırılır azure-cli-iot-ext. Bir kerede yalnızca bir sürümü yüklemiş olmanız gerekir. Şu anda yüklü olan uzantıları doğrulamak için komutunu az extension list kullanabilirsiniz.

Uzantının eski sürümünü kaldırmak için kullanın az extension remove --name azure-cli-iot-ext .

Uzantının yeni sürümünü eklemek için kullanın az extension add --name azure-iot .

Hangi uzantıları yüklediğinizi görmek için kullanın az extension list.

Bu bölümde, IoT hub'ı ve kaynak grubu oluşturmak için Azure CLI'yi kullanacaksınız. Azure kaynak grubu, Azure kaynaklarının dağıtıldığı ve yönetildiği bir mantıksal kapsayıcıdır. IoT hub'ı, IoT uygulamanızla cihazlar arasında çift yönlü iletişim için merkezi bir ileti hub'ı işlevi görür.

Azure aboneliğinizde zaten bir IoT hub'ınız varsa bu bölümü atlayabilirsiniz.

IoT hub'ı ve kaynak grubu oluşturmak için:

  1. CLI uygulamanızı başlatın. Bu makalenin geri kalanında CLI komutlarını çalıştırmak için komut söz dizimini kopyalayın, CLI uygulamanıza yapıştırın, değişken değerlerini düzenleyin ve tuşuna basın Enter.

    • Cloud Shell kullanıyorsanız, cli komutlarında Deneyin düğmesini seçerek Cloud Shell bölünmüş bir tarayıcı penceresinde başlatın. İsterseniz Cloud Shell ayrı bir tarayıcı sekmesinde de açabilirsiniz.
    • Azure CLI'yi yerel olarak kullanıyorsanız CLI konsol uygulamanızı başlatın ve Azure CLI'da oturum açın.
  2. azure-iot uzantısını yüklemek veya geçerli sürüme yükseltmek için az extension add komutunu çalıştırın.

    az extension add --upgrade --name azure-iot
    
  3. CLI uygulamanızda az group create komutunu çalıştırarak bir kaynak grubu oluşturun. Aşağıdaki komut eastus konumunda MyResourceGroup adlı bir kaynak grubu oluşturur.

    Not

    İsteğe bağlı olarak, farklı bir konum ayarlayabilirsiniz. Kullanılabilir konumları görmek için komutunu çalıştırın az account list-locations. Bu hızlı başlangıçta örnek komutta gösterildiği gibi eastus kullanılmaktadır.

    az group create --name MyResourceGroup --location eastus
    
  4. IoT hub'ı oluşturmak için az iot hub create komutunu çalıştırın. IoT hub'ı oluşturmak birkaç dakika sürebilir.

    YourIotHubName. Aşağıdaki komuttaki bu yer tutucuyu ve çevresindeki küme ayraçlarını, IoT hub'ınız için seçtiğiniz adı kullanarak değiştirin. IoT hub adı Azure'da genel olarak benzersiz olmalıdır. Bu hızlı başlangıcın geri kalanında yer tutucuyu gördüğünüz her yerde IoT hub adınızı kullanın.

    az iot hub create --resource-group MyResourceGroup --name {your_iot_hub_name}
    

Hizmet bağlantı dizesini alma

Hizmet uygulamasının hub'a bağlanmasını ve iletileri almasını sağlamak için IoT hub'ınızın hizmet bağlantı dizesine de ihtiyacınız vardır. Hizmet bağlantı dizesi bir bütün olarak IoT hub'ınıza yöneliktir ve önceki bölümde aldığınız cihaz bağlantı dizesinden farklıdır.

Aşağıdaki komut, IoT hub'ınız için hizmeti bağlantı dizesini alır:

az iot hub connection-string show --policy-name service --hub-name {YourIoTHubName} --output table

Şu ifadeye benzer şekilde görünen hizmet bağlantı dizesini not edin:

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

Bu değeri hızlı başlangıcın ilerleyen bölümlerinde kullanacaksınız.

Cihazı benzetme

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. 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. Simülasyon cihazı, doğrudan yöntemi yürüttükten sonra hub'ınıza bir bildirim gönderir.

  1. Yerel terminal penceresinde, örnek C# projesinin kök klasörüne gidin. Ardından iothub\device\samples\getting started\SimulatedDeviceWithCommand klasörüne gidin.

  2. Simülasyon cihazı uygulaması için gerekli paketleri yüklemek için aşağıdaki komutu çalıştırın:

    dotnet restore
    
  3. Simülasyon cihazı uygulamasını derlemek ve çalıştırmak için aşağıdaki komutu çalıştırın.

    {DeviceConnectionString}: Bu yer tutucuyu daha önce not ettiğiniz cihaz bağlantı dizesiyle değiştirin.

    dotnet run -- -c "{DeviceConnectionString}"
    

    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:

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

Doğrudan yöntem çağırma

Hizmet uygulaması, IoT Hub bir hizmet tarafı uç noktasına bağlanır. Uygulama IoT hub'ınız aracılığıyla bir cihaza doğrudan yöntem çağrıları yapar ve bildirimleri dinler. bir IoT Hub hizmet uygulaması genellikle bulutta çalışır.

  1. Başka bir yerel terminal penceresinde, örnek C# projesinin kök klasörüne gidin. Ardından iothub\service\samples\getting started\InvokeDeviceMethod klasörüne gidin.

  2. Yerel terminal penceresinde aşağıdaki komutları çalıştırarak hizmet uygulaması için gerekli kitaplıkları yükleyin:

    dotnet build
    
  3. Yerel terminal penceresinde, hizmet uygulamasını derlemek ve çalıştırmak için aşağıdaki komutları çalıştırın.

    {ServiceConnectionString}: Bu yer tutucuyu daha önce not ettiğiniz IoT Hub hizmet bağlantı dizesiyle değiştirin.

    {DeviceName}: Bu yer tutucuyu kaydettiğiniz cihazın adıyla değiştirin.

    dotnet run -- -c "{ServiceConnectionString}" -d {DeviceName}
    

    Aşağıdaki ekran görüntüsünde, uygulama cihaza doğrudan yöntem çağrısı yaptığında ve bir bildirim aldığında çıkış gösterilir:

    Hizmet uygulamasını çalıştırma

    Hizmet uygulamasını çalıştırdıktan sonra, konsol penceresinde simülasyon cihazını çalıştıran bir ileti görürsünüz ve ileti gönderme hızı değişir:

    Sanal istemcide değişiklik

Bu hızlı başlangıçta iki Java uygulaması kullanılır:

  • Bir arka uç uygulamasından çağrılan doğrudan yöntemlere yanıt veren bir simülasyon cihazı uygulaması.
  • Simülasyon cihazında doğrudan yöntemi çağıran bir hizmet uygulaması.

Önkoşullar

  • Etkin aboneliği olan bir Azure hesabı. Ücretsiz bir tane oluşturun.

  • Java SE Geliştirme Seti 8. Azure ve Azure Stack için Java uzun vadeli desteği bölümünde Uzun süreli destek bölümünde Java 8'i seçin.

    Aşağıdaki komutu kullanarak geliştirme makinenizde geçerli Java sürümünü doğrulayabilirsiniz:

    java -version
    
  • Apache Maven 3.

    Aşağıdaki komutu kullanarak geliştirme makinenizde geçerli Maven sürümünü doğrulayabilirsiniz:

    mvn --version
    
  • GitHub'dan Azure IoT Java örneklerini kopyalayın veya indirin.

  • Güvenlik duvarınızda 8883 numaralı bağlantı noktasının açıldığından emin olun. Bu hızlı başlangıçtaki cihaz örneği, 8883 numaralı bağlantı noktası üzerinden iletişim kuran MQTT protokollerini kullanır. Bu bağlantı noktası bazı kurumsal ve eğitim ağ ortamlarında engellenebilir. Bu sorunu çözmenin daha fazla bilgi ve yolları için bkz. IoT Hub 'a bağlanma (MQTT).

Not

Bu makalede Azure IoT uzantısının adlı azure-ioten yeni sürümü kullanılır. Eski sürüm olarak adlandırılır azure-cli-iot-ext. Bir kerede yalnızca bir sürümü yüklemiş olmanız gerekir. Şu anda yüklü olan uzantıları doğrulamak için komutunu az extension list kullanabilirsiniz.

Uzantının eski sürümünü kaldırmak için kullanın az extension remove --name azure-cli-iot-ext .

Uzantının yeni sürümünü eklemek için kullanın az extension add --name azure-iot .

Hangi uzantıları yüklediğinizi görmek için kullanın az extension list.

IoT hub oluşturma

Bu bölümde, IoT hub'ı ve kaynak grubu oluşturmak için Azure CLI'yi kullanacaksınız. Azure kaynak grubu, Azure kaynaklarının dağıtıldığı ve yönetildiği bir mantıksal kapsayıcıdır. IoT hub'ı, IoT uygulamanızla cihazlar arasında çift yönlü iletişim için merkezi bir ileti hub'ı işlevi görür.

Azure aboneliğinizde zaten bir IoT hub'ınız varsa bu bölümü atlayabilirsiniz.

IoT hub'ı ve kaynak grubu oluşturmak için:

  1. CLI uygulamanızı başlatın. Bu makalenin geri kalanında CLI komutlarını çalıştırmak için komut söz dizimini kopyalayın, CLI uygulamanıza yapıştırın, değişken değerlerini düzenleyin ve tuşuna basın Enter.

    • Cloud Shell kullanıyorsanız, cli komutlarında Deneyin düğmesini seçerek Cloud Shell bölünmüş bir tarayıcı penceresinde başlatın. İsterseniz Cloud Shell ayrı bir tarayıcı sekmesinde de açabilirsiniz.
    • Azure CLI'yi yerel olarak kullanıyorsanız CLI konsol uygulamanızı başlatın ve Azure CLI'da oturum açın.
  2. azure-iot uzantısını yüklemek veya geçerli sürüme yükseltmek için az extension add komutunu çalıştırın.

    az extension add --upgrade --name azure-iot
    
  3. CLI uygulamanızda az group create komutunu çalıştırarak bir kaynak grubu oluşturun. Aşağıdaki komut eastus konumunda MyResourceGroup adlı bir kaynak grubu oluşturur.

    Not

    İsteğe bağlı olarak, farklı bir konum ayarlayabilirsiniz. Kullanılabilir konumları görmek için komutunu çalıştırın az account list-locations. Bu hızlı başlangıçta örnek komutta gösterildiği gibi eastus kullanılmaktadır.

    az group create --name MyResourceGroup --location eastus
    
  4. IoT hub'ı oluşturmak için az iot hub create komutunu çalıştırın. IoT hub'ı oluşturmak birkaç dakika sürebilir.

    YourIotHubName. Aşağıdaki komuttaki bu yer tutucuyu ve çevresindeki küme ayraçlarını, IoT hub'ınız için seçtiğiniz adı kullanarak değiştirin. IoT hub adı Azure'da genel olarak benzersiz olmalıdır. Bu hızlı başlangıcın geri kalanında yer tutucuyu gördüğünüz her yerde IoT hub adınızı kullanın.

    az iot hub create --resource-group MyResourceGroup --name {your_iot_hub_name}
    

Cihaz kaydetme

Bir cihazın bağlanabilmesi için IoT hub’ınıza kaydedilmesi gerekir. Bu bölümde, cihaz kimliği oluşturmak için Azure CLI kullanacaksınız.

IoT hub'ınıza kayıtlı bir cihazınız varsa bu bölümü atlayabilirsiniz.

Cihaz kimliği oluşturmak için:

  1. CLI kabuğunuzda az iot hub device-identity create komutunu çalıştırın. Bu komut cihaz kimliğini oluşturur.

    your_iot_hub_name. Aşağıdaki yer tutucuyu IoT hub'ınız için seçtiğiniz adla değiştirin.

    myDevice. Bu makalenin tamamında cihaz kimliği için bu adı kullanabilir veya farklı bir cihaz adı sağlayabilirsiniz.

    az iot hub device-identity create --device-id myDevice --hub-name {your_iot_hub_name}
    
  2. az iot hub device-identity connection-string show komutunu çalıştırın.

    az iot hub device-identity connection-string show --device-id myDevice --hub-name {your_iot_hub_name}
    

    Bağlantı dizesi çıkışı aşağıdaki biçimdedir:

    HostName=<your IoT Hub name>.azure-devices.net;DeviceId=<your device id>;SharedAccessKey=<some value>
    
  3. Bağlantı dizesini güvenli bir konuma kaydedin.

Not

CLI uygulamanızı açık tutun. Sonraki adımlarda kullanacaksınız.

Hizmet bağlantı dizesini alma

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. Aşağıdaki komut, IoT hub'ınız için hizmeti bağlantı dizesini alır:

YourIoTHubName: Aşağıdaki yer tutucuyu IoT hub'ınız için seçtiğiniz adla değiştirin.

az iot hub connection-string show --policy-name service --hub-name {YourIoTHubName} --output table

Şu ifadeye benzer şekilde görünen hizmet bağlantı dizesini not edin:

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

Bu değeri hızlı başlangıcın ilerleyen bölümlerinde kullanacaksınız. Bu hizmet bağlantı dizesi, önceki adımda not ettiğiniz cihaz bağlantı dizesinden farklıdır.

Cihazı benzetme

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. 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. Simülasyon cihazı, doğrudan yöntemi yürüttükten sonra hub'ınıza bir bildirim gönderir.

  1. Yerel terminal penceresinde, örnek Java projesinin kök klasörüne gidin. Daha sonra iot-hub\Quickstarts\simulated-device-2 klasörüne gidin.

  2. src/main/java/com/microsoft/docs/iothub/samples/SimulatedDevice.java dosyasını istediğiniz bir metin düzenleyicide açın.

    değişkeninin connString değerini, daha önce not ettiğiniz cihaz bağlantı dizesiyle değiştirin. Ardından değişikliklerinizi SimulatedDevice.java dosyasına kaydedin.

  3. Yerel terminal penceresinde, aşağıdaki komutları çalıştırarak gerekli kitaplıkları yükleyin ve simülasyon cihazı uygulamasını derleyin:

    mvn clean package
    
  4. Yerel terminal penceresinde, aşağıdaki komutları çalıştırarak simülasyon cihazı uygulamasını çalıştırın:

    java -jar target/simulated-device-2-1.0.0-with-deps.jar
    

    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:

    Cihaz tarafından IoT hub'ınıza gönderilen telemetriden çıkış

Doğrudan yöntem çağırma

Arka uç uygulaması, IoT Hub’ınızdaki bir hizmet tarafı uç noktasına bağlanır. Uygulama IoT hub'ınız aracılığıyla bir cihaza doğrudan yöntem çağrıları yapar ve bildirimleri dinler. IoT Hub arka uç uygulaması genellikle bulutta çalışır.

  1. Başka bir yerel terminal penceresinde, örnek Java projesinin kök klasörüne gidin. Daha sonra iot-hub\Quickstarts\back-end-application klasörüne gidin.

  2. src/main/java/com/microsoft/docs/iothub/samples/BackEndApplication.java dosyasını istediğiniz bir metin düzenleyicide açın.

    değişkeninin iotHubConnectionString değerini, daha önce not ettiğiniz hizmet bağlantı dizesiyle değiştirin. Ardından Değişikliklerinizi BackEndApplication.java dosyasına kaydedin.

  3. Yerel terminal penceresinde, aşağıdaki komutları çalıştırarak gerekli kitaplıkları yükleyin ve arka uç uygulamasını derleyin:

    mvn clean package
    
  4. Yerel terminal penceresinde, aşağıdaki komutları çalıştırarak arka uç uygulamasını çalıştırın:

    java -jar target/back-end-application-1.0.0-with-deps.jar
    

    Aşağıdaki ekran görüntüsünde, uygulama cihaza doğrudan yöntem çağrısı yaptığında ve bir bildirim aldığından çıkış gösterilmektedir:

    Uygulama IoT hub'ınız aracılığıyla doğrudan yöntem çağrısı yaptığından çıkış

    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:

    Cihazdan gelen konsol iletisi, cihazın değişme hızını gösterir

Bu hızlı başlangıçta iki Node.js uygulaması kullanılır:

  • Bir arka uç uygulamasından çağrılan doğrudan yöntemlere yanıt veren bir simülasyon cihazı uygulaması. 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.
  • Simülasyon cihazında doğrudan yöntemler çağıran bir arka uç uygulaması. Bir cihazda doğrudan yöntem çağırmak için, bu uygulama IoT hub'ınızdaki hizmete özgü bir uç noktaya bağlanır.

Önkoşullar

  • Etkin aboneliği olan bir Azure hesabı. Ücretsiz bir tane oluşturun.

  • 12+Node.js.

    Aşağıdaki komutu kullanarak geliştirme makinenizde geçerli Node.js sürümünü doğrulayabilirsiniz:

    node --version
    
  • GitHub'dan Azure IoT Node.js örneklerini kopyalayın veya indirin.

  • Güvenlik duvarınızda 8883 numaralı bağlantı noktasının açık olduğundan emin olun. Bu hızlı başlangıçtaki cihaz örneği, 8883 numaralı bağlantı noktası üzerinden iletişim kuran MQTT protokollerini kullanır. Bu bağlantı noktası bazı kurumsal ve eğitim ağ ortamlarında engellenebilir. Bu sorunu çözmenin daha fazla bilgi ve yolları için bkz. IoT Hub bağlanma (MQTT).

Not

Bu makalede Azure IoT uzantısının adlı azure-ioten yeni sürümü kullanılır. Eski sürüm olarak adlandırılır azure-cli-iot-ext. Bir kerede yalnızca bir sürümü yüklemiş olmanız gerekir. Şu anda yüklü olan uzantıları doğrulamak için komutunu az extension list kullanabilirsiniz.

Uzantının eski sürümünü kaldırmak için kullanın az extension remove --name azure-cli-iot-ext .

Uzantının yeni sürümünü eklemek için kullanın az extension add --name azure-iot .

Hangi uzantıları yüklediğinizi görmek için kullanın az extension list.

IoT hub oluşturma

Bu bölümde, IoT hub'ı ve kaynak grubu oluşturmak için Azure CLI kullanacaksınız. Azure kaynak grubu, Azure kaynaklarının dağıtıldığı ve yönetildiği bir mantıksal kapsayıcıdır. IoT hub'ı, IoT uygulamanızla cihazlar arasında çift yönlü iletişim için merkezi bir ileti hub'ı işlevi görür.

Azure aboneliğinizde zaten bir IoT hub'ınız varsa bu bölümü atlayabilirsiniz.

IoT hub'ı ve kaynak grubu oluşturmak için:

  1. CLI uygulamanızı başlatın. Bu makalenin geri kalanında CLI komutlarını çalıştırmak için komut söz dizimini kopyalayın, CLI uygulamanıza yapıştırın, değişken değerlerini düzenleyin ve tuşuna basın Enter.

    • Cloud Shell kullanıyorsanız, CLI komutlarındaki Dene düğmesini seçerek Cloud Shell bölünmüş bir tarayıcı penceresinde başlatın. İsterseniz Cloud Shell ayrı bir tarayıcı sekmesinde de açabilirsiniz.
    • Azure CLI'yi yerel olarak kullanıyorsanız CLI konsol uygulamanızı başlatın ve Azure CLI'da oturum açın.
  2. azure-iotuzantısını yüklemek veya geçerli sürüme yükseltmek için az extension add komutunu çalıştırın.

    az extension add --upgrade --name azure-iot
    
  3. CLI uygulamanızda az group create komutunu çalıştırarak bir kaynak grubu oluşturun. Aşağıdaki komut eastus konumunda MyResourceGroup adlı bir kaynak grubu oluşturur.

    Not

    İsteğe bağlı olarak, farklı bir konum ayarlayabilirsiniz. Kullanılabilir konumları görmek için komutunu çalıştırın az account list-locations. Bu hızlı başlangıçta örnek komutta gösterildiği gibi eastus kullanılmıştır.

    az group create --name MyResourceGroup --location eastus
    
  4. IoT hub'ı oluşturmak için az iot hub create komutunu çalıştırın. IoT hub'ı oluşturmak birkaç dakika sürebilir.

    YourIotHubName. Aşağıdaki komutta, IoT hub'ınız için seçtiğiniz adı kullanarak bu yer tutucuyu ve çevresindeki küme ayraçlarını değiştirin. IoT hub'ı adının Azure'da genel olarak benzersiz olması gerekir. Bu hızlı başlangıcın geri kalanında yer tutucuyu gördüğünüz her yerde IoT hub'ınızın adını kullanın.

    az iot hub create --resource-group MyResourceGroup --name {your_iot_hub_name}
    

Cihaz kaydetme

Bir cihazın bağlanabilmesi için IoT hub’ınıza kaydedilmesi gerekir. Bu bölümde, cihaz kimliği oluşturmak için Azure CLI kullanacaksınız.

IoT hub'ınıza kayıtlı bir cihazınız varsa bu bölümü atlayabilirsiniz.

Cihaz kimliği oluşturmak için:

  1. CLI kabuğunuzda az iot hub device-identity create komutunu çalıştırın. Bu komut cihaz kimliğini oluşturur.

    your_iot_hub_name. Aşağıdaki yer tutucuyu IoT hub'ınız için seçtiğiniz adla değiştirin.

    myDevice. Bu makalenin tamamında cihaz kimliği için bu adı kullanabilir veya farklı bir cihaz adı sağlayabilirsiniz.

    az iot hub device-identity create --device-id myDevice --hub-name {your_iot_hub_name}
    
  2. az iot hub device-identity connection-string show komutunu çalıştırın.

    az iot hub device-identity connection-string show --device-id myDevice --hub-name {your_iot_hub_name}
    

    Bağlantı dizesi çıkışı aşağıdaki biçimdedir:

    HostName=<your IoT Hub name>.azure-devices.net;DeviceId=<your device id>;SharedAccessKey=<some value>
    
  3. Bağlantı dizesini güvenli bir konuma kaydedin.

Not

CLI uygulamanızı açık tutun. Sonraki adımlarda kullanacaksınız.

Hizmet bağlantı dizesini alma

Arka uç uygulamasının IoT hub'ınıza bağlanıp iletileri almasını sağlamak için IoT hub'ınızın hizmet bağlantı dizesine de ihtiyacınız vardır. Aşağıdaki komut, IoT hub'ınız için hizmeti bağlantı dizesini alır:

YourIoTHubName: Aşağıdaki yer tutucuyu IoT hub'ınız için seçtiğiniz adla değiştirin.

az iot hub connection-string show \
  --policy-name service --hub-name {YourIoTHubName} --output table

Şu ifadeye benzer şekilde görünen hizmet bağlantı dizesini not edin:

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

Bu değeri hızlı başlangıcın ilerleyen bölümlerinde kullanacaksınız. Bu hizmet bağlantı dizesi, önceki adımda not ettiğiniz cihaz bağlantı dizesinden farklıdır.

Cihazı benzetme

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. 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. Simülasyon cihazı, doğrudan yöntemi yürütdükten sonra hub'ınıza bir bildirim gönderir.

  1. Yerel terminal penceresinde örnek Node.js projesinin kök klasörüne gidin. Daha sonra iot-hub\Quickstarts\simulated-device-2 klasörüne gidin.

  2. SimulatedDevice.js dosyasını, istediğiniz bir metin düzenleyicide açın.

    değişkeninin connectionString değerini, daha önce not ettiğiniz cihaz bağlantı dizesiyle değiştirin. Ardından değişikliklerinizi SimulatedDevice.jskaydedin.

  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:

    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:

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

Doğrudan yöntem çağırma

Arka uç uygulaması, IoT hub'ınızdaki bir hizmet tarafı uç noktasına bağlanır. Uygulama, IoT hub'ınız aracılığıyla bir cihaza doğrudan yöntem çağrıları yapar ve bildirimleri dinler. IoT Hub arka uç uygulaması genellikle bulutta çalışır.

  1. Başka bir yerel terminal penceresinde örnek Node.js projesinin kök klasörüne gidin. Daha sonra iot-hub\Quickstarts\back-end-application klasörüne gidin.

  2. BackEndApplication.js dosyasını, istediğiniz bir metin düzenleyicide açın.

    değişkeninin connectionString değerini, daha önce not ettiğiniz hizmet bağlantı dizesiyle değiştirin. Ardından değişikliklerinizi BackEndApplication.jskaydedin.

  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:

    npm install
    node BackEndApplication.js
    

    Aşağıdaki ekran görüntüsünde, uygulama cihaza doğrudan yöntem çağrısı yaptığında ve bir bildirim aldığından çıkış gösterilmektedir:

    Uygulama cihaza doğrudan yöntem çağrısı yaptığında çıkış

    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:

    Sanal istemcide bir değişiklik olduğunda çıkış

Bu hızlı başlangıçta iki Python uygulaması kullanılır:

  • Bir arka uç uygulamasından çağrılan doğrudan yöntemlere yanıt veren bir simülasyon cihazı uygulaması.
  • Simülasyon cihazında doğrudan yöntemler çağıran bir arka uç uygulaması.

Önkoşullar

  • Etkin aboneliği olan bir Azure hesabı. Ücretsiz bir tane oluşturun.

  • Python 3.7+. Desteklenen diğer Python sürümleri için bkz. Azure IoT Cihaz Özellikleri.

  • Github'dan Azure IoT Python örneklerini kopyalayın veya indirin.

  • Güvenlik duvarınızda 8883 numaralı bağlantı noktasının açık olduğundan emin olun. Bu hızlı başlangıçtaki cihaz örneği, 8883 numaralı bağlantı noktası üzerinden iletişim kuran MQTT protokollerini kullanır. Bu bağlantı noktası bazı kurumsal ve eğitim ağ ortamlarında engellenebilir. Bu sorunu çözmenin daha fazla bilgi ve yolları için bkz. IoT Hub bağlanma (MQTT).

Not

Bu makalede Azure IoT uzantısının adlı azure-ioten yeni sürümü kullanılır. Eski sürüm olarak adlandırılır azure-cli-iot-ext. Bir kerede yalnızca bir sürümü yüklemiş olmanız gerekir. Şu anda yüklü olan uzantıları doğrulamak için komutunu az extension list kullanabilirsiniz.

Uzantının eski sürümünü kaldırmak için kullanın az extension remove --name azure-cli-iot-ext .

Uzantının yeni sürümünü eklemek için kullanın az extension add --name azure-iot .

Hangi uzantıları yüklediğinizi görmek için kullanın az extension list.

IoT hub oluşturma

Bu bölümde, IoT hub'ı ve kaynak grubu oluşturmak için Azure CLI kullanacaksınız. Azure kaynak grubu, Azure kaynaklarının dağıtıldığı ve yönetildiği bir mantıksal kapsayıcıdır. IoT hub'ı, IoT uygulamanızla cihazlar arasında çift yönlü iletişim için merkezi bir ileti hub'ı işlevi görür.

Azure aboneliğinizde zaten bir IoT hub'ınız varsa bu bölümü atlayabilirsiniz.

IoT hub'ı ve kaynak grubu oluşturmak için:

  1. CLI uygulamanızı başlatın. Bu makalenin geri kalanında CLI komutlarını çalıştırmak için komut söz dizimini kopyalayın, CLI uygulamanıza yapıştırın, değişken değerlerini düzenleyin ve tuşuna basın Enter.

    • Cloud Shell kullanıyorsanız, CLI komutlarındaki Dene düğmesini seçerek Cloud Shell bölünmüş bir tarayıcı penceresinde başlatın. İsterseniz Cloud Shell ayrı bir tarayıcı sekmesinde de açabilirsiniz.
    • Azure CLI'yi yerel olarak kullanıyorsanız CLI konsol uygulamanızı başlatın ve Azure CLI'da oturum açın.
  2. azure-iotuzantısını yüklemek veya geçerli sürüme yükseltmek için az extension add komutunu çalıştırın.

    az extension add --upgrade --name azure-iot
    
  3. CLI uygulamanızda az group create komutunu çalıştırarak bir kaynak grubu oluşturun. Aşağıdaki komut eastus konumunda MyResourceGroup adlı bir kaynak grubu oluşturur.

    Not

    İsteğe bağlı olarak, farklı bir konum ayarlayabilirsiniz. Kullanılabilir konumları görmek için komutunu çalıştırın az account list-locations. Bu hızlı başlangıçta örnek komutta gösterildiği gibi eastus kullanılmıştır.

    az group create --name MyResourceGroup --location eastus
    
  4. IoT hub'ı oluşturmak için az iot hub create komutunu çalıştırın. IoT hub'ı oluşturmak birkaç dakika sürebilir.

    YourIotHubName. Aşağıdaki komutta, IoT hub'ınız için seçtiğiniz adı kullanarak bu yer tutucuyu ve çevresindeki küme ayraçlarını değiştirin. IoT hub'ı adının Azure'da genel olarak benzersiz olması gerekir. Bu hızlı başlangıcın geri kalanında yer tutucuyu gördüğünüz her yerde IoT hub'ınızın adını kullanın.

    az iot hub create --resource-group MyResourceGroup --name {your_iot_hub_name}
    

Cihaz kaydetme

Bir cihazın bağlanabilmesi için IoT hub’ınıza kaydedilmesi gerekir. Bu bölümde, cihaz kimliği oluşturmak için Azure CLI kullanacaksınız.

IoT hub'ınıza kayıtlı bir cihazınız varsa bu bölümü atlayabilirsiniz.

Cihaz kimliği oluşturmak için:

  1. CLI kabuğunuzda az iot hub device-identity create komutunu çalıştırın. Bu komut cihaz kimliğini oluşturur.

    your_iot_hub_name. Aşağıdaki yer tutucuyu IoT hub'ınız için seçtiğiniz adla değiştirin.

    myDevice. Bu makalenin tamamında cihaz kimliği için bu adı kullanabilir veya farklı bir cihaz adı sağlayabilirsiniz.

    az iot hub device-identity create --device-id myDevice --hub-name {your_iot_hub_name}
    
  2. az iot hub device-identity connection-string show komutunu çalıştırın.

    az iot hub device-identity connection-string show --device-id myDevice --hub-name {your_iot_hub_name}
    

    Bağlantı dizesi çıkışı aşağıdaki biçimdedir:

    HostName=<your IoT Hub name>.azure-devices.net;DeviceId=<your device id>;SharedAccessKey=<some value>
    
  3. Bağlantı dizesini güvenli bir konuma kaydedin.

Not

CLI uygulamanızı açık tutun. Sonraki adımlarda kullanacaksınız.

Hizmet bağlantı dizesini alma

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. Aşağıdaki komut, IoT hub'ınız için hizmeti bağlantı dizesini alır:

YourIoTHubName: Aşağıdaki yer tutucuyu IoT hub'ınız için seçtiğiniz adla değiştirin.

az iot hub connection-string show \
  --policy-name service \
  --hub-name {YourIoTHubName} \
  --output table

Şu ifadeye benzer şekilde görünen hizmet bağlantı dizesini not edin:

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

Bu değeri hızlı başlangıcın ilerleyen bölümlerinde kullanacaksınız. Bu hizmet bağlantı dizesi, önceki adımda not ettiğiniz cihaz bağlantı dizesinden farklıdır.

Cihazı benzetme

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. 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. Simülasyon cihazı, doğrudan yöntemi yürüttükten sonra hub'ınıza bir bildirim gönderir.

  1. Yerel terminal penceresinde, örnek Python projesinin kök klasörüne gidin. Daha sonra iot-hub\Quickstarts\simulated-device-2 klasörüne gidin.

  2. SimulatedDeviceSync.py dosyasını istediğiniz bir metin düzenleyicisinde açın.

    değişkeninin CONNECTION_STRING değerini, daha önce not ettiğiniz cihaz bağlantı dizesiyle değiştirin. Ardından değişikliklerinizi SimulatedDeviceSync.py kaydedin.

  3. Yerel terminal penceresinde, aşağıdaki komutları çalıştırarak simülasyon cihazı uygulaması için gerekli kitaplıkları yükleyin:

    pip install azure-iot-device
    
  4. Yerel terminal penceresinde, aşağıdaki komutları çalıştırarak simülasyon cihazı uygulamasını çalıştırın:

    python SimulatedDeviceSync.py
    

    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:

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

Doğrudan yöntem çağırma

Arka uç uygulaması, IoT Hub’ınızdaki bir hizmet tarafı uç noktasına bağlanır. Uygulama IoT hub'ınız aracılığıyla bir cihaza doğrudan yöntem çağrıları yapar ve bildirimleri dinler. IoT Hub arka uç uygulaması genellikle bulutta çalışır.

  1. Başka bir yerel terminal penceresinde, örnek Python projesinin kök klasörüne gidin. Daha sonra iot-hub\Quickstarts\back-end-application klasörüne gidin.

  2. BackEndApplication.py dosyasını, istediğiniz bir metin düzenleyicide açın.

    değişkeninin CONNECTION_STRING değerini, daha önce not ettiğiniz hizmet bağlantı dizesiyle değiştirin. Ardından değişikliklerinizi BackEndApplication.py kaydedin.

  3. Yerel terminal penceresinde, aşağıdaki komutları çalıştırarak simülasyon cihazı uygulaması için gerekli kitaplıkları yükleyin:

    pip install azure-iot-hub
    
  4. Yerel terminal penceresinde, aşağıdaki komutları çalıştırarak arka uç uygulamasını çalıştırın:

    python BackEndApplication.py
    

    Aşağıdaki ekran görüntüsünde, uygulama cihaza doğrudan yöntem çağrısı yaptığında ve bir bildirim aldığında çıkış gösterilir:

    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:

    Sanal istemcide değişiklik

Kaynakları temizleme

Bir sonraki önerilen makaleye geçecekseniz oluşturduğunuz kaynakları tutabilir ve yeniden kullanabilirsiniz.

Geçmeyecekseniz ücret kesilmesini önlemek için bu makalede oluşturulan Azure kaynaklarını silebilirsiniz.

Önemli

Silinen kaynak grupları geri alınamaz. Kaynak grubu ve içindeki tüm kaynaklar kalıcı olarak silinir. Yanlış kaynak grubunu veya kaynakları yanlışlıkla silmediğinizden emin olun. 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.

Bir kaynak grubunu adıyla silmek için:

  1. Azure portalda oturum açın ve Kaynak grupları’nı seçin.

  2. Ada göre filtrele metin kutusuna, IoT Hub içeren kaynak grubunun adını yazın.

  3. Sonuç listesinde kaynak grubunuzun sağında ... ve ardından Kaynak grubunu sil'i seçin.

    Sil

  4. Kaynak grubunun silinmesini onaylamanız istenir. Onaylamak için kaynak grubunuzun adını yeniden yazın ve sil'i seçin. Birkaç dakika sonra kaynak grubu ve içerdiği kaynakların tümü silinir.

Sonraki adımlar

Bu hızlı başlangıçta, bir hizmet uygulamasından bir cihazda doğrudan yöntem çağırdınız ve simülasyon cihazı uygulamasındaki doğrudan yöntem çağrısına yanıt verdiniz.

Cihazdan buluta iletileri, buluttaki farklı hedeflere yönlendirmeyi öğrenmek için sonraki öğreticiyle devam edin.