Opracowywanie urządzeń usługi Azure IoT

Azure IoT to kolekcja usług zarządzanych i platformowych, które łączą, monitorują i kontrolują urządzenia IoT. Usługa Azure IoT oferuje deweloperom kompleksowy zestaw opcji. Dostępne są platformy urządzeń, obsługa usług w chmurze, zestawy SDK, obsługa MQTT i narzędzia do tworzenia aplikacji w chmurze z obsługą urządzeń.

W tym artykule omówiono kilka kluczowych zagadnień dla deweloperów, którzy zaczynają korzystać z usługi Azure IoT.

Ścieżki programowania urządzeń

W tym artykule omówiono dwie typowe ścieżki programowania urządzeń. Każda ścieżka zawiera zestaw powiązanych opcji i zadań programistycznych.

  • Ogólne programowanie urządzeń: jest zgodne z nowoczesnymi praktykami programistycznymi, przeznaczonymi dla języków wyższego rzędu i wykonuje je w systemie operacyjnym ogólnego przeznaczenia, takim jak Windows lub Linux.

    Uwaga

    Jeśli urządzenie jest w stanie uruchomić system operacyjny ogólnego przeznaczenia, zalecamy wykonanie ścieżki ogólnego programowania urządzeń. Zapewnia on bogatszy zestaw opcji programowania.

  • Programowanie urządzeń osadzonych: opisuje programowanie przeznaczone dla urządzeń z ograniczonymi zasobami. Często używasz urządzenia ograniczonego do zasobów, aby zmniejszyć koszty jednostkowe, zużycie energii lub rozmiar urządzenia. Te urządzenia mają bezpośrednią kontrolę nad platformą sprzętu, na której są wykonywane.

Ogólne programowanie urządzeń

Niektórzy deweloperzy dostosowują istniejące urządzenia ogólnego przeznaczenia do łączenia się z chmurą i integrują się z ich rozwiązaniami IoT. Te urządzenia mogą obsługiwać języki wyższego rzędu, takie jak C# lub Python, i często obsługują niezawodny system operacyjny ogólnego przeznaczenia, taki jak Windows lub Linux. Typowe urządzenia docelowe obejmują komputery, kontenery, urządzenia Raspberry Pis i urządzenia przenośne.

Zamiast opracowywać ograniczone urządzenia na dużą skalę, deweloperzy urządzeń ogólnych koncentrują się na włączeniu określonego scenariusza IoT wymaganego przez rozwiązanie w chmurze. Niektórzy deweloperzy pracują również na ograniczonych urządzeniach dla swojego rozwiązania w chmurze. W przypadku deweloperów pracujących z urządzeniami z ograniczonymi zasobami zobacz ścieżkę programowania urządzeń osadzonych.

Ważne

Aby uzyskać informacje na temat zestawów SDK używanych do ogólnego tworzenia urządzeń, zobacz Zestawy SDK urządzeń.

Programowanie urządzeń osadzonych

Osadzone obiekty deweloperskie dotyczą ograniczonych urządzeń, które mają ograniczoną pamięć i przetwarzanie. Ograniczone urządzenia ograniczają możliwości osiągnięcia w porównaniu z tradycyjną platformą deweloperów.

Urządzenia osadzone zwykle używają systemu operacyjnego czasu rzeczywistego (RTOS) lub żadnego systemu operacyjnego. Urządzenia osadzone mają pełną kontrolę nad ich sprzętem ze względu na brak systemu operacyjnego ogólnego przeznaczenia. Fakt ten sprawia, że urządzenia osadzone są dobrym wyborem dla systemów czasu rzeczywistego.

Bieżące osadzone zestawy SDK są przeznaczone dla języka C . Osadzone zestawy SDK nie zapewniają żadnego systemu operacyjnego ani obsługi środowiska Eclipse ThreadX. Są one zaprojektowane z myślą o osadzonych miejscach docelowych. Zagadnienia dotyczące projektowania obejmują potrzebę minimalnego zużycia pamięci i alokowania niezwiązanego z pamięcią projektu.

Ważne

Aby uzyskać informacje na temat zestawów SDK do użycia z programowaniem urządzeń osadzonych, zobacz Zestawy SDK urządzeń osadzonych.

Wybieranie sprzętu

Urządzenia usługi Azure IoT to podstawowe bloki konstrukcyjne rozwiązania IoT i są odpowiedzialne za obserwowanie i interakcję ze swoim środowiskiem. Istnieje wiele różnych typów urządzeń IoT i warto zrozumieć rodzaje urządzeń, które istnieją i jak mogą mieć wpływ na proces programowania.

Aby uzyskać więcej informacji na temat różnic między typami urządzeń opisanymi w tym artykule, zobacz About IoT Device Types (Informacje o typach urządzeń IoT).

Wybieranie zestawu SDK

Jako deweloper urządzeń usługi Azure IoT masz zróżnicowany zestaw zestawów SDK, protokołów i narzędzi, które ułatwiają tworzenie aplikacji w chmurze z obsługą urządzeń.

Istnieją dwie główne opcje łączenia urządzeń i komunikowania się z usługą IoT Hub:

  • Użyj zestawów SDK usługi Azure IoT. W większości przypadków zalecamy użycie zestawów SDK usługi Azure IoT w porównaniu z bezpośrednim użyciem protokołu MQTT. Zestawy SDK usprawniają prace programistyczne i upraszczają złożoność łączenia urządzeń i zarządzania nimi. Usługa IoT Hub obsługuje protokół MQTT w wersji 3.1.1 , a zestawy SDK IoT upraszczają proces używania protokołu MQTT do komunikowania się z usługą IoT Hub.
  • Użyj bezpośrednio protokołu MQTT. Istnieją pewne zalety tworzenia rozwiązania usługi IoT Hub do bezpośredniego używania protokołu MQTT. Na przykład rozwiązanie korzystające bezpośrednio z MQTT bez zestawów SDK można skompilować na otwartym standardzie MQTT. Podejście oparte na standardach sprawia, że rozwiązanie jest bardziej przenośne i zapewnia większą kontrolę nad tym, jak urządzenia łączą się i komunikują. Jednak usługa IoT Hub nie jest w pełni funkcjonalnym brokerem MQTT i nie obsługuje wszystkich zachowań określonych w standardzie MQTT w wersji 3.1.1. Częściowa obsługa protokołu MQTT w wersji 3.1.1 zwiększa koszty i złożoność programowania. Deweloperzy urządzeń powinni rozważyć kompromisy dotyczące używania zestawów SDK urządzeń IoT w porównaniu bezpośrednio z używaniem protokołu MQTT. Aby uzyskać więcej informacji, zobacz Komunikacja z centrum IoT przy użyciu protokołu MQTT.

Istnieją trzy zestawy zestawów SDK IoT na potrzeby tworzenia urządzeń:

  • Zestawy SDK urządzeń (w przypadku używania języków wyższego zamówienia do łączenia istniejących urządzeń ogólnego przeznaczenia z aplikacjami IoT)
  • Zestawy SDK urządzeń osadzonych (na potrzeby łączenia urządzeń z ograniczonymi zasobami z aplikacjami IoT)
  • Zestawy SDK usług (do tworzenia rozwiązań usługi Azure IoT łączących urządzenia z usługami)

Aby dowiedzieć się więcej na temat wybierania zestawu SDK urządzenia lub usługi Azure IoT, zobacz Zestawy SDK usługi Azure IoT.

Wybieranie usługi

Kluczowym krokiem w procesie programowania jest wybranie usługi w celu połączenia urządzeń z. Istnieją dwie podstawowe opcje usługi Azure IoT służące do łączenia urządzeń i zarządzania nimi: IoT Hub i IoT Central.

  • Usługa Azure IoT Hub. Usługa Iot Hub umożliwia hostowanie aplikacji IoT i łączenie urządzeń. Usługa IoT Hub to aplikacja typu "platforma jako usługa" (PaaS), która działa jako centralne centrum komunikatów na potrzeby dwukierunkowej komunikacji między aplikacjami IoT i połączonymi urządzeniami. Usługa IoT Hub może być skalowana w celu obsługi milionów urządzeń. W porównaniu z innymi usługami Azure IoT Hub oferuje największą kontrolę i dostosowanie projektu aplikacji. Oferuje również najbardziej deweloperskie opcje narzędzi do pracy z usługą, kosztem pewnego wzrostu złożoności programowania i zarządzania.
  • Azure IoT Central. Usługa IoT Central została zaprojektowana w celu uproszczenia procesu pracy z rozwiązaniami IoT. Można go użyć jako weryfikacji koncepcji, aby ocenić swoje rozwiązania IoT. Usługa IoT Central to aplikacja typu oprogramowanie jako usługa (SaaS), która udostępnia internetowy interfejs użytkownika upraszczający zadania tworzenia aplikacji oraz łączenia urządzeń i zarządzania nimi. Usługa IoT Central używa usługi IoT Hub do tworzenia aplikacji i zarządzania nimi, ale większość szczegółów jest niewidoczna dla użytkownika.

Narzędzia do łączenia urządzeń i zarządzania nimi

Po wybraniu sprzętu i zestawu SDK urządzenia do użycia masz kilka opcji narzędzi programistycznych. Za pomocą tych narzędzi możesz połączyć urządzenie z usługą IoT Hub i zarządzać nimi. W poniższej tabeli przedstawiono podsumowanie typowych opcji narzędzi.

Narzędzie Dokumentacja opis
Azure Portal Tworzenie centrum IoT Hub za pomocą witryny Azure Portal Portal oparty na przeglądarce dla usługi IoT Hub i urządzeń. Współpracuje również z innymi zasobami platformy Azure, w tym usługą IoT Central.
Azure IoT Explorer Azure IoT Explorer Nie można utworzyć centrów IoT. Połączenie do istniejącego centrum IoT w celu zarządzania urządzeniami. Często używane z interfejsem wiersza polecenia lub portalem.
Interfejs wiersza polecenia platformy Azure Tworzenie centrum IoT Za pomocą interfejsu wiersza polecenia Interfejs wiersza polecenia do tworzenia aplikacji IoT i zarządzania nimi.
Azure PowerShell Tworzenie centrum IoT Przy użyciu programu PowerShell Interfejs programu PowerShell do tworzenia aplikacji IoT i zarządzania nimi
Narzędzia Azure IoT Tools dla programu VS Code Tworzenie centrum IoT za pomocą narzędzi dla programu VS Code Rozszerzenie programu VS Code dla aplikacji usługi IoT Hub.

Uwaga

Oprócz wymienionych wcześniej narzędzi można programowo tworzyć aplikacje IoT i zarządzać nimi przy użyciu szablonów interfejsu API REST, zestawów AZURE SDK lub usługi Azure Resource Manager. Dowiedz się więcej w dokumentacji usługi IoT Hub .

Następne kroki

Aby dowiedzieć się więcej na temat zestawów SDK urządzeń, których można użyć do łączenia urządzeń z usługą Azure IoT, zobacz następujący artykuł.

Aby rozpocząć tworzenie praktycznych aplikacji na urządzeniach, wybierz samouczek tworzenia urządzeń, który jest odpowiedni dla używanych urządzeń. Poniższe samouczki są dobrymi punktami wyjścia dla ogólnego tworzenia urządzeń lub tworzenia osadzonych urządzeń.