{"id":720,"date":"2019-07-16T08:39:53","date_gmt":"2019-07-16T06:39:53","guid":{"rendered":"https:\/\/azure.teamprojects.de\/?page_id=720"},"modified":"2019-09-17T15:01:10","modified_gmt":"2019-09-17T13:01:10","slug":"einrichten-iot-hub","status":"publish","type":"page","link":"https:\/\/azure.teamprojects.de\/?page_id=720","title":{"rendered":"IoT-Hub"},"content":{"rendered":"\n<h2><strong>Allgemeines<\/strong><\/h2>\n\n\n\n<p>Der IoT-Hub wird als Andockstelle f\u00fcr IoT-Ger\u00e4te ben\u00f6tigt. Registrierte Ger\u00e4te k\u00f6nnen Nachrichten an die Cloud versenden oder an andere verbundene Ger\u00e4te \u00fcbermitteln lassen. Neben dem Versenden von Daten \u00fcber den IoT-Hub ist es auch m\u00f6glich, Dateien in die Cloud zu verschieben, Telemetriedaten zu versenden oder andere Ger\u00e4te \u00fcber die Cloud zu steuern. <\/p>\n\n\n\n<p>Um eine vollst\u00e4ndige End-to-End-L\u00f6sung zu entwicklen, l\u00e4sst sich der IoT-Hub in andere Azure-Dienste integieren. Denkbar ist die Integeration in:<\/p>\n\n\n\n<ul><li><strong>Azure-Event-Grid<\/strong> um schnell und zuverl\u00e4ssig auf kritische Ereignisse zu reagieren<\/li><li><strong>Azure-Logic-Apps<\/strong> um Gesch\u00e4ftsprozesse zu automatisieren<\/li><li><strong>Azure-Machine-Learning <\/strong>um Modelle f\u00fcr maschinelles Lernen und k\u00fcnstliche Intelligenzen zu nutzen<\/li><li><strong>Azure-Stream-Analytics<\/strong> f\u00fcr Analyseberechnungen der Datenstr\u00f6me aus den Ger\u00e4ten in Echtzeit<\/li><li><strong>Azure-Event-Hubs<\/strong> um Nachrichten an mehrere Dienste weiterzuleiten und Cloud-Anwendungen zu triggern<\/li><\/ul>\n\n\n\n<p>Um IoT-Anwendungen auf dem eigenen Ger\u00e4t auszuf\u00fchren, wird von Microsoft das <a href=\"https:\/\/docs.microsoft.com\/de-de\/azure\/iot-hub\/iot-hub-devguide-sdks\">Azure IoT-Ger\u00e4te-SDK<\/a> zur Verf\u00fcgung gestellt. Es werden folgende Sprachen unterst\u00fctzt:<\/p>\n\n\n\n<ul><li>C<\/li><li>C#<\/li><li>Java<\/li><li>Python<\/li><li>Node.js<\/li><\/ul>\n\n\n\n<p><\/p>\n\n\n\n<h2><strong>Einrichten des IoT-Hub<\/strong><\/h2>\n\n\n\n<p>Wie eine neue IoT-Hub-Instanz in der Cloud einzurichten ist, entnehmen sie bitte dem <a href=\"https:\/\/azure.teamprojects.de\/?page_id=24\">Teamprojekt-2018<\/a>. Steht der IoT-Hub zur Verf\u00fcgung, k\u00f6nnen neue IoT-Ger\u00e4te angelegt werden. Das kann, wie <a href=\"https:\/\/docs.microsoft.com\/de-de\/azure\/iot-hub\/iot-hub-devguide-sdks\">hier<\/a> beschrieben, direkt \u00fcber das Azure Portal erfolgen, oder \u00fcber die Azure-IoT-Hub Integration von Visual Studio Code. <\/p>\n\n\n\n<p>Um die zweite M\u00f6glichkeit zu nutzen, wird zuerst Visual Studio Code ben\u00f6tigt. Dies wird als <a href=\"https:\/\/code.visualstudio.com\/Download\">Download<\/a> f\u00fcr alle g\u00e4ngigen Betriebssysteme von Mircosoft bereitgestellt.  Nach erfolgreicher Installation, m\u00fcssen die Azure IoT Tools installiert werden. Sie sind ein AddOn f\u00fcr VS Code und k\u00f6nnen \u00fcber den Extensions Marketplace bezogen werden.  <\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" loading=\"lazy\" width=\"503\" height=\"472\" src=\"https:\/\/azure.teamprojects.de\/wp-content\/uploads\/2019\/07\/Azure-IoT-Tools_Tools.png\" alt=\"\" class=\"wp-image-750\" srcset=\"https:\/\/azure.teamprojects.de\/wp-content\/uploads\/2019\/07\/Azure-IoT-Tools_Tools.png 503w, https:\/\/azure.teamprojects.de\/wp-content\/uploads\/2019\/07\/Azure-IoT-Tools_Tools-300x282.png 300w\" sizes=\"(max-width: 503px) 100vw, 503px\" \/><figcaption>Azure IoT Toolkit im VS Code Marketplace<\/figcaption><\/figure><\/div>\n\n\n\n<p>Um auf den Marketplace zuzugreifen, muss die markierte Schaltfl\u00e4che angew\u00e4hlt werden. Im Suchfeld wird <em>Azure IoT Toolkit<\/em> eingegeben und im Anschluss auf <em>Install<\/em> geklickt. Nach erfolgreicher Installation, stehen im Explorer unter dem Reiter &#8218;Azure IoT Hub&#8216; alle ben\u00f6tigten Extensions zur Verf\u00fcgung. Es werden alle Ger\u00e4te angezeigt, die im IoT Hub vorhanden sind. Wird mit der Maus \u00fcber den Reiter gehovert, erscheinen drei Punkte. \u00dcber den ersten Punkt <em>Show Welcome Page<\/em>, gelangt man zu einem Tutorial, zum Erstellen von Ger\u00e4ten und zur Interaktion mit diesen. <\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" loading=\"lazy\" width=\"422\" height=\"304\" src=\"https:\/\/azure.teamprojects.de\/wp-content\/uploads\/2019\/07\/IoT-Hub-VSCode-1.png\" alt=\"\" class=\"wp-image-755\" srcset=\"https:\/\/azure.teamprojects.de\/wp-content\/uploads\/2019\/07\/IoT-Hub-VSCode-1.png 422w, https:\/\/azure.teamprojects.de\/wp-content\/uploads\/2019\/07\/IoT-Hub-VSCode-1-300x216.png 300w\" sizes=\"(max-width: 422px) 100vw, 422px\" \/><figcaption>Darstellung der Devices und der Endpoints des ausgew\u00e4hlten Iot Hubs<\/figcaption><\/figure><\/div>\n\n\n\n<h2><strong> IoT Hub Nachrichten<\/strong><\/h2>\n\n\n\n<p>Es k\u00f6nnen zwei verschieden Arten von Nachrichten versendet werden. Device-to-Cloud und Cloud-to-Device Nachrichten. Wie die Bezeichnung verr\u00e4t, ist einmal die Cloud der Empf\u00e4nger und das andere Mal ein Ger\u00e4t.<\/p>\n\n\n\n<p>Alle Device-to-Cloud Nachrichten, die an den IoT Hub gesendet werden, k\u00f6nnen auf verschiedene Routen verteilt werden. In der Standardkonfiguration ist nur die Default-Route aktiviert. Dieser werden alle eingehenden Nachrichten zugeteilt. Jede Route verf\u00fcgt \u00fcber einen Endpoint welcher in der Regel ein anderer Azure-Dienst ist. Der Endpoint der Default-Route ist ein Event Hub. Dieser l\u00f6st Events aus, die dann von dritten Azure-Diensten bearbeitet werden. <\/p>\n\n\n\n<p>Soll eine Cloud-to-Device Nachricht versendet werden, ist der Ausl\u00f6ser einer solcher Nachrichten nicht die Cloud selbst, sondern ein anderes Ger\u00e4t. Dieses wei\u00dft die Cloud an, die spezifizierte Nachricht an ein zweites Ger\u00e4t zu versenden. F\u00fcr das Ger\u00e4t, dass die Nachricht empf\u00e4ngt, entsteht dennoch der Eindruck, es w\u00fcrde die Nachricht von der Cloud bekommen. \u00dcber diesen Weg, lassen sich Nachrichten an Ger\u00e4te versenden, die in fremden Netzwerken liegen, zu denen keine Routen bestehen und in denen keine Portfreigaben existieren. <\/p>\n\n\n\n<p>Der Inhalt von Device-to-Cloud sowie von Cloud-to-Device Nachtrichten ist immer ein String, in den der Nutzer seine Daten, in einer Codierung seiner Wahl, schreiben kann. G\u00e4ngig sind Formate wie die JSON- oder XML-Codierung. Der Empf\u00e4nger ist wiederum daf\u00fcr verantwortlich die Nachricht zu decodieren, um ihren Inhalt zu verarbeiten.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Allgemeines Der IoT-Hub wird als Andockstelle f\u00fcr IoT-Ger\u00e4te ben\u00f6tigt. Registrierte Ger\u00e4te k\u00f6nnen Nachrichten an die Cloud versenden oder an andere verbundene Ger\u00e4te \u00fcbermitteln lassen. Neben dem Versenden von Daten \u00fcber den IoT-Hub ist es auch m\u00f6glich, Dateien in die Cloud zu verschieben, Telemetriedaten zu versenden oder andere Ger\u00e4te \u00fcber die Cloud zu steuern. Um eine &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/azure.teamprojects.de\/?page_id=720\" class=\"more-link\"><span class=\"screen-reader-text\">\u201eIoT-Hub\u201c<\/span> weiterlesen<\/a><\/p>\n","protected":false},"author":100,"featured_media":0,"parent":714,"menu_order":1,"comment_status":"closed","ping_status":"closed","template":"","meta":[],"_links":{"self":[{"href":"https:\/\/azure.teamprojects.de\/index.php?rest_route=\/wp\/v2\/pages\/720"}],"collection":[{"href":"https:\/\/azure.teamprojects.de\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/azure.teamprojects.de\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/azure.teamprojects.de\/index.php?rest_route=\/wp\/v2\/users\/100"}],"replies":[{"embeddable":true,"href":"https:\/\/azure.teamprojects.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=720"}],"version-history":[{"count":13,"href":"https:\/\/azure.teamprojects.de\/index.php?rest_route=\/wp\/v2\/pages\/720\/revisions"}],"predecessor-version":[{"id":1150,"href":"https:\/\/azure.teamprojects.de\/index.php?rest_route=\/wp\/v2\/pages\/720\/revisions\/1150"}],"up":[{"embeddable":true,"href":"https:\/\/azure.teamprojects.de\/index.php?rest_route=\/wp\/v2\/pages\/714"}],"wp:attachment":[{"href":"https:\/\/azure.teamprojects.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=720"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}