Öğretici: Bağlan Linux veya IoT Tak Çalıştır çalıştıran örnek bir Windows IoT Hub
Bu hızlı başlangıçta örnek bir IoT Tak ve Kullan cihaz uygulaması oluşturma, IoT Hub 'ınıza bağlama ve Azure IoT Explorer aracını kullanarak gönderdiği Telemetriyi görüntüleme gösterilmektedir. Örnek uygulama C dilinde yazılır ve C için Azure IoT cihaz SDK 'sına dahildir. Bir çözüm Oluşturucusu, herhangi bir cihaz kodunu görüntülemeye gerek olmadan IoT Tak ve Kullan cihazının yeteneklerini anlamak için Azure IoT gezgin aracını kullanabilir.
Önkoşullar
Devam etmek için IoT hub'ını dahil olmak üzereortamınızı ayar hazır olduğundan emin olun.
Bu hızlı başlangıcı Linux veya Windows üzerinde çalıştırabilirsiniz. bu hızlı başlangıçta kabuk komutları ' ' yol ayırıcıları için Linux kuralını izler / . Windows üzerinde takip ediyorsanız, ' ' için bu ayırıcıları değiştirmeyi unutmayın \ .
Önkoşullar işletim sistemine göre farklılık gösterir:
Linux
Bu hızlı başlangıç, Ubuntu Linux kullandığınızı varsayar. Bu hızlı başlangıçtaki adımlar Ubuntu 18,04 kullanılarak test edilmiştir.
Bu hızlı başlangıcı Linux üzerinde gerçekleştirmek için, yerel Linux ortamınıza aşağıdaki yazılımı yüklersiniz:
şu komutu kullanarak GCC, Git, cmake ve tüm gerekli bağımlılıkları yükler apt-get :
sudo apt-get update
sudo apt-get install -y git cmake build-essential curl libcurl4-openssl-dev libssl-dev uuid-dev
öğesinin sürümünün cmake 2.8.12 üzerinde olduğunu ve GCC sürümünün 4.4.7'in üzerinde olduğunu doğrulayın.
cmake --version
gcc --version
Windows
bu hızlı başlangıcı Windows üzerinde gerçekleştirmek için, yerel Windows ortamınıza aşağıdaki yazılımları yüklersiniz:
- Visual Studio (Community, Professional veya Enterprise) -Visual Studio yüklerken C++ iş yüküyle masaüstü geliştirmeyi eklediğinizden emin olun.
- Git.
- CMake.
Kodu indirme
Bu hızlı başlangıçta, Azure IoT Hub cihaz C SDK 'sını klonlamak ve derlemek için kullanabileceğiniz bir geliştirme ortamı hazırlarsınız.
Seçtiğiniz dizinde bir komut istemi açın. Azure ıot C sdk 'ları ve kitaplıkları GitHub deposunu bu konuma kopyalamak için aşağıdaki komutu yürütün:
git clone 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ürer.
Kodu oluşturma
Dahil edilen örnek kodu oluşturmak için cihaz SDK 'sını kullanın:
Cihaz SDK 'sının kök klasöründe bir CMake alt dizini oluşturun ve bu klasöre gidin:
cd azure-iot-sdk-c mkdir cmake cd cmakeSDK 'Yı ve örnekleri derlemek için aşağıdaki komutları çalıştırın:
cmake -Duse_prov_client=ON -Dhsm_type_symm_key=ON -Drun_e2e_tests=OFF .. cmake --build .
İpucu
Windows Visual Studio 2019 ' de komut tarafından oluşturulan çözümü açabilirsiniz cmake . CMake dizinindeki azure_iot_sdks. sln proje dosyasını açın ve pnp_simple_thermostat projesini çözümdeki başlangıç projesi olarak ayarlayın. artık Visual Studio örneği oluşturabilir ve hata ayıklama modunda çalıştırabilirsiniz.
Cihaz örneğini çalıştırma
Ortamınızı ayarlamabölümünde, örneği, IoT Hub 'ınıza bağlanmak üzere cihaz sağlama hizmeti 'NI (DPS) kullanacak şekilde yapılandırmak için dört ortam değişkeni oluşturdunuz:
- Değer ile IOTHUB_DEVICE_SECURITY_TYPE
DPS - DPS KIMLIK kapsamıyla IOTHUB_DEVICE_DPS_ID_SCOPE .
- Değeri ile IOTHUB_DEVICE_DPS_DEVICE_ID
my-pnp-device. - Kayıt birincil anahtarıyla IOTHUB_DEVICE_DPS_DEVICE_KEY .
- Değeri ile IOTHUB_DEVICE_DPS_ENDPOINT
global.azure-devices-provisioning.net.
Örnek yapılandırma hakkında daha fazla bilgi edinmek için bkz. örnek Readme.
IoT Hub 'ınıza telemetri gönderen bir IoT Tak ve Kullan cihazının benzetimini yapan SDK 'da örnek uygulamayı çalıştırmak için:
CMake klasöründen, yürütülebilir dosyayı içeren klasöre gidin ve çalıştırın:
# Bash
cd iothub_client/samples/pnp/pnp_simple_thermostat/
./pnp_simple_thermostat
REM Windows
cd iothub_client\samples\pnp\pnp_simple_thermostat\Debug
.\pnp_simple_thermostat.exe
İpucu
Windows Visual Studio kod yürütmeyi izlemek için main pnp_simple_thermostat. c dosyasındaki işleve bir kesme noktası ekleyin.
Cihaz artık komutları ve özellik güncelleştirmelerini almaya hazır ve hub 'a telemetri verileri göndermeye başladı. Sonraki adımları tamamladıktan sonra örneği çalışır durumda tutun.
Kodu doğrulamak için Azure IoT Gezginini Kullanma
Cihaz istemcisi örneği başladıktan sonra, çalıştığını doğrulamak için Azure IoT gezgin aracını kullanın.
Azure IoT gezginini açın.
IoT hub'ları sayfasında, IoT hub'ınıza henüz bir bağlantı eklemedıyoksanız + Bağlantı ekle'yi seçin. Daha önce oluşturduğunuz IoT hub'ı için bağlantı dizesini girin ve Kaydet'i seçin.
Yeni IoT Tak Çalıştır Ayarlar + Yerel klasöre ekle'> ve model dosyalarınızı kaydeden yerel modeller klasörünü seçin.
IoT hub'ları sayfasında, çalışmak istediğiniz hub'ın adına tıklayın. IoT hub'a kayıtlı cihazların listesini görüyorsunuz.
Daha önce oluşturduğunuz cihazın Cihaz Kimliği'ne tıklayın.
Sol menü, cihaz için kullanılabilen farklı bilgi türlerini gösterir.
Cihazınızın IoT Tak Çalıştır görüntülemek için tüm bileşenleri seçin.
Cihazın farklı bileşenlerini görüntüebilirsiniz. Varsayılan bileşen ve diğer bileşenler. Çalışmak için bir bileşen seçin.
Telemetri sayfasını seçin ve ardından Başlat'ı seçerek cihazın bu bileşen için gönderdiği telemetri verilerini görüntüleyebilirsiniz.
Bu bileşen için bildirilen salt okunur özellikleri görüntülemek için Özellikler (salt okunur) sayfasını seçin.
Bu bileşen için güncelleştirebilirsiniz yazılabilir özellikleri görüntülemek için Özellikler (yazılabilir) sayfasını seçin.
Adına göre bir özellik seçin, bunun için yeni bir değer girin ve İstenen değeri güncelleştir'i seçin.
Yeni değerin göster olduğunu görmek için Yenile düğmesini seçin.
Bu bileşen için tüm komutları görüntülemek için Komutlar sayfasını seçin.
Test etmek istediğiniz komutu seçin ve varsa parametresini ayarlayın. Cihazda komutu aramak için Komutu gönder'i seçin. Örnek kodun çalıştır bulunduğu komut istemi penceresinde cihazınızın komuta yanıtını görebilirsiniz.
Kodu gözden geçirin
Bu örnek, basit bir IoT Tak ve Kullan termostat cihazı uygular. Bu örneğin uyguladığı model IoT Tak ve Kullan bileşenlerikullanmaz. Termostat cihazının Dtdl model dosyası , cihazın uyguladığı telemetri, özellik ve komutları tanımlar.
Cihaz kodu, IoT Hub 'ınıza bağlanmak için standart işlevi kullanır:
deviceHandle = IoTHubDeviceClient_CreateFromConnectionString(connectionString, MQTT_Protocol)
Cihaz, bağlantı isteğinde uyguladığı DTDL modelinin model KIMLIĞINI gönderir. Model KIMLIĞI gönderen bir cihaz IoT Tak ve Kullan cihazdır:
static const char g_ModelId[] = "dtmi:com:example:Thermostat;1";
...
IoTHubDeviceClient_SetOption(deviceHandle, OPTION_MODEL_ID, modelId)
Özellikleri güncelleştiren, komutları işleyen ve telemetri gönderen kod, IoT Tak ve Kullan kurallarını kullanmayan bir cihazın koduyla aynıdır.
Kod, IoT Hub 'ınızdan gönderilen yüklerden JSON nesnelerini ayrıştırmak için Parson kitaplığını kullanır:
// JSON parser
#include "parson.h"
Kaynakları temizleme
Hızlı başlangıç ve öğreticiler ile işiniz bittiğinde bkz. Kaynakları Temizleme.
Bu hızlı başlangıçta örnek bir IoT Tak Çalıştır uygulaması derleme, bunu IoT hub'ınıza bağlama ve Gönderdiği telemetri verileri görüntülemek için Azure IoT gezgini aracını kullanma hakkında bilgi edinebilirsiniz. Örnek uygulama C# ile yazılmıştır ve C# için Azure IoT Örnekleri'ne dahil edilir. Çözüm oluşturucusu, herhangi bir cihaz kodunu görüntülemeye gerek kalmadan bir IoT Tak Çalıştır cihazın özelliklerini anlamak için Azure IoT gezgini aracını kullanabilir.
Önkoşullar
Devam etmek için IoT hub'ını dahil olmak üzereortamınızı ayar hazır olduğundan emin olun.
Bu hızlı başlangıç Windows tamamlamak için geliştirme makinenize aşağıdaki yazılımların yüklü olması gerekir:
Kodu indirme
Bu hızlı başlangıçta, C# deposu için Azure IoT Örneklerini kopyalayacak ve derlemek için kullanabileceğiniz bir geliştirme ortamı hazırlayacaksınız.
Komut istemini istediğiniz klasörde açın. C# (.NET) için Microsoft Azure IoT Örneklerini bu konuma GitHub aşağıdaki komutu çalıştırın:
git clone https://github.com/Azure-Samples/azure-iot-samples-csharp.git
Kodu oluşturma
Artık örneği derlemek için Visual Studio hata ayıklama modunda çalıştırabilirsiniz.
azure-iot-samples-csharp\iot-hub\Samples\device\PnpDeviceSamples\Thermostat\Thermostat.csproj proje dosyasını Visual Studio 2019'da açın.
Bu Visual Studio, Hata Ayıkla Project > Termostat Özellikleri > gidin. Ardından aşağıdaki ortam değişkenlerini projeye ekleyin:
Name Değer IOTHUB_DEVICE_SECURITY_TYPE DPS IOTHUB_DEVICE_DPS_ENDPOINT global.azure-devices-provisioning.net IOTHUB_DEVICE_DPS_ID_SCOPE Ortamınızı ayarlamayı tamamlandıktan sonra not not defterinize not alasınız IOTHUB_DEVICE_DPS_DEVICE_ID my-pnp-device IOTHUB_DEVICE_DPS_DEVICE_KEY Ortamınızı ayarlamayı tamamlandıktan sonra not not defterinize not alasınız
Artık örneği derlemek için Visual Studio hata ayıklama modunda çalıştırabilirsiniz.
Cihaz örneğini çalıştırma
Kod yürütmeyi Visual Studio için Windows program.cs dosyasındaki main işlevine bir kesme noktası ekleyin.
Cihaz artık komutları ve özellik güncelleştirmelerini almaya hazırdır ve hub'a telemetri verileri göndermeye başlamıştır. Sonraki adımları tamamlarken örneği çalıştırmaya devam edin.
Kodu doğrulamak için Azure IoT gezginini kullanma
Cihaz istemcisi örneği başladıktan sonra, çalıştığını doğrulamak için Azure IoT gezgini aracını kullanın.
Azure IoT gezginini açın.
IoT hub'ları sayfasında, IoT hub'ınıza henüz bir bağlantı eklemedıyoksanız + Bağlantı ekle'yi seçin. Daha önce oluşturduğunuz IoT hub'ı için bağlantı dizesini girin ve Kaydet'i seçin.
Yeni IoT Tak Çalıştır Ayarlar + Yerel klasöre ekle'> ve model dosyalarınızı kaydeden yerel modeller klasörünü seçin.
IoT hub'ları sayfasında, çalışmak istediğiniz hub'ın adına tıklayın. IoT hub'a kayıtlı cihazların listesini görüyorsunuz.
Daha önce oluşturduğunuz cihazın Cihaz Kimliği'ne tıklayın.
Sol menü, cihaz için kullanılabilen farklı bilgi türlerini gösterir.
Cihazınızın IoT Tak Çalıştır görüntülemek için tüm bileşenleri seçin.
Cihazın farklı bileşenlerini görüntüebilirsiniz. Varsayılan bileşen ve diğer bileşenler. Çalışmak için bir bileşen seçin.
Telemetri sayfasını seçin ve ardından Başlat'ı seçerek cihazın bu bileşen için gönderdiği telemetri verilerini görüntüleyebilirsiniz.
Bu bileşen için bildirilen salt okunur özellikleri görüntülemek için Özellikler (salt okunur) sayfasını seçin.
Bu bileşen için güncelleştirebilirsiniz yazılabilir özellikleri görüntülemek için Özellikler (yazılabilir) sayfasını seçin.
Adına göre bir özellik seçin, bunun için yeni bir değer girin ve İstenen değeri güncelleştir'i seçin.
Yeni değerin göster olduğunu görmek için Yenile düğmesini seçin.
Bu bileşen için tüm komutları görüntülemek için Komutlar sayfasını seçin.
Test etmek istediğiniz komutu seçin ve varsa parametresini ayarlayın. Cihazda komutu aramak için Komutu gönder'i seçin. Örnek kodun çalıştır bulunduğu komut istemi penceresinde cihazınızın komuta yanıtını görebilirsiniz.
Kodu gözden geçirin
Bu örnek, termostat cihazına IoT Tak Çalıştır basit bir uygulamadır. Bu örneğin uygulayan modeli, IoT Tak Çalıştır kullanmaz. Termostat cihazı için Digital Twins tanımlama dili (DTDL) model dosyası, cihazın uygulayan telemetri, özellik ve komutları tanımlar.
Cihaz kodu, standart yöntemi kullanarak IoT hub'ınıza CreateFromConnectionString bağlanır. Cihaz, bağlantı isteğinde uygulayan DTDL modelinin model kimliğini gönderir. Model kimliği gönderen cihaz, IoT Tak Çalıştır cihazdır:
private static void InitializeDeviceClientAsync()
{
var options = new ClientOptions
{
ModelId = ModelId,
};
s_deviceClient = DeviceClient.CreateFromConnectionString(s_deviceConnectionString, TransportType.Mqtt, options);
s_deviceClient.SetConnectionStatusChangesHandler((status, reason) =>
{
s_logger.LogDebug($"Connection status change registered - status={status}, reason={reason}.");
});
}
Model kimliği, aşağıdaki kod parçacığında gösterildiği gibi kodda depolanır:
private const string ModelId = "dtmi:com:example:Thermostat;1";
Özellikleri güncelleştirme, komutları işleme ve telemetri gönderme kodu, IoT Tak Çalıştır kuralları kullanmayan bir cihazın koduyla aynıdır.
Örnek, IoT hub'ınıza gönderilen yüklerde JSON nesnelerini ayrıştırmak için bir JSON kitaplığı kullanır:
using Newtonsoft.Json;
...
DateTime since = JsonConvert.DeserializeObject<DateTime>(request.DataAsJson);
Kaynakları temizleme
Hızlı başlangıç ve öğreticiler ile işiniz bittiğinde bkz. Kaynakları Temizleme.
Bu hızlı başlangıçta örnek bir IoT Tak Çalıştır uygulaması derleme, bunu IoT hub'ınıza bağlama ve Azure IoT gezgini aracını kullanarak gönderdiği telemetri verileri görüntüleme hakkında bilgi edinebilirsiniz. Örnek uygulama Java ile yazılmıştır ve Java için Azure IoT cihaz SDK'sı içinde yer alır. Çözüm oluşturucusu, herhangi bir cihaz kodunu görüntülemeye gerek kalmadan bir IoT Tak Çalıştır cihazın özelliklerini anlamak için Azure IoT gezgini aracını kullanabilir.
Önkoşullar
Devam etmek için IoT hub'ını dahil olmak üzereortamınızı ayar hazır olduğundan emin olun.
Bu hızlı başlangıç Windows tamamlamak için yerel ortamınıza aşağıdaki Windows yükleyin:
- Java SE Geliştirme Seti 8. Azure ve Azure Stack için Java uzun süreli desteğinde,Uzun süreli destek altında Java 8'i seçin.
- Apache Maven 3.
Kodu indirme
Bu hızlı başlangıçta, Cihaz Java SDK'sını kopyalayacak ve Azure IoT Hub bir geliştirme ortamı hazırlayacaksınız.
Tercih ettiyniz dizinde bir komut istemi açın. Azure IoT Java SDK'larını ve Kitaplıklarını depodan bu konuma GitHub için aşağıdaki komutu yürütün:
git clone https://github.com/Azure/azure-iot-sdk-java.git
Kodu oluşturma
Bu Windows, kopyalanan Java SDK deposunun kök klasörüne gidin.
Örnek uygulamayı derlemek için aşağıdaki komutu çalıştırın:
mvn install -T 2C -DskipTests
Cihaz örneğini çalıştırma
Ortamınızı ayarlamabölümünde, örneği, IoT Hub 'ınıza bağlanmak üzere cihaz sağlama hizmeti 'NI (DPS) kullanacak şekilde yapılandırmak için dört ortam değişkeni oluşturdunuz:
- Değer ile IOTHUB_DEVICE_SECURITY_TYPE
DPS - DPS KIMLIK kapsamıyla IOTHUB_DEVICE_DPS_ID_SCOPE .
- Değeri ile IOTHUB_DEVICE_DPS_DEVICE_ID
my-pnp-device. - Kayıt birincil anahtarıyla IOTHUB_DEVICE_DPS_DEVICE_KEY .
- Değeri ile IOTHUB_DEVICE_DPS_ENDPOINT
global.azure-devices-provisioning.net.
Örnek yapılandırma hakkında daha fazla bilgi edinmek için bkz. örnek beni okuma.
\device\iot-device-samples\pnp-device-sample\thermostat-device-sample klasörüne gidin.
Örnek uygulamayı çalıştırmak için aşağıdaki komutu çalıştırın:
mvn exec:java -Dexec.mainClass="samples.com.microsoft.azure.sdk.iot.device.Thermostat"
Cihaz artık komutları ve özellik güncelleştirmelerini almaya hazırdır ve hub'a telemetri verileri göndermeye başlamıştır. Sonraki adımları tamamlarken örneği çalıştırmaya devam edin.
Kodu doğrulamak için Azure IoT gezginini kullanma
Cihaz istemcisi örneği başladıktan sonra, çalıştığını doğrulamak için Azure IoT explorer aracını kullanın.
Azure IoT gezginini açın.
IoT hub'ları sayfasında, IoT hub'ınıza henüz bir bağlantı eklemedıyoksanız + Bağlantı ekle'yi seçin. Daha önce oluşturduğunuz IoT hub'ı için bağlantı dizesini girin ve Kaydet'i seçin.
Yeni IoT Tak Çalıştır Ayarlar + Yerel klasöre ekle'> ve model dosyalarınızı kaydeden yerel modeller klasörünü seçin.
IoT hub'ları sayfasında, çalışmak istediğiniz hub'ın adına tıklayın. IoT hub'a kayıtlı cihazların listesini görüyorsunuz.
Daha önce oluşturduğunuz cihazın Cihaz Kimliği'ne tıklayın.
Sol menü, cihaz için kullanılabilen farklı bilgi türlerini gösterir.
Cihazınızın IoT Tak Çalıştır görüntülemek için tüm bileşenleri seçin.
Cihazın farklı bileşenlerini görüntüebilirsiniz. Varsayılan bileşen ve diğer bileşenler. Çalışmak için bir bileşen seçin.
Telemetri sayfasını seçin ve ardından Başlat'ı seçerek cihazın bu bileşen için gönderdiği telemetri verilerini görüntüleyebilirsiniz.
Bu bileşen için bildirilen salt okunur özellikleri görüntülemek için Özellikler (salt okunur) sayfasını seçin.
Bu bileşen için güncelleştirebilirsiniz yazılabilir özellikleri görüntülemek için Özellikler (yazılabilir) sayfasını seçin.
Adına göre bir özellik seçin, bunun için yeni bir değer girin ve İstenen değeri güncelleştir'i seçin.
Yeni değerin göster olduğunu görmek için Yenile düğmesini seçin.
Bu bileşen için tüm komutları görüntülemek için Komutlar sayfasını seçin.
Test etmek istediğiniz komutu seçin ve varsa parametresini ayarlayın. Cihazda komutu aramak için Komutu gönder'i seçin. Örnek kodun çalıştır bulunduğu komut istemi penceresinde cihazınızın komuta yanıtını görebilirsiniz.
Kodu gözden geçirin
Bu örnek, termostat cihazına IoT Tak Çalıştır basit bir uygulamadır. Bu örnek tarafından uygulanan model, IoT Tak Çalıştır kullanmaz. Termostat cihazı için DTDL model dosyası, cihazın uygulayan telemetri, özellik ve komutları tanımlar.
Cihaz kodu, DeviceClient IoT hub'ınıza bağlanmak için standart sınıfı kullanır. Cihaz, bağlantı isteğinde uygulayan DTDL modelinin model kimliğini gönderir. Model kimliği gönderen cihaz, IoT Tak Çalıştır cihazdır:
private static void initializeDeviceClient() throws URISyntaxException, IOException {
ClientOptions options = new ClientOptions();
options.setModelId(MODEL_ID);
deviceClient = new DeviceClient(deviceConnectionString, protocol, options);
deviceClient.registerConnectionStatusChangeCallback((status, statusChangeReason, throwable, callbackContext) -> {
log.debug("Connection status change registered: status={}, reason={}", status, statusChangeReason);
if (throwable != null) {
log.debug("The connection status change was caused by the following Throwable: {}", throwable.getMessage());
throwable.printStackTrace();
}
}, deviceClient);
deviceClient.open();
}
Model kimliği, aşağıdaki kod parçacığında gösterildiği gibi kodda depolanır:
private static final String MODEL_ID = "dtmi:com:example:Thermostat;1";
Özellikleri güncelleştirme, komutları işleme ve telemetri gönderme kodu, IoT Tak Çalıştır kuralları kullanmayan bir cihazın koduyla aynıdır.
Örnek, IoT hub'ınıza gönderilen yüklerde JSON nesnelerini ayrıştırmak için bir JSON kitaplığı kullanır:
import com.google.gson.Gson;
...
Date since = new Gson().fromJson(jsonRequest, Date.class);
Kaynakları temizleme
Hızlı başlangıç ve öğreticiler ile işiniz bittiğinde bkz. Kaynakları Temizleme.
Bu hızlı başlangıçta örnek bir IoT Tak Çalıştır uygulaması derleme, bunu IoT hub'ınıza bağlama ve Gönderdiği telemetri verileri görüntülemek için Azure IoT gezgini aracını kullanma hakkında bilgi edinebilirsiniz. Örnek uygulama, Node.js için Azure IoT cihaz SDK'sı'Node.js. Çözüm oluşturucusu, herhangi bir cihaz kodunu görüntülemeye gerek kalmadan bir IoT Tak Çalıştır cihazın özelliklerini anlamak için Azure IoT gezgini aracını kullanabilir.
Önkoşullar
Devam etmek için IoT hub'ını dahil olmak üzereortamınızı ayar hazır olduğundan emin olun.
Bu hızlı başlangıç işlemini tamamlamak için Node.js makinenize ihtiyacınız vardır. birden çok platform için önerilen en son sürümü nodejs.org.
Aşağıdaki komutu kullanarak geliştirme makinenizde geçerli Node.js sürümünü doğrulayabilirsiniz:
node --version
Kodu indirme
Bu hızlı başlangıçta, Azure IoT Hub Için Cihaz SDK'sını kopyalayacak ve derlemek üzere Node.js.
Tercih ettiyniz dizinde bir komut istemi açın. Node.jsGitHub için Microsoft Azure IoT SDK'sı'Node.jsaşağıdaki komutu yürütün:
git clone https://github.com/Azure/azure-iot-sdk-node
Gerekli kitaplıkları yükleme
Dahil edilen örnek kodu derlemek için cihaz SDK'sı kullanırsanız. Sizin derlemek uygulama, IoT hub'a bağlanan bir cihazın benzetimini sağlar. Uygulama telemetri ve özellikleri gönderir ve komutları alır.
Yerel terminal penceresinde kopyalanan deponun klasörüne gidin ve /azure-iot-sdk-node/device/samples/javascript klasörüne gidin. Ardından aşağıdaki komutu çalıştırarak gerekli kitaplıkları yükleyin:
npm installOrtam değişkenlerini önceden not edinen cihaz bağlantı dizesiyle yapılandırma:
set IOTHUB_DEVICE_CONNECTION_STRING=<YourDeviceConnectionString>
Örnek cihazı çalıştırma
Bu örnek, termostat cihazı IoT Tak Çalıştır basit bir uygulamadır. Bu örneğin uygulayan modeli, IoT Tak Çalıştır kullanmaz. Termostat cihazı için DTDL model dosyası, cihazın uygulayan telemetri, özellik ve komutları tanımlar.
pnp_simple_thermostat.js açın. Bu dosyada şunların nasıl olduğunuabilirsiniz:
- Gerekli arabirimleri içeri aktarın.
- Özellik güncelleştirme işleyicisi ve komut işleyicisi yazma.
- İstenen özellik düzeltme eklerini işleme ve telemetri gönderme.
- İsteğe bağlı olarak, Azure Cihaz Sağlama Hizmeti'nin (DPS) kullanarak cihazınızı sağlama.
Main işlevinde bunların nasıl bir araya geldiğine bakacağız:
- Bağlantı dizenizi kullanarak cihazı oluşturun veya DPS kullanarak s sağlama.)
- Yeni cihaz modelini belirtmek için modelID IoT Tak Çalıştır kullanın.
- Komut işleyicisini etkinleştirin.
- Cihazdan hub'ınıza telemetri gönderin.
- Cihaz ikizlerini edinin ve bildirilen özellikleri güncelleştirin.
- İstenen özellik güncelleştirme işleyicisini etkinleştirin.
Ortamınızı ayarlamabölümünde, örneği, IoT Hub 'ınıza bağlanmak üzere cihaz sağlama hizmeti 'NI (DPS) kullanacak şekilde yapılandırmak için dört ortam değişkeni oluşturdunuz:
- Değer ile IOTHUB_DEVICE_SECURITY_TYPE
DPS - DPS KIMLIK kapsamıyla IOTHUB_DEVICE_DPS_ID_SCOPE .
- Değeri ile IOTHUB_DEVICE_DPS_DEVICE_ID
my-pnp-device. - Kayıt birincil anahtarıyla IOTHUB_DEVICE_DPS_DEVICE_KEY .
- Değeri ile IOTHUB_DEVICE_DPS_ENDPOINT
global.azure-devices-provisioning.net.
Örnek yapılandırma hakkında daha fazla bilgi edinmek için bkz. örnek beni okuma.
IoT hub'ınıza telemetri IoT Tak Çalıştır bir cihaz simülasyonu yapmak için örnek uygulamayı çalıştırın. Örnek uygulamayı çalıştırmak için aşağıdaki komutu kullanın:
node pnp_simple_thermostat.js
Cihazın hub'a telemetri verileri göndermeye başladığına ve artık komutlar ve özellik güncelleştirmeleri almaya hazır olduğunu gösteren aşağıdaki çıkışı görüyorsunuz.

