Samouczek: definiowanie nowego typu urządzenia bramy IoT w aplikacji usługi Azure IoT Central

W tym samouczku utworzysz szablon urządzenia bramy inteligentnej budynku . Urządzenie bramy Smart Building ma relacje z innymi urządzeniami podrzędnymi.

Diagram przedstawiający relację między urządzeniem bramy a jego urządzeniami podrzędnym.

Urządzenie bramy może również:

  • Wysyłaj własne dane telemetryczne, takie jak temperatura.
  • Odpowiadanie na aktualizacje właściwości z możliwością zapisu wprowadzone przez operatora. Na przykład operator może zmienić interwał wysyłania danych telemetrycznych.
  • Odpowiadanie na polecenia, takie jak ponowne uruchamianie urządzenia.

Z tego samouczka dowiesz się, jak wykonywać następujące czynności:

  • Tworzenie szablonów urządzeń podrzędnych
  • Tworzenie szablonu urządzenia bramy
  • Publikowanie szablonu urządzenia
  • Tworzenie symulowanych urządzeń

Wymagania wstępne

Aby wykonać kroki opisane w tym samouczku, potrzebne są następujące elementy:

  • Aktywna subskrypcja platformy Azure. Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.

  • Aplikacja usługi IoT Central utworzona na podstawie szablonu aplikacji niestandardowej. Aby dowiedzieć się więcej, zobacz Tworzenie aplikacji usługi IoT Central i Informacje o aplikacji.

Tworzenie szablonów urządzeń podrzędnych

W tym samouczku do generowania symulowanych urządzeń podrzędnych użyto szablonów urządzeń dla urządzenia Z czujnika temp hobo MX-100 temp i urządzenia CZUJNIKa zajętości RS40.

Aby utworzyć szablon urządzenia dla urządzenia Onset Hobo MX-100 Temp Sensor :

  1. W okienku po lewej stronie wybierz pozycję Szablony urządzeń. Następnie wybierz pozycję + Nowy , aby rozpocząć dodawanie szablonu.

  2. Przewiń w dół, aż zobaczysz kafelek dla urządzenia Onset Hobo MX-100 Temp Sensor . Wybierz kafelek, a następnie wybierz pozycję Dalej: Przegląd.

  3. Na stronie Przegląd wybierz pozycję Utwórz, aby dodać szablon urządzenia do aplikacji.

Aby utworzyć szablon urządzenia dla urządzenia CZUJNIKa zajętości RS40:

  1. W okienku po lewej stronie wybierz pozycję Szablony urządzeń. Następnie wybierz pozycję + Nowy , aby rozpocząć dodawanie szablonu.

  2. Przewiń w dół, aż zobaczysz kafelek urządzenia czujnika zajętości Rigado RS40. Wybierz kafelek, a następnie wybierz pozycję Dalej: Przegląd.

  3. Na stronie Przegląd wybierz pozycję Utwórz, aby dodać szablon urządzenia do aplikacji.

Masz teraz szablony urządzeń dla dwóch typów urządzeń podrzędnych:

Zrzut ekranu przedstawiający szablony urządzeń podrzędnych.

Tworzenie szablonu urządzenia bramy

W tym samouczku utworzysz szablon urządzenia dla urządzenia bramy od podstaw. Ten szablon zostanie użyty później do utworzenia symulowanego urządzenia bramy w aplikacji.

Aby dodać nowy szablon urządzenia bramy do aplikacji:

  1. W okienku po lewej stronie wybierz pozycję Szablony urządzeń. Następnie wybierz pozycję + Nowy , aby rozpocząć dodawanie szablonu.

  2. Na stronie Wybierz typ szablonu wybierz kafelek Urządzenie IoT, a następnie wybierz pozycję Dalej: Dostosuj.

  3. Na stronie Dostosowywanie urządzenia zaznacz pole wyboru To jest urządzenie bramy.

  4. Wprowadź wartość Smart Building Gateway device (Urządzenie bramy inteligentnej budynku) jako nazwę szablonu, a następnie wybierz pozycję Next: Review (Dalej: przegląd).

  5. Na stronie Przegląd wybierz pozycję Utwórz.

  6. Na stronie Tworzenie modelu wybierz kafelek Model niestandardowy.

  7. Wybierz pozycję + Dodaj możliwość, aby dodać możliwość.

  8. Wprowadź wartość Wyślij dane jako nazwę wyświetlaną, a następnie wybierz pozycję Właściwość jako typ możliwości.

  9. Wybierz wartość logiczną jako typ schematu, ustaw wartość Writable na, a następnie wybierz pozycję Zapisz.

Dodawanie relacji

Następnie dodasz relacje do szablonów dla szablonów urządzeń podrzędnych:

  1. W szablonie urządzenia bramy inteligentnej budynku wybierz pozycję Relacje.

  2. Wybierz pozycję + Dodaj relację. Wprowadź wartość Environmental Sensor jako nazwę wyświetlaną, a następnie wybierz pozycję Hobo MX-100 jako docelową.

  3. Ponownie wybierz pozycję + Dodaj relację . Wprowadź wartość Czujnik zajętości jako nazwę wyświetlaną, a następnie wybierz pozycję RS40 Occupancy Sensor (Czujnik zajętości) jako cel.

  4. Wybierz pozycję Zapisz.

Zrzut ekranu przedstawiający relacje bramy.

Dodawanie właściwości chmury

Szablon urządzenia bramy może zawierać właściwości chmury. Właściwości chmury istnieją tylko w aplikacji usługi IoT Central i nigdy nie są wysyłane do lub odbierane z urządzenia.

Aby dodać właściwości chmury do szablonu urządzenia bramy Smart Building Gateway.

  1. W szablonie urządzenia smart building gateway wybierz pozycję Model urządzenia bramy Inteligentne kompilowanie.

  2. Skorzystaj z informacji w poniższej tabeli, aby dodać dwie właściwości chmury do szablonu urządzenia bramy.

    Display name Typ możliwości Typ semantyczny Schemat
    Data ostatniego serwisowania Właściwość chmury Brak Data
    Nazwa klienta Właściwość chmury Brak String
  3. Wybierz pozycję Zapisz.

Tworzenie widoków

Jako konstruktor możesz dostosować aplikację, aby wyświetlić odpowiednie informacje o urządzeniu czujnika środowiska dla operatora. Dostosowania umożliwiają operatorowi zarządzanie urządzeniami czujników środowiskowych połączonymi z aplikacją. Do interakcji z urządzeniami można utworzyć dwa typy widoków dla operatora:

  • Formularze do wyświetlania i edytowania właściwości urządzenia i chmury.
  • Widoki do wizualizacji urządzeń.

Aby wygenerować widoki domyślne dla szablonu urządzenia bramy Inteligentne kompilowanie:

  1. W szablonie urządzenia smart building gateway wybierz pozycję Widoki.

  2. Wybierz kafelek Generuj widoki domyślne i upewnij się, że wybrano wszystkie opcje.

  3. Wybierz pozycję Generuj domyślne widoki pulpitu nawigacyjnego.

Publikowanie szablonu urządzenia

Aby można było utworzyć symulowane urządzenie bramy lub połączyć rzeczywiste urządzenie bramy, należy opublikować szablon urządzenia.

Aby opublikować szablon urządzenia bramy:

  1. Wybierz szablon urządzenia smart building gateway na stronie Szablony urządzeń.

  2. Wybierz Publikuj.

  3. W oknie dialogowym Publikowanie szablonu urządzenia wybierz pozycję Publikuj.

Po opublikowaniu szablonu urządzenia jest on widoczny na stronie Urządzenia i do operatora. Operator może użyć szablonu, aby utworzyć wystąpienia urządzeń lub ustanowić reguły i monitorowanie. Edytowanie opublikowanego szablonu może mieć wpływ na zachowanie w całej aplikacji.

Aby dowiedzieć się więcej na temat modyfikowania szablonu urządzenia po jego opublikowaniu, zobacz Edytowanie istniejącego szablonu urządzenia.

Tworzenie symulowanych urządzeń

W tym samouczku są używane symulowane urządzenia podrzędne i symulowane urządzenie bramy.

Aby utworzyć symulowane urządzenie bramy:

  1. Na stronie Urządzenia wybierz pozycję Inteligentne tworzenie urządzenia bramy na liście szablonów urządzeń.

  2. Wybierz pozycję + Nowy , aby rozpocząć dodawanie nowego urządzenia.

  3. Zachowaj wygenerowany identyfikator urządzenia i nazwę urządzenia. Upewnij się, że przełącznik symulowany ma wartość Tak. Wybierz pozycję Utwórz.

Aby utworzyć symulowane urządzenia podrzędne:

  1. Na stronie Urządzenia wybierz pozycję RS40 Occupancy Sensor na liście szablonów urządzeń.

  2. Wybierz pozycję + Nowy , aby rozpocząć dodawanie nowego urządzenia.

  3. Zachowaj wygenerowany identyfikator urządzenia i nazwę urządzenia. Upewnij się, że przełącznik symulowany ma wartość Tak. Wybierz pozycję Utwórz.

  4. Na stronie Urządzenia wybierz pozycję Hobo MX-100 na liście szablonów urządzeń.

  5. Wybierz pozycję + Nowy , aby rozpocząć dodawanie nowego urządzenia.

  6. Zachowaj wygenerowany identyfikator urządzenia i nazwę urządzenia. Upewnij się, że przełącznik symulowany ma wartość Tak. Wybierz pozycję Utwórz.

Zrzut ekranu przedstawiający symulowane urządzenia.

Dodawanie relacji urządzeń podrzędnych do urządzenia bramy

Teraz, gdy masz urządzenia symulowane w aplikacji, możesz utworzyć relacje między urządzeniami podrzędnym a urządzeniem bramy:

  1. Na stronie Urządzenia wybierz pozycję Hobo MX-100 na liście szablonów urządzeń, a następnie wybierz symulowane urządzenie Hobo MX-100.

  2. Wybierz pozycję Dołącz do bramy.

  3. W oknie dialogowym Dołączanie do bramy wybierz szablon urządzenia inteligentnej bramy budynku, a następnie wybierz utworzone wcześniej wystąpienie symulowane.

  4. Wybierz Dołącz.

  5. Na stronie Urządzenia wybierz pozycję RS40 Occupancy Sensor na liście szablonów urządzeń, a następnie wybierz symulowane urządzenie czujnika zajętości RS40.

  6. Wybierz pozycję Dołącz do bramy.

  7. W oknie dialogowym Dołączanie do bramy wybierz szablon urządzenia inteligentnej bramy budynku, a następnie wybierz utworzone wcześniej wystąpienie symulowane.

  8. Wybierz Dołącz.

Oba symulowane urządzenia podrzędne są teraz połączone z symulowanym urządzeniem bramy. Jeśli przejdziesz do widoku Urządzenia podrzędne dla urządzenia bramy, zobaczysz powiązane urządzenia podrzędne:

Zrzut ekranu przedstawiający urządzenia dołączone do bramy.

Połączenie rzeczywistych urządzeń podrzędnych

W samouczku Tworzenie i łączenie aplikacji klienckiej z aplikacją usługi Azure IoT Central przykładowy kod pokazuje, jak dołączyć identyfikator modelu z szablonu urządzenia w ładunku aprowizacji wysyłanego przez urządzenie.

Po połączeniu urządzenia podrzędnego można zmodyfikować ładunek aprowizacji, aby uwzględnić identyfikator urządzenia bramy. Identyfikator modelu umożliwia usłudze IoT Central przypisanie urządzenia do poprawnego szablonu urządzenia podrzędnego. Identyfikator bramy umożliwia usłudze IoT Central ustanowienie relacji między urządzeniem podrzędnym a bramą. W takim przypadku ładunek aprowizacji, który wysyła urządzenie, wygląda podobnie do następującego kodu JSON:

{
  "modelId": "dtmi:rigado:HoboMX100;2",
  "iotcGateway":{
    "iotcGatewayId": "gateway-device-001"
  }
}

Brama może zarejestrować i aprowizować urządzenie podrzędne oraz skojarzyć urządzenie podrzędne z bramą w następujący sposób:

var crypto = require('crypto');


var ProvisioningTransport = require('azure-iot-provisioning-device-mqtt').Mqtt;
var SymmetricKeySecurityClient = require('azure-iot-security-symmetric-key').SymmetricKeySecurityClient;
var ProvisioningDeviceClient = require('azure-iot-provisioning-device').ProvisioningDeviceClient;

var provisioningHost = "global.azure-devices-provisioning.net";
var idScope = "<The ID scope from your SAS group enrollment in IoT Central>";
var groupSymmetricKey = "<The primary key from the SAS group enrollment>";
var registrationId = "<The device ID for the downstream device you're creating>";
var modelId = "<The model you're downstream device should use>";
var gatewayId = "<The device ID of your gateway device>";

// Calculate the device key from the group enrollment key
function computeDerivedSymmetricKey(deviceId, masterKey) {
    return crypto.createHmac('SHA256', Buffer.from(masterKey, 'base64'))
        .update(deviceId, 'utf8')
        .digest('base64');
}

var symmetricKey = computeDerivedSymmetricKey(registrationId, groupSymmetricKey);

var provisioningSecurityClient = new SymmetricKeySecurityClient(registrationId, symmetricKey);

var provisioningClient = ProvisioningDeviceClient.create(provisioningHost, idScope, new ProvisioningTransport(), provisioningSecurityClient);

// Use the DPS payload to:
// - specify the device capability model to use.
// - associate the device with a gateway.
var provisioningPayload = {modelId: modelId, iotcGateway: { iotcGatewayId: gatewayId}}

provisioningClient.setProvisioningPayload(provisioningPayload);

provisioningClient.register(function(err, result) {
  if (err) {
    console.log("Error registering device: " + err);
  } else {
    console.log('The registration status is: ' + result.status)
   }
});

Czyszczenie zasobów

Jeśli nie planujesz ukończenia dalszych przewodników Szybki start lub samouczków usługi IoT Central, możesz usunąć aplikację usługi IoT Central:

  1. W aplikacji usługi IoT Central przejdź do obszaru Zarządzanie aplikacjami>.
  2. Wybierz pozycję Usuń , a następnie potwierdź akcję.

Następny krok

Następnie możesz dowiedzieć się, jak wykonywać następujące czynności: