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).
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'yi 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. Azure CLI'yi Docker kapsayıcısında ç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.
Not
Bu makalede Azure IoT uzantısının adlı azure-iot
en 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:
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.
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
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
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.
Yerel terminal penceresinde, örnek C# projesinin kök klasörüne gidin. Ardından iothub\device\samples\getting started\SimulatedDeviceWithCommand klasörüne gidin.
Simülasyon cihazı uygulaması için gerekli paketleri yüklemek için aşağıdaki komutu çalıştırın:
dotnet restore
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:
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.
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.
Yerel terminal penceresinde aşağıdaki komutları çalıştırarak hizmet uygulaması için gerekli kitaplıkları yükleyin:
dotnet build
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ı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:
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
-
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).
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'yi 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. Azure CLI'yi Docker kapsayıcısında ç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.
Not
Bu makalede Azure IoT uzantısının adlı azure-iot
en 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:
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.
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
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
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:
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}
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>
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.
Yerel terminal penceresinde, örnek Java projesinin kök klasörüne gidin. Daha sonra iot-hub\Quickstarts\simulated-device-2 klasörüne gidin.
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.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
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:
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.
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.
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.Yerel terminal penceresinde, aşağıdaki komutları çalıştırarak gerekli kitaplıkları yükleyin ve arka uç uygulamasını derleyin:
mvn clean package
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:
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:
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.
-
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).
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'yi 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. Azure CLI'yi Docker kapsayıcısında ç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.
Not
Bu makalede Azure IoT uzantısının adlı azure-iot
en 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:
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.
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
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
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:
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}
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>
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.
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.
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.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:
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.
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.
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.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:
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:
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).
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'yi 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. Azure CLI'yi Docker kapsayıcısında ç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.
Not
Bu makalede Azure IoT uzantısının adlı azure-iot
en 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:
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.
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
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
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:
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}
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>
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.
Yerel terminal penceresinde, örnek Python projesinin kök klasörüne gidin. Daha sonra iot-hub\Quickstarts\simulated-device-2 klasörüne gidin.
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.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
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:
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.
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.
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.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
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ı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:
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:
Azure portalda oturum açın ve Kaynak grupları’nı seçin.
Ada göre filtrele metin kutusuna, IoT Hub içeren kaynak grubunun adını yazın.
Sonuç listesinde kaynak grubunuzun sağında ... ve ardından Kaynak grubunu sil'i seçin.
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.