Sonraki adımları tamamlarken örneği çalıştırmaya devam edin.
Kodu doğrulamak için Azure IoT gezginini kullanma
Cihaz istemcisi örneği başladıktan sonra, çalıştığını doğrulamak için Azure IoT gezgini aracını kullanın.
Azure IoT gezginini açın.
IoT hub'ları sayfasında, IoT hub'ınıza henüz bir bağlantı eklemedıyoksanız + Bağlantı ekle'yi seçin. Daha önce oluşturduğunuz IoT hub'ı için bağlantı dizesini girin ve Kaydet'i seçin.
Yeni IoT Tak Çalıştır Ayarlar + Yerel klasöre ekle'> ve model dosyalarınızı kaydeden yerel modeller klasörünü seçin.
IoT hub'ları sayfasında, çalışmak istediğiniz hub'ın adına tıklayın. IoT hub'a kayıtlı cihazların listesini görüyorsunuz.
Daha önce oluşturduğunuz cihazın Cihaz Kimliği'ne tıklayın.
Sol menü, cihaz için kullanılabilen farklı bilgi türlerini gösterir.
Cihazınızın IoT Tak Çalıştır görüntülemek için tüm bileşenleri seçin.
Cihazın farklı bileşenlerini görüntüebilirsiniz. Varsayılan bileşen ve diğer bileşenler. Çalışmak için bir bileşen seçin.
Telemetri sayfasını seçin ve ardından Başlat'ı seçerek cihazın bu bileşen için gönderdiği telemetri verilerini görüntüleyebilirsiniz.
Bu bileşen için bildirilen salt okunur özellikleri görüntülemek için Özellikler (salt okunur) sayfasını seçin.
Bu bileşen için güncelleştirebilirsiniz yazılabilir özellikleri görüntülemek için Özellikler (yazılabilir) sayfasını seçin.
Adına göre bir özellik seçin, bunun için yeni bir değer girin ve İstenen değeri güncelleştir'i seçin.
Yeni değerin göster olduğunu görmek için Yenile düğmesini seçin.
Bu bileşen için tüm komutları görüntülemek için Komutlar sayfasını seçin.
Test etmek istediğiniz komutu seçin ve varsa parametresini ayarlayın. Cihazda komutu aramak için Komutu gönder'i seçin. Örnek kodun çalıştır bulunduğu komut istemi penceresinde cihazınızın komuta yanıtını görebilirsiniz.
Kaynakları temizleme
Hızlı başlangıç ve öğreticiler ile işiniz bittiğinde bkz. Kaynakları Temizleme.
Bu hızlı başlangıçta örnek bir IoT Tak Çalıştır uygulaması derleme, bunu IoT hub'ınıza bağlama ve Gönderdiği telemetri verileri görüntülemek için Azure IoT gezgini aracını kullanma hakkında bilgi edinebilirsiniz. Örnek uygulama Python için yazılmıştır ve Python için Azure IoT Hub SDK'sı içinde yer almaktadır. Çözüm oluşturucusu, herhangi bir cihaz kodunu görüntülemeye gerek kalmadan bir IoT Tak Çalıştır cihazın özelliklerini anlamak için Azure IoT gezgini aracını kullanabilir.
Önkoşullar
Devam etmek için IoT hub'ını dahil olmak üzereortamınızı ayar hazır olduğundan emin olun.
Bu hızlı başlangıç işlemini tamamlamak için geliştirme makineniz üzerinde Python 3.7 gerekir. birden çok platform için önerilen en son sürümü python.org. Aşağıdaki komutla Python sürümüne bakabilirsiniz:
python --version
Yerel Python ortamınıza paketi aşağıdaki gibi yükleyin:
pip install azure-iot-device
Python SDK IoT deposunu klonlama ve ana sürümüne göz atın:
git clone https://github.com/Azure/azure-iot-sdk-python
Örnek cihazı çalıştırma
azure-iot-sdk-python\azure-iot-device\samples\pnp klasörü, IoT Tak Çalıştır içerir. Bu hızlı başlangıçta simple_thermostat.py dosyası 2. Bu örnek kod, IoT Tak Çalıştır uyumlu bir cihaz kullanır ve Azure IoT Python Cihaz İstemci Kitaplığı'nın kullanır.
simple_thermostat.py dosyasını bir metin düzenleyicisinde açın. Nasıl olduğunu fark etmez:
Thermostat'ıbenzersiz olarak temsil eden tek bir cihaz ikizi model tanımlayıcısı (DTMI) tanımlar. DTMI kullanıcı tarafından bilinmeli ve cihaz uygulama senaryosuna göre değişiklik gösterir. Geçerli örnek için model, sıcaklık izlemeyle ilişkili telemetriye, özelliklere ve komutlara sahip bir termostat temsil eder.
Komut işleyicisi uygulamaları tanımlamak için işlevlere sahiptir. Cihazın komut isteklerine nasıl yanıt vermesini tanımlamak için bu işleyicileri yazarsanız.
Komut yanıtı tanımlamak için bir işlevi vardır. IoT hub'ınıza yanıt göndermek için komut yanıtı işlevleri oluşturabilirsiniz.
Uygulamadan çıkabilirsiniz giriş klavye dinleyicisi işlevini tanımlar.
Bir ana işlevi vardır. Ana işlev:
Bir cihaz istemcisi oluşturmak ve IoT hub'ınıza bağlanmak için cihaz SDK'sı kullanır.
Özellikleri güncelleştirme. Kullanmakta olduğu model olan Thermostat, ve özelliklerini Thermostat'mizin iki özelliği olarak tanımlar. Bu nedenle
targetTemperaturebunumaxTempSinceLastRebootkullanılamayacak. Özellikler, üzerinde tanımlananpatch_twin_reported_propertiesyöntemi kullanılarakdevice_clientgüncelleştirilir.execute_command_listener işlevini kullanarak komut execute_command_listener başlar. işlevi, hizmetten gelen komutları dinlemek için bir 'dinleyici' ayarlar. Dinleyiciyi ayar her ayarda bir
method_name,user_command_handlerve sağlar.create_user_response_handler- işlevi,
user_command_handlerbir komut aldığında cihazın ne yapması gerektiğini tanımlar. Örneğin, uyarınız devre dışı olursa, bu komutu almanın etkisi, uyandırmanızdır. Bunu çağrılan komutun 'etkisi' olarak düşünebilirsiniz. - İşlev,
create_user_response_handlerbir komut başarıyla yürütülürken IoT hub'ınıza gönderilecek bir yanıt oluşturur. Örneğin, alarm kapalı olursa, ertelemeye basarak yanıt verirsiniz ve bu da hizmete yönelik geri bildirimdir. Bunu hizmete yanıt olarak düşün. Bu yanıtı portalda görüntüebilirsiniz.
- işlevi,
Telemetri göndermeye başlar. Pnp_send_telemetry. pnp_methods.py dosyasında tanımlanır. Örnek kod, bu işlevi sekiz saniyede bir çağıran bir döngü kullanır.
Tüm dinleyicileri ve görevleri devre dışı bırakarak Q veya q tuşuna basarak döngüyü oluşturur.
Ortamınızı ayarlamabölümünde, örneği, IoT Hub 'ınıza bağlanmak üzere cihaz sağlama hizmeti 'NI (DPS) kullanacak şekilde yapılandırmak için dört ortam değişkeni oluşturdunuz:
- Değer ile IOTHUB_DEVICE_SECURITY_TYPE
DPS - DPS KIMLIK kapsamıyla IOTHUB_DEVICE_DPS_ID_SCOPE .
- Değeri ile IOTHUB_DEVICE_DPS_DEVICE_ID
my-pnp-device. - Kayıt birincil anahtarıyla IOTHUB_DEVICE_DPS_DEVICE_KEY .
- Değeri ile IOTHUB_DEVICE_DPS_ENDPOINT
global.azure-devices-provisioning.net.
Örnek yapılandırma hakkında daha fazla bilgi edinmek için bkz. örnek beni okuma.
Artık kodu gördünüz, örneği çalıştırmak için aşağıdaki komutu kullanın:
python simple_thermostat.py
Cihazın hub'a telemetri verileri gönderdiğini ve artık komutları ve özellik güncelleştirmelerini almaya hazır olduğunu gösteren aşağıdaki çıkışı görüyorsunuz:
Listening for command requests and property updates
Press Q to quit
Sending telemetry for temperature
Sent message
Sonraki adımları tamamlarken örneği çalıştırmaya devam edin.
Kodu doğrulamak için Azure IoT gezginini kullanma
Cihaz istemcisi örneği başladıktan sonra, çalıştığını doğrulamak için Azure IoT gezgini aracını kullanın.
Azure IoT gezginini açın.
IoT hub'ları sayfasında, IoT hub'ınıza henüz bir bağlantı eklemedıyoksanız + Bağlantı ekle'yi seçin. Daha önce oluşturduğunuz IoT hub'ı için bağlantı dizesini girin ve Kaydet'i seçin.
Yeni IoT Tak Çalıştır Ayarlar + Yerel klasöre ekle'> ve model dosyalarınızı kaydeden yerel modeller klasörünü seçin.
IoT hub'ları sayfasında, çalışmak istediğiniz hub'ın adına tıklayın. IoT hub'a kayıtlı cihazların listesini görüyorsunuz.
Daha önce oluşturduğunuz cihazın Cihaz Kimliği'ne tıklayın.
Sol menü, cihaz için kullanılabilen farklı bilgi türlerini gösterir.
Cihazınızın IoT Tak Çalıştır görüntülemek için tüm bileşenleri seçin.
Cihazın farklı bileşenlerini görüntüebilirsiniz. Varsayılan bileşen ve diğer bileşenler. Çalışmak için bir bileşen seçin.
Telemetri sayfasını seçin ve ardından Başlat'ı seçerek cihazın bu bileşen için gönderdiği telemetri verilerini görüntüleyebilirsiniz.
Bu bileşen için bildirilen salt okunur özellikleri görüntülemek için Özellikler (salt okunur) sayfasını seçin.
Bu bileşen için güncelleştirebilirsiniz yazılabilir özellikleri görüntülemek için Özellikler (yazılabilir) sayfasını seçin.
Adına göre bir özellik seçin, bunun için yeni bir değer girin ve İstenen değeri güncelleştir'i seçin.
Yeni değerin göster olduğunu görmek için Yenile düğmesini seçin.
Bu bileşen için tüm komutları görüntülemek için Komutlar sayfasını seçin.
Test etmek istediğiniz komutu seçin ve varsa parametresini ayarlayın. Cihazda komutu aramak için Komutu gönder'i seçin. Örnek kodun çalıştır bulunduğu komut istemi penceresinde cihazınızın komuta yanıtını görebilirsiniz.
Kaynakları temizleme
Hızlı başlangıç ve öğreticiler ile işiniz bittiğinde bkz. Kaynakları Temizleme.
Kısıtlanmış cihazlar için geliştirme yapıyorsanız, IoT Tak ve Kullan kullanarak şunları yapabilirsiniz:
Bu makalede, bu kısıtlanmış senaryolar için bağlantılar ve kaynaklar bulunur.
Önkoşullar
Aşağıdaki örneklerin birçoğu için belirli bir donanım cihazı gerekir ve Önkoşullar her bir örnek için farklıdır. Ayrıntılı Önkoşullar, yapılandırma ve derleme yönergeleri için ilgili örneğe yönelik bağlantıyı izleyin.
Embedded C için SDK 'Yı kullanma
Katıştırılmış C için SDK, ıot Tak ve kullan kurallarınıkullanma dahil, kısıtlı cihazları Azure IoT hizmetlerine bağlamaya yönelik hafif bir çözüm sunar. Aşağıdaki bağlantılar, MCU tabanlı cihazlara yönelik örnekleri ve eğitim ve hata ayıklama amaçlarını içerir.
MCU tabanlı bir cihaz kullanma
gömülü C, cihaz sağlama hizmeti ve ıot Tak ve Kullan için SDK kullanan tam uçtan uca öğretici için, bkz. IoT Hub cihaz sağlama hizmeti aracılığıyla Azure 'a Bağlan için yeniden amaçlandırın PIC-IoT wx geliştirme panosu.
Tanıtım örnekleri
Katıştırılmış C deposu için SDK, IoT Tak ve Kullan kullanmayı gösteren birkaç örnek içerir:
Not
bu örnekler, eğitim ve hata ayıklama amacıyla Windows ve Linux üzerinde çalışan gösterilmiştir. Bir üretim senaryosunda, örnekler yalnızca kısıtlı cihazlara yöneliktir.
Azure RTOS 'ı kullanma
Azure RTOS, Azure IoT bulut hizmetlerine yerel bağlantı ekleyen hafif bir katman içerir. Bu katman, Azure RTOS 'ın gelişmiş özelliklerini kullanırken kısıtlı cihazları Azure IoT 'ye bağlamaya yönelik basit bir mekanizma sağlar. daha fazla bilgi edinmek için bkz. Microsoft Azure rtos.
Araç zincirlerinden
Azure RTOS örnekleri, farklı türlerde IDE ve araç zinciri bileşimleri ile sağlanır, örneğin:
- IAR: ıAR 'ın Embedded çalışma ekranı IDE 'si
- GCC/cmake: açık kaynaklı cmake derleme sisteminin ve GNU Arm Embedded araç zincirininüzerine derleyin.
- Mcuifade so: NXP 'nin Mcuxpresso IDE
- STM32Cube: Stmikro elektronik 's STM32CUBE IDE
- MPLAB: mikro yonga 'nin MPLAB X IDE 'si
Örnekler
Aşağıdaki tabloda, Azure RTOS ve IoT Tak ve Kullan ile farklı cihazlarda nasıl başlacağınız gösterilmektedir:
| Üretici | Cihaz | Örnekler |
|---|---|---|
| Mikro yonga | ATSAME54-XPRO | GCC/cmake • iar • mplab |
| MXCHIP | AZ3166 | GCC/cmake |
| NXP | MIMXRT1060-EVK | GCC/cmake • iar • mcuxpresso |
| Stmikro elektronik | 32F746GDISCOVERY | IAR • STM32Cube |
| Stmikro elektronik | B-L475E-IOT01 | GCC/cmake • iar • STM32Cube |
| Stmikro elektronik | B-L4S5I-IOT01 | GCC/cmake • iar • STM32Cube |
Sonraki adımlar
Bu öğreticide, bir IoT hub' IoT Tak Çalıştır cihaz bağlamayı öğrendinsiniz. Cihazlarınızı kullanarak etkileşime geçen bir çözüm oluşturma hakkında daha fazla bilgi IoT Tak Çalıştır bkz: