Hızlı Başlangıç: Sanal simetrik anahtar cihazı sağlama
Bu hızlı başlangıçta, Windows makinenizde bir sanal cihaz oluşturacaksınız. Simülasyon cihazı, kimlik doğrulaması için simetrik anahtar kanıtlama mekanizmasını kullanacak şekilde yapılandırılır. Cihazınızı yapılandırdıktan sonra Azure IoT Hub Cihazı Sağlama Hizmeti'ni kullanarak IoT hub'ınıza sağlarsınız.
Sağlama işlemini bilmiyorsanız, sağlama genel bakışını gözden geçirin.
Bu hızlı başlangıçta Windows tabanlı iş istasyonu için bir çözüm gösterilmektedir. Ancak, Linux'ta yordamları da gerçekleştirebilirsiniz. Linux örneği için bkz . Öğretici: coğrafi gecikme süresi sağlama.
Önkoşullar
Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.
Azure portalıyla IoT Hub Cihazı Sağlama Hizmeti'ni ayarlama makalesindeki adımları tamamlayın.
- Windows geliştirme ortamı kullanıyorsanız Visual Studio 2019'u 'C++ile masaüstü geliştirme' iş yükü etkin olarak yükleyin. Visual Studio 2015 ve Visual Studio 2017 de desteklenir. Linux veya macOS için SDK belgelerindeki Geliştirme ortamınızı hazırlama bölümündeki uygun bölüme bakın.
Windows tabanlı makinenize .NET SDK 6.0 veya üzerini yükleyin. Sürümünüzü denetlemek için aşağıdaki komutu kullanabilirsiniz.
dotnet --info
- v4.0+ Node.js yükleyin.
- Windows tabanlı makinenize yüklü Python 3.7 veya üzerini yükleyin. komutunu çalıştırarak
python --version
Python sürümünüzü de kontrol edebilirsiniz.
Makinenize Java SE Development Kit 8 veya üzerini yükleyin.
Maven'ı indirip yükleyin.
- En son Git sürümünü yükleyin. Git'in komut penceresi tarafından erişilebilen ortam değişkenlerine eklendiğinden emin olun. Yüklenecek araçların en son sürümü
git
için, yerel Git deponuzla etkileşim kurmak için kullanabileceğiniz komut satırı uygulaması Git Bash'i içeren Yazılım Özgürlüğü Koruması'nın Git istemci araçlarına bakın.
Geliştirme ortamınızı hazırlama
Bu bölümde, Azure IoT C SDK'sını oluşturmak için kullanılan bir geliştirme ortamı hazırlamış olursunuz. Örnek kod, cihazın önyükleme sırası sırasında cihazı sağlamayı dener.
En son CMake derleme sistemini indirin.
Önemli
Yüklemeyi başlatmadan
CMake
önce makinenizde Visual Studio önkoşullarının (Visual Studio ve 'C++ile masaüstü geliştirme' iş yükü) yüklü olduğunu onaylayın. Önkoşullar sağlandıktan ve indirme doğrulandıktan sonra, CMake derleme sistemini yükleyin. Ayrıca, CMake derleme sisteminin eski sürümlerinin bu makalede kullanılan çözüm dosyasını oluşturamaya çalışmadığını unutmayın. CMake'nin en son sürümünü kullandığınızdan emin olun.Bir web tarayıcısı açın ve Azure IoT C SDK'sının Yayın sayfasına gidin.
Sayfanın üst kısmındaki Etiketler sekmesini seçin.
Azure IoT C SDK'sının en son sürümünün etiket adını kopyalayın.
Komut istemini veya Git Bash kabuğunu açın. C GitHub deposu için Azure IoT Cihaz SDK'sının en son sürümünü kopyalamak için aşağıdaki komutları çalıştırın. değerini önceki adımda kopyaladığınız etiketle değiştirin
<release-tag>
, örneğin:lts_01_2023
.git clone -b <release-tag> https://github.com/Azure/azure-iot-sdk-c.git cd azure-iot-sdk-c git submodule update --init
Bu işlemin tamamlanması birkaç dakika sürebilir.
İşlem tamamlandığında dizinden
azure-iot-sdk-c
aşağıdaki komutları çalıştırın:mkdir cmake cd cmake
Kod örneği, kanıtlama sağlamak için bir simetrik anahtar kullanır. Sdk'nın geliştirme istemci platformunuza özgü, cihaz sağlama istemcisini içeren bir sürümünü oluşturmak için aşağıdaki komutu çalıştırın:
cmake -Dhsm_type_symm_key:BOOL=ON -Duse_prov_client:BOOL=ON ..
İpucu
cmake
C++ derleyicinizi bulamazsa, yukarıdaki komutu çalıştırırken derleme hataları alabilirsiniz. Böyle bir durumda Visual Studio komut isteminde komutunu çalıştırmayı deneyin.Derleme başarıyla tamamlandığında, son birkaç çıkış satırı aşağıdaki çıkışa benzer:
$ cmake -Dhsm_type_symm_key:BOOL=ON -Duse_prov_client:BOOL=ON .. -- Building for: Visual Studio 16 2019 -- Selecting Windows SDK version 10.0.19041.0 to target Windows 10.0.19042. -- The C compiler identification is MSVC 19.29.30040.0 -- The CXX compiler identification is MSVC 19.29.30040.0 ... -- Configuring done -- Generating done -- Build files have been written to: E:/IoT Testing/azure-iot-sdk-c/cmake
Git CMD veya Git Bash komut satırı ortamını açın.
Aşağıdaki komutu kullanarak C# GitHub deposu için Azure IoT SDK'sını kopyalayın:
git clone https://github.com/Azure/azure-iot-sdk-csharp.git
Git CMD veya Git Bash komut satırı ortamını açın.
Aşağıdaki komutu kullanarak Node.js GitHub deposu için Azure IoT SDK'sını kopyalayın:
git clone https://github.com/Azure/azure-iot-sdk-node.git --recursive
Git CMD veya Git Bash komut satırı ortamını açın.
Aşağıdaki komutu kullanarak Python GitHub deposu için Azure IoT SDK'sını kopyalayın:
git clone -b v2 https://github.com/Azure/azure-iot-sdk-python.git --recursive
Not
Bu öğreticide kullanılan örnekler azure-iot-sdk-python deposunun v2 dalında yer alır. Python SDK'sının V3'leri beta sürümünde kullanılabilir.
Git CMD veya Git Bash komut satırı ortamını açın.
Aşağıdaki komutu kullanarak Java GitHub deposu için Azure IoT SDK'sını kopyalayın:
git clone https://github.com/Azure/azure-iot-sdk-java.git --recursive
Kök
azure-iot-sdk-java
dizine gidin ve gerekli tüm paketleri indirmek için projeyi oluşturun. Bu adımın tamamlanması birkaç dakika sürebilir.cd azure-iot-sdk-java mvn install -DskipTests=true
Cihaz kaydı oluşturma
Azure IoT Cihaz Sağlama Hizmeti iki tür kaydı destekler:
- Kayıt grupları: Birden fazla ilgili cihazı kaydetmek için kullanılır.
- Bireysel kayıtlar: Tek bir cihazı kaydetmek için kullanılır.
Bu makalede, ioT hub'ı ile sağlanacak tek bir cihaz için bireysel kayıt gösterilmektedir.
Azure portalında oturum açın ve Cihaz Sağlama Hizmeti örneğine gidin.
Gezinti menüsünün Ayarlar bölümünden Kayıtları yönet'i seçin.
Bireysel kayıtlar sekmesini ve ardından Bireysel kayıt ekle'yi seçin.
Kayıt ekle sayfasının Kayıt + sağlama sayfasında, kayıt ayrıntılarını yapılandırmak için aşağıdaki bilgileri sağlayın:
Alan Açıklama Tasdik Kanıtlama mekanizması olarak Simetrik anahtar'ı seçin. Simetrik anahtar ayarları Rastgele oluşturulan anahtarları kullanmak istiyorsanız Simetrik anahtarları otomatik olarak oluştur kutusunu işaretleyin. Kendi anahtarlarınızı sağlamak istiyorsanız bu kutunun işaretini kaldırın. Kayıt Kimliği Cihaz için benzersiz bir kayıt kimliği sağlayın. Sağlama durumu Bu kaydın cihazını sağlamak için kullanılabilir olmasını istiyorsanız Bu kaydı etkinleştir kutusunu işaretleyin. Kaydın devre dışı bırakılmasını istiyorsanız bu kutunun işaretini kaldırın. Bu ayarı daha sonra değiştirebilirsiniz. yeniden sağlama ilkesi DPS'nin yeniden sağlama isteyen cihazları nasıl işlemesini istediğinizi yansıtan bir yeniden sağlama ilkesi seçin. Daha fazla bilgi için bkz . İlkeleri yeniden sağlama. İleri: IoT hub'ları'ı seçin.
Kayıt ekle sayfasının IoT hub'ları sekmesinde, kaydın cihazları hangi IoT hub'larına sağlayabileceğini belirlemek için aşağıdaki bilgileri sağlayın:
Alan Açıklama Hedef IoT hub'ları Bağlı IoT hub'larınızdan birini veya daha fazlasını seçin veya bir IoT hub'ına yeni bir bağlantı ekleyin. IoT hub'larını DPS örneğinize bağlama hakkında daha fazla bilgi edinmek için bkz . IoT hub'larını bağlama ve yönetme. Ayırma ilkesi Birden fazla bağlı IoT hub'ı seçtiyseniz cihazları farklı hub'lara nasıl atamak istediğinizi seçin. Ayırma ilkeleri hakkında daha fazla bilgi edinmek için bkz . Ayırma ilkelerini kullanma.
Yalnızca bir bağlantılı IoT hub'ı seçtiyseniz, Eşit ağırlıklı dağıtım ilkesini kullanmanızı öneririz.İleri: Cihaz ayarları'nı seçin
Kayıt ekle sayfasının Cihaz ayarları sekmesinde, yeni sağlanan cihazların nasıl yapılandırılacağını tanımlamak için aşağıdaki bilgileri sağlayın:
Alan Açıklama Cihaz Kimliği IoT Hub'da sağlanan cihaza atanacak bir cihaz kimliği sağlayın. Cihaz kimliği sağlamazsanız kayıt kimliği kullanılır. IoT Edge Sağlanan cihaz Azure IoT Edge çalıştıracaksa Sağlanan cihazlarda IoT Edge'i etkinleştir'i denetleyin. Bu kayıt IoT Edge özellikli olmayan bir cihaza yönelikse bu kutunun işaretini kaldırın. Cihaz etiketleri Sağlanan cihazın cihaz ikizi için uygulamak istediğiniz etiketleri sağlamak için bu metin kutusunu kullanın. İstenen özellikler Sağlanan cihazın cihaz ikizi için uygulamak istediğiniz tüm istenen özellikleri sağlamak için bu metin kutusunu kullanın. Daha fazla bilgi için bkz. IoT Hub'ındaki cihaz ikizlerini kavrama ve kullanma.
Sonraki: Gözden geçirme ve oluşturma’yı seçin.
Gözden Geçir + oluştur sekmesinde tüm değerlerinizi doğrulayın ve Oluştur'u seçin.
Bireysel kaydı oluşturduktan sonra birincil anahtar ve ikincil anahtar oluşturulur ve kayıt girişine eklenir. Bu hızlı başlangıcın devamında cihaz örneğinde birincil anahtarı kullanacaksınız.
Sanal simetrik anahtar cihaz kaydınızı görüntülemek için Bireysel kayıtlar sekmesini seçin.
Bireysel kayıtlar listesinden cihazınızın kayıt kimliğini seçin.
Oluşturulan Birincil anahtarın değerini kopyalayın.
Cihaz sağlama kodunu hazırlama ve çalıştırma
Bu bölümde, cihazın önyükleme sırasını Cihaz Sağlama Hizmeti örneğine göndermek için cihaz örnek kodunu güncelleştirirsiniz. Bu önyükleme sırası cihazın tanınmasına, kimliğinin doğrulanmasına ve Cihaz Sağlama Hizmeti örneğine bağlı bir IoT hub'ına atanmalarına neden olur.
Örnek sağlama kodu aşağıdaki görevleri sırayla gerçekleştirir:
Aşağıdaki üç parametreyi kullanarak Cihazınızın Kimliğini Cihaz Sağlama kaynağınızla doğrular:
- Cihaz Sağlama Hizmetinizin Kimlik Kapsamı
- Cihaz kaydınızın kayıt kimliği.
- Cihaz kaydınız için birincil simetrik anahtar.
Cihazı, Cihaz Sağlama Hizmeti örneğiniz ile bağlantılı olan IoT hub'ına atar.
Sağlama örneğini cihaz bilgilerinizle güncelleştirmek ve çalıştırmak için:
Cihaz Sağlama Hizmetinizin ana menüsünde Genel Bakış'ı seçin.
Kimlik Kapsamı değerini kopyalayın.
Visual Studio’da, CMake çalıştırılarak oluşturulan azure_iot_sdks.sln çözüm dosyasını açın. Çözüm dosyası şu konumda olmalıdır:
\azure-iot-sdk-c\cmake\azure_iot_sdks.sln
İpucu
Dosya cmake dizininizde oluşturulmadıysa, CMake derleme sisteminin son sürümünü kullandığınızdan emin olun.
Visual Studio'nun Çözüm Gezgini penceresinde Provision_Samples klasörüne gidin. prov_dev_client_sample adlı örnek projeyi genişletin. Kaynak Dosyalar'ı genişletin ve prov_dev_client_sample.c dosyasını açın.
Sabiti
id_scope
bulun ve değerini 2. adımda kopyaladığınız Kimlik Kapsamı değeriyle değiştirin.static const char* id_scope = "0ne00002193";
Aynı dosyada
main()
işlevinin tanımını bulun. Değişkeninhsm_type
aşağıdaki örnekte gösterildiği gibi olarak ayarlandığındanSECURE_DEVICE_TYPE_SYMMETRIC_KEY
emin olun:SECURE_DEVICE_TYPE hsm_type; //hsm_type = SECURE_DEVICE_TYPE_TPM; //hsm_type = SECURE_DEVICE_TYPE_X509; hsm_type = SECURE_DEVICE_TYPE_SYMMETRIC_KEY;
prov_dev_client_sample.c'de açıklama satırı yapılan aramasını
prov_dev_set_symmetric_key_info()
bulun.// Set the symmetric key if using they auth type //prov_dev_set_symmetric_key_info("<symm_registration_id>", "<symmetric_Key>");
İşlev çağrısının açıklamasını kaldırın ve yer tutucu değerlerini (köşeli ayraçlar dahil) cihazınızın kayıt kimliği ve daha önce kopyaladığınız birincil anahtar değeriyle değiştirin.
// Set the symmetric key if using they auth type prov_dev_set_symmetric_key_info("symm-key-device-007", "your primary key here");
Dosyayı kaydedin.
prov_dev_client_sample projesine sağ tıklayın ve Başlangıç Projesi Olarak Ayarla'yı seçin.
Çözümü çalıştırmak için Visual Studio menüsünde Hata Ayıkla>Hata ayıklama olmadan başlat'ı seçin. Projeyi yeniden oluşturma isteminde, çalıştırmadan önce projeyi yeniden derlemek için Evet'i seçin.
Aşağıdaki çıkış, ioT hub'ına atanacak sağlama Hizmeti örneğine başarıyla bağlanan bir cihaz örneğidir:
Provisioning API Version: 1.2.8 Registering Device Provisioning Status: PROV_DEVICE_REG_STATUS_CONNECTED Provisioning Status: PROV_DEVICE_REG_STATUS_ASSIGNING Registration Information received from service: test-docs-hub.azure-devices.net, deviceId: device-007 Press enter key to exit:
Örnek sağlama kodu aşağıdaki görevleri gerçekleştirir:
Aşağıdaki üç parametreyi kullanarak Cihazınızın Kimliğini Cihaz Sağlama kaynağınızla doğrular:
- Cihaz Sağlama Hizmetinizin Kimlik Kapsamı
- Cihaz kaydınızın kayıt kimliği.
- Cihaz kaydınız için birincil simetrik anahtar.
Cihazı, Cihaz Sağlama Hizmeti örneğiniz ile bağlantılı olan IoT hub'ına atar.
IoT hub'ına bir test telemetri iletisi gönderir.
Sağlama örneğini cihaz bilgilerinizle güncelleştirmek ve çalıştırmak için:
Cihaz Sağlama Hizmetinizin ana menüsünde Genel Bakış'ı seçin.
Kimlik Kapsamı değerini kopyalayın.
Bir komut istemi açın ve kopyalanan sdk deposundaki SymmetricKeySample'a gidin:
cd '.\azure-iot-sdk-csharp\provisioning\device\samples\how to guides\SymmetricKeySample\'
SymmetricKeySample klasöründe, Parameters.cs bir metin düzenleyicisinde açın. Bu dosya, örnek için kullanılabilir parametreleri gösterir. Bu makalede örneği çalıştırırken yalnızca ilk üç gerekli parametre kullanılır. Bu dosyadaki kodu gözden geçirin. Değişiklik gerekmez.
Parametre Zorunlu Açıklama --i
veya--IdScope
True DPS örneğinin Kimlik Kapsamı --r
veya--RegistrationId
True Kayıt kimliği, alfasayısal karakterlerin yanı sıra özel karakterler içeren büyük/küçük harfe duyarlı olmayan bir dizedir (en fazla 128 karakter uzunluğundadır): '-'
,'.'
,'_'
,':'
. Son karakter alfasayısal veya tire ('-'
) olmalıdır.--p
veya--PrimaryKey
True Bireysel kaydın birincil anahtarı veya grup kaydının türetilmiş cihaz anahtarı. Türetilmiş anahtarın nasıl oluşturulacağı hakkında bilgi için bkz. ComputeDerivedSymmetricKeySample. --g
veya--GlobalDeviceEndpoint
False Cihazların bağlanabilmesi için genel uç nokta. Varsayılan değer: global.azure-devices-provisioning.net
--t
veya--TransportType
False Cihaz sağlama örneğiyle iletişim kurmak için kullanılacak aktarım. varsayılan değeridir Mqtt
. Olası değerler , ,Mqtt_WebSocket_Only
,Mqtt_Tcp_Only
,Amqp
,Amqp_WebSocket_Only
,Amqp_Tcp_only
veHttp1
değerlerini içerirMqtt
.SymmetricKeySample klasöründe, ProvisioningDeviceClientSample.cs bir metin düzenleyicisinde açın. Bu dosya, sanal simetrik anahtar cihazınızı sağlamak için ProvisioningDeviceClient sınıfıyla birlikte SecurityProviderSymmetricKey sınıfının nasıl kullanıldığını gösterir. Bu dosyadaki kodu gözden geçirin. Değişiklik gerekmez.
Aşağıdaki komutu kullanarak örnek kodu derleyin ve çalıştırın:
- değerini, 2. adımda kopyaladığınız Kimlik Kapsamı ile değiştirin
<id-scope>
. - değerini, cihaz kaydı için sağladığınız Kayıt Kimliği ile değiştirin
<registration-id>
. - değerini, cihaz kaydından kopyaladığınız Birincil Anahtar ile değiştirin
<primarykey>
.
dotnet run --i <id-scope> --r <registration-id> --p <primarykey>
- değerini, 2. adımda kopyaladığınız Kimlik Kapsamı ile değiştirin
Şimdi aşağıdaki çıkışa benzer bir şey görmeniz gerekir. Hub'a test iletisi olarak bir "TestMessage" dizesi gönderilir.
D:\azure-iot-sdk-csharp\provisioning\device\samples\how to guides\SymmetricKeySample>dotnet run --i 0ne00000A0A --r symm-key-csharp-device-01 --p sbDDeEzRuEuGKag+kQKV+T1QGakRtHpsERLP0yPjwR93TrpEgEh/Y07CXstfha6dhIPWvdD1nRxK5T0KGKA+nQ== Initializing the device provisioning client... Initialized for registration Id symm-key-csharp-device-01. Registering with the device provisioning service... Registration status: Assigned. Device csharp-device-01 registered to ExampleIoTHub.azure-devices.net. Creating symmetric key authentication for IoT Hub... Testing the provisioned device with IoT Hub... Sending a telemetry message... Finished. Enter any key to exit.
Örnek sağlama kodu aşağıdaki görevleri sırayla gerçekleştirir:
Aşağıdaki dört parametreyi kullanarak Cihazınızın Kimliğini Cihaz Sağlama kaynağınızla doğrular:
PROVISIONING_HOST
PROVISIONING_IDSCOPE
PROVISIONING_REGISTRATION_ID
PROVISIONING_SYMMETRIC_KEY
Cihazı, Cihaz Sağlama Hizmeti örneğiniz ile bağlantılı olan IoT hub'ına atar.
IoT hub'ına bir test telemetri iletisi gönderir.
Sağlama örneğini cihaz bilgilerinizle güncelleştirmek ve çalıştırmak için:
Cihaz Sağlama Hizmetinizin ana menüsünde Genel Bakış'ı seçin.
Kimlik Kapsamı ve Genel cihaz uç noktası değerlerini kopyalayın.
Node.js komutları yürütmek için bir komut istemi açın ve aşağıdaki dizine gidin:
cd azure-iot-sdk-node/provisioning/device/samples
Sağlama/cihaz/örnekler klasöründe register_symkey.js açın ve kodu gözden geçirin. Örnek kodun özel bir yük ayarlandığını fark edin:
provisioningClient.setProvisioningPayload({a: 'b'});
Bu hızlı başlangıç için gerekli olmadığından bu kodu açıklama satırı yapabilirsiniz. Cihazınızı bir IoT hub'ına atamak için özel bir ayırma işlevi kullanmak istediğinizde özel bir yük gerekir. Daha fazla bilgi için bkz . Öğretici: Özel ayırma ilkelerini kullanma.
provisioningClient.register()
yöntemi, cihazınızın kaydını dener.Başka değişiklik yapılması gerekmez.
Komut isteminde aşağıdaki komutları çalıştırarak örnek tarafından kullanılan ortam değişkenlerini ayarlayın:
- değerini, 2. adımda kopyaladığınız Genel cihaz uç noktasıyla değiştirin
<provisioning-global-endpoint>
. - değerini, 2. adımda kopyaladığınız Kimlik Kapsamı ile değiştirin
<id-scope>
. - değerini, cihaz kaydı için sağladığınız Kayıt Kimliği ile değiştirin
<registration-id>
. - değerini, cihaz kaydından kopyaladığınız Birincil Anahtar ile değiştirin
<primarykey>
.
set PROVISIONING_HOST=<provisioning-global-endpoint>
set PROVISIONING_IDSCOPE=<id-scope>
set PROVISIONING_REGISTRATION_ID=<registration-id>
set PROVISIONING_SYMMETRIC_KEY=<primarykey>
- değerini, 2. adımda kopyaladığınız Genel cihaz uç noktasıyla değiştirin
Aşağıdaki komutları kullanarak örnek kodu derleyin ve çalıştırın:
npm install
node register_symkey.js
Şimdi aşağıdaki çıkışa benzer bir şey görmeniz gerekir. Hub'a test iletisi olarak bir "Merhaba Dünya" dizesi gönderilir.
D:\azure-iot-samples-csharp\provisioning\device\samples>node register_symkey.js registration succeeded assigned hub=ExampleIoTHub.azure-devices.net deviceId=nodejs-device-01 payload=undefined Client connected send status: MessageEnqueued
Örnek sağlama kodu aşağıdaki görevleri sırayla gerçekleştirir:
Aşağıdaki dört parametreyi kullanarak Cihazınızın Kimliğini Cihaz Sağlama kaynağınızla doğrular:
PROVISIONING_HOST
PROVISIONING_IDSCOPE
PROVISIONING_REGISTRATION_ID
PROVISIONING_SYMMETRIC_KEY
Cihazı, Cihaz Sağlama Hizmeti örneğiniz ile bağlantılı olan IoT hub'ına atar.
IoT hub'ına bir test telemetri iletisi gönderir.
Sağlama örneğini cihaz bilgilerinizle güncelleştirmek ve çalıştırmak için:
Cihaz Sağlama Hizmetinizin ana menüsünde Genel Bakış'ı seçin.
Kimlik Kapsamı ve Genel cihaz uç noktası değerlerini kopyalayın.
Bir komut istemi açın ve örnek dosyanın (provision_symmetric_key.py) bulunduğu dizine gidin.
cd azure-iot-sdk-python\samples\async-hub-scenarios
Komut isteminde aşağıdaki komutları çalıştırarak örnek tarafından kullanılan ortam değişkenlerini ayarlayın:
- değerini, 2. adımda kopyaladığınız Genel cihaz uç noktasıyla değiştirin
<provisioning-global-endpoint>
. - değerini, 2. adımda kopyaladığınız Kimlik Kapsamı ile değiştirin
<id-scope>
. - değerini, cihaz kaydı için sağladığınız Kayıt Kimliği ile değiştirin
<registration-id>
. - değerini, cihaz kaydından kopyaladığınız Birincil Anahtar ile değiştirin
<primarykey>
.
set PROVISIONING_HOST=<provisioning-global-endpoint>
set PROVISIONING_IDSCOPE=<id-scope>
set PROVISIONING_REGISTRATION_ID=<registration-id>
set PROVISIONING_SYMMETRIC_KEY=<primarykey>
- değerini, 2. adımda kopyaladığınız Genel cihaz uç noktasıyla değiştirin
Aşağıdaki komutu çalıştırarak azure-iot-device kitaplığını yükleyin.
pip install azure-iot-device
python örnek kodunu provision_symmetric_key.py çalıştırın.
python provision_symmetric_key.py
Şimdi aşağıdaki çıkışa benzer bir şey görmeniz gerekir. Bazı örnek rüzgar hızı telemetri iletileri de test olarak hub'a gönderilir.
D:\azure-iot-sdk-python\samples\async-hub-scenarios>python provision_symmetric_key.py RegistrationStage(RequestAndResponseOperation): Op will transition into polling after interval 2. Setting timer. The complete registration result is python-device-008 docs-test-iot-hub.azure-devices.net initialAssignment null Will send telemetry from the provisioned device sending message #8 sending message #9 sending message #3 sending message #10 sending message #4 sending message #2 sending message #6 sending message #7 sending message #1 sending message #5 done sending message #8 done sending message #9 done sending message #3 done sending message #10 done sending message #4 done sending message #2 done sending message #6 done sending message #7 done sending message #1 done sending message #5
Örnek sağlama kodu aşağıdaki görevleri sırayla gerçekleştirir:
Aşağıdaki dört parametreyi kullanarak Cihazınızın Kimliğini Cihaz Sağlama kaynağınızla doğrular:
GLOBAL_ENDPOINT
SCOPE_ID
REGISTRATION_ID
SYMMETRIC_KEY
Cihazı, Cihaz Sağlama Hizmeti örneğiniz ile bağlantılı olan IoT hub'ına atar.
IoT hub'ına bir test telemetri iletisi gönderir.
Sağlama örneğini cihaz bilgilerinizle güncelleştirmek ve çalıştırmak için:
Cihaz Sağlama Hizmetinizin ana menüsünde Genel Bakış'ı seçin.
Kimlik Kapsamı ve Genel cihaz uç noktası değerlerini kopyalayın. Bu değerler sırasıyla sizin ve
GLOBAL_ENDPOINT
parametrelerinizdirSCOPE_ID
.Düzenlemek için Java cihaz örnek kodunu açın. Cihaz örnek kodunun tam yolu:
azure-iot-sdk-java/provisioning/provisioning-device-client-samples/provisioning-symmetrickey-individual-sample/src/main/java/samples/com/microsoft/azure/sdk/iot/ProvisioningSymmetricKeyIndividualEnrollmentSample.java
DPS'niz ve cihaz kaydınız için aşağıdaki değişkenlerin değerini ayarlayın:
- değerini, 2. adımda kopyaladığınız Kimlik Kapsamı ile değiştirin
<id-scope>
. - değerini, 2. adımda kopyaladığınız Genel cihaz uç noktasıyla değiştirin
<provisioning-global-endpoint>
. - değerini, cihaz kaydı için sağladığınız Kayıt Kimliği ile değiştirin
<registration-id>
. - değerini, cihaz kaydından kopyaladığınız Birincil Anahtar ile değiştirin
<primarykey>
.
private static final String SCOPE_ID = "<id-scope>"; private static final String GLOBAL_ENDPOINT = "<provisioning-global-endpoint>"; private static final String SYMMETRIC_KEY = "<primarykey>"; private static final String REGISTRATION_ID = "<registration-id>";
- değerini, 2. adımda kopyaladığınız Kimlik Kapsamı ile değiştirin
Oluşturmak için bir komut istemi açın. Java SDK deposunun sağlama örnek proje klasörüne gidin.
cd azure-iot-sdk-java\provisioning\provisioning-device-client-samples\provisioning-symmetrickey-individual-sample
Örneği derleyin.
mvn clean install
Klasöre
target
gidin ve oluşturulan.jar
dosyayı yürütür. komutundajava
yer tutucusunu{version}
makinenizdeki dosya adında bulunan.jar
sürümle değiştirin.cd target java -jar ./provisioning-symmetrickey-individual-sample-{version}-with-deps.jar
Şimdi aşağıdaki çıkışa benzer bir şey görmeniz gerekir.
Starting... Beginning setup. Initialized a ProvisioningDeviceClient instance using SDK version 1.11.0 Starting provisioning thread... Waiting for Provisioning Service to register Opening the connection to device provisioning service... Connection to device provisioning service opened successfully, sending initial device registration message Authenticating with device provisioning service using symmetric key Waiting for device provisioning service to provision this device... Current provisioning status: ASSIGNING Device provisioning service assigned the device successfully IotHUb Uri : <Your IoT hub name>.azure-devices.net Device ID : java-device-007 Sending message from device to IoT Hub... Press any key to exit... Message received! Response status: OK_EMPTY
Cihaz sağlama kaydınızı onaylayın
Azure portala gidin.
Sol taraftaki menüden veya portal sayfasında Tüm kaynaklar'ı seçin.
Cihazınızın atandığı IoT hub'ını seçin.
Cihaz yönetimi menüsünde Cihazlar'ı seçin.
Cihazınız başarıyla sağlandıysa, cihaz kimliği listede Durum Etkin olarak ayarlı olarak görünmelidir. Cihazınızı görmüyorsanız sayfanın üst kısmındaki Yenile'yi seçin.
Not
Cihazınız için başlangıç cihaz ikizi durumu ayarının kayıt girişindeki varsayılan değerini değiştirdiyseniz istenen ikili durumu hub'dan çekerek ona göre hareket edebilir. Daha fazla bilgi için bkz. IoT Hub'ındaki cihaz ikizlerini kavrama ve kullanma.
Kaynakları temizleme
Cihaz istemci örneği üzerinde çalışmaya ve keşfetmeye devam etmek istiyorsanız, bu hızlı başlangıçta oluşturulan kaynakları temizlemeyin. Devam etmek istemiyorsanız, bu hızlı başlangıç tarafından oluşturulan tüm kaynakları silmek için aşağıdaki adımları kullanın.
Cihaz kaydınızı silme
Makinenizde cihaz istemci örnek çıktı penceresini kapatın.
Azure portalının sol tarafındaki menüden Tüm kaynaklar'ı seçin.
Cihaz Sağlama Hizmetinizi seçin.
Ayarlar menüsünde Kayıtları yönet'i seçin.
Bireysel kayıtlar sekmesini seçin.
Bu hızlı başlangıçta kaydettiğiniz cihazın kayıt kimliğinin yanındaki onay kutusunu seçin.
Sayfanın üst kısmından Sil’i seçin.
IoT Hub'dan cihaz kaydınızı silme
Azure portalının sol tarafındaki menüden Tüm kaynaklar'ı seçin.
IoT hub'ınızı seçin.
Explorers menüsünde IoT cihazları'nı seçin.
Bu hızlı başlangıçta kaydettiğiniz cihazın cihaz kimliğinin yanındaki onay kutusunu seçin.
Sayfanın üst kısmından Sil’i seçin.
Sonraki adımlar
Bu hızlı başlangıçta, tek bir kayıt kullanarak IoT hub'ınıza tek bir cihaz sağladınız. Ardından, birden çok hub'da birden çok cihaz sağlamayı öğrenin.