Edytowanie szablonu urządzenia

Szablon urządzenia zawiera model opisujący sposób interakcji urządzenia z usługą IoT Central. Ten model definiuje możliwości urządzenia i sposób interakcji z nimi w usłudze IoT Central. Urządzenia mogą wysyłać dane telemetryczne i wartości właściwości do usługi IoT Central, usługa IoT Central może wysyłać aktualizacje właściwości i polecenia do urządzenia. Usługa IoT Central używa również modelu do definiowania interakcji z funkcjami usługi IoT Central, takimi jak zadania, reguły i eksporty.

Zmiany modelu w szablonie urządzenia mogą mieć wpływ na całą aplikację, w tym na wszystkie połączone urządzenia. Zmiany w możliwości używanej przez reguły, eksporty, grupy urządzeń lub zadania mogą spowodować nieoczekiwane zachowanie lub w ogóle nie działa. Jeśli na przykład usuniesz definicję telemetrii z szablonu:

  • Usługa IoT Central nie może już interpretować tej wartości. Usługa IoT Central pokazuje dane urządzenia, których nie można interpretować jako nieprzemodelowane dane na stronie Nieprzetworzone dane urządzenia.
  • Usługa IoT Central nie zawiera już wartości w żadnym eksporcie danych.

Aby uniknąć niezamierzonych konsekwencji edytowania szablonu urządzenia, ten artykuł zawiera zalecenia na podstawie bieżącego etapu cyklu życia programowania. Ogólnie rzecz biorąc, wcześniej jesteś w cyklu życia programowania, tym bardziej odporne mogą być zmiany szablonu urządzenia.

Aby dowiedzieć się więcej na temat szablonów urządzeń i sposobu ich tworzenia, zobacz Co to są szablony urządzeń? i Konfigurowanie szablonu urządzenia.

Aby dowiedzieć się, jak zarządzać szablonami urządzeń przy użyciu interfejsu API REST usługi IoT Central, zobacz Jak zarządzać szablonami urządzeń za pomocą interfejsu API REST usługi IoT Central.

Modyfikowanie szablonu urządzenia

Zmiany addytywne, takie jak dodawanie możliwości lub interfejsu do modelu, nie są przełomowymi zmianami. Możesz wprowadzić zmiany addytywne w modelu na dowolnym etapie cyklu projektowania.

Zmiany powodujące niezgodność obejmują usuwanie części modelu lub zmianę nazwy możliwości lub typu schematu. Te zmiany mogą spowodować, że funkcje aplikacji, takie jak reguły, eksporty lub pulpity nawigacyjne, będą wyświetlać komunikaty o błędach i przestać działać.

W fazie wczesnego opracowywania urządzeń podczas projektowania i testowania modelu istnieje większa tolerancja wprowadzania zmian bezpośrednio w modelu urządzenia. Przed połączeniem urządzeń produkcyjnych z szablonem urządzenia można edytować szablon urządzenia bezpośrednio. Usługa IoT Central automatycznie stosuje te zmiany do urządzeń podczas publikowania szablonu urządzenia.

Po dołączeniu urządzeń produkcyjnych do szablonu urządzenia należy ocenić wpływ wszelkich zmian przed zmodyfikowaniem szablonu urządzenia. Nie należy wprowadzać zmian powodujących niezgodność w szablonie urządzenia w środowisku produkcyjnym. Aby wprowadzić takie zmiany, utwórz nową wersję szablonu urządzenia. Przetestuj nowy szablon urządzenia, a następnie przeprowadź migrację urządzeń produkcyjnych do nowego szablonu w zaplanowanym przestoju.

Aktualizowanie szablonu urządzenia usługi IoT Edge

W przypadku urządzenia usługi IoT Edge funkcje modelu są grupowane przez moduły odpowiadające modułom usługi IoT Edge uruchomionym na urządzeniu. Manifest wdrożenia to oddzielny dokument JSON, który informuje urządzenie usługi IoT Edge o instalowanych modułach, sposobie ich konfigurowania i właściwościach modułu. Jeśli zmodyfikujesz manifest wdrożenia, możesz zaktualizować szablon urządzenia, aby uwzględnić moduły i właściwości zdefiniowane w manifeście:

  1. Przejdź do węzła Moduły w szablonie urządzenia.
  2. Na stronie Podsumowanie modułów wybierz pozycję Importuj moduły z manifestu.
  3. Wybierz odpowiedni manifest wdrożenia i wybierz pozycję Importuj.

Aby dowiedzieć się więcej, zobacz IoT Edge devices and IoT Central (Urządzenia usługi IoT Edge i usługa IoT Central).

Edytowanie i publikowanie akcji

Podczas edytowania szablonu urządzenia przydatne są następujące akcje:

  • Zapisz. Po zmianie części szablonu urządzenia zapisanie zmian spowoduje utworzenie wersji roboczej, do której można powrócić. Te zmiany nie mają jeszcze wpływu na połączone urządzenia. Wszystkie urządzenia utworzone na podstawie tego szablonu nie mają zapisanych zmian do momentu jego opublikowania.
  • Publikowanie. Podczas publikowania szablonu urządzenia są stosowane wszelkie zapisane zmiany w istniejących wystąpieniach urządzeń. Nowo utworzone wystąpienia urządzeń zawsze używają najnowszego opublikowanego szablonu.
  • Wersja szablonu. Po utworzeniu wersji szablonu urządzenia zostanie utworzony nowy szablon ze wszystkimi najnowszymi zapisanymi zmianami. Zmiany wprowadzone w nowej wersji nie mają wpływu na istniejące wystąpienia urządzeń. Aby dowiedzieć się więcej, zobacz Version a device template (Wersja szablonu urządzenia).
  • Wersja interfejsu. W przypadku wersji interfejsu tworzy nowy interfejs ze wszystkimi najnowszymi zapisanymi możliwościami. Interfejs można ponownie użyć w wielu lokalizacjach w szablonie. Dlatego zmiana wprowadzona w jednym odwołaniu do interfejsu zmienia wszystkie miejsca w szablonie korzystającym z interfejsu. W przypadku wersji interfejsu to zachowanie zmienia się, ponieważ nowa wersja jest teraz oddzielnym interfejsem. Aby dowiedzieć się więcej, zobacz Version an interface (Wersja interfejsu).
  • Migrowanie urządzenia. Podczas migracji urządzenia wystąpienie urządzenia zamienia się z jednego szablonu urządzenia na inny. Migracja urządzeń może spowodować krótki czas, gdy usługa IoT Central przetwarza zmiany. Aby dowiedzieć się więcej, zobacz Migrowanie urządzenia w różnych wersjach.

Numery wersji

Oba modele urządzeń i interfejsy mają numery wersji. Różne numery wersji umożliwiają modelom lub interfejsom współdzielenie @id wartości przy jednoczesnym udostępniniu historii aktualizacji. Numery wersji są zwiększane tylko w przypadku wybrania wersji szablonu lub interfejsu lub celowo zmiany numeru wersji. Numer wersji należy zmienić, gdy wprowadzisz ważną zmianę w szablonie lub interfejsie.

Poniższy fragment kodu przedstawia model urządzenia dla urządzenia termostatu. Model urządzenia ma jeden interfejs. Numer wersji 1, , można zobaczyć na końcu@id pola.

{
  "@context": "dtmi:dtdl:context;2",
  "@id": "dtmi:com:example:Thermostat;1",
  "@type": "Interface",
  "displayName": "Thermostat",
  "description": "Reports current temperature and provides desired temperature control.",
  "contents": [
    // ...
  ]
}

Aby wyświetlić te informacje w interfejsie użytkownika usługi IoT Central, wybierz pozycję Wyświetl tożsamość w edytorze szablonów urządzenia:

Screenshot that shows how to view the identity of an interface to see the version number.

Przechowywanie wersji szablonu urządzenia

Aby wersję szablonu urządzenia:

  1. Przejdź do strony Szablony urządzeń.
  2. Wybierz szablon urządzenia, który chcesz wersję.
  3. Wybierz pozycję Wersja w górnej części strony i nadaj szablonowi nową nazwę. Usługa IoT Central sugeruje nową nazwę, którą można edytować.
  4. Wybierz pozycję Utwórz.

Teraz utworzono nowy szablon z unikatową tożsamością, która nie jest dołączona do żadnych istniejących urządzeń.

Obsługa wersji interfejsu

Aby uruchomić wersję interfejsu:

  1. Przejdź do strony Szablony urządzeń.
  2. Wybierz szablon urządzenia w trybie roboczym.
  3. Wybierz opublikowany interfejs, który chcesz wersję i edytować.
  4. Wybierz pozycję Wersja w górnej części strony interfejsu.
  5. Wybierz pozycję Utwórz.

Teraz utworzono nowy interfejs z unikatową tożsamością nie jest synchronizowany z poprzednią wersją interfejsu.

Migrowanie urządzenia między wersjami

Można utworzyć wiele wersji szablonu urządzenia. W czasie będziesz mieć wiele połączonych urządzeń przy użyciu tych szablonów urządzeń. Urządzenia można migrować z jednej wersji szablonu urządzenia do innej. W poniższych krokach opisano sposób migrowania urządzenia:

  1. Przejdź do strony Urządzenia.

  2. Wybierz urządzenie, które chcesz przeprowadzić migrację do innej wersji.

  3. Wybierz pozycję Migruj:

    Screenshot that shows how to choose the option to start migrating a device.

  4. Wybierz szablon urządzenia z wersją, do której chcesz przeprowadzić migrację urządzenia, i wybierz pozycję Migruj.

Napiwek

Za pomocą zadania można migrować wszystkie urządzenia w grupie urządzeń do nowego szablonu urządzenia w tym samym czasie.