TCP-Unterstützung in Azure IoT Hub

9

Azure IoT Hub Unterstützt AMQP-, MQTT- und HTTP-Protokolle. Um diese Protokolle anzupassen, haben wir Azure IoT-Protokoll-Gateway. Ich kann gute Beispiele für die Anpassung des MQTT-Protokolls finden. Ich benötige einige Beispielcodes für die TCP-basierte Protokollanpassung mit Azure IoT Protocol Gateway.

BEARBEITEN (um eine Antwort zu erhalten): Was das OP gefragt hat, ist ein Beispiel, das das Azure Protocol Gateway zur Unterstützung eines proprietären TCP-basierten Protokolls verwendet . Derzeit unterstützt der IoT-Hub nur AMQP, MQTT und HTTP. Während diese Protokolle tatsächlich TCP verwenden, unterstützt der Hub keine direkte TCP-Verbindung ohne die zusätzliche Schicht von AMQP, MQTT oder HTTP. Wie hier hier erläutert, benötigen wir ein einfaches Beispiel für ein benutzerdefiniertes TCP-Protokoll.

Stellen Sie sich ein Basisgerät vor, das über eine bestimmte IP-Adresse / Port nur einige proprietäre Nutzdaten über TCP senden kann: Wir benötigen ein Beispiel für eine Gateway-Anpassung, mit der dieses Gerät Daten an den Hub senden kann.

Der aktuelle Code des Protokoll-Gateways ist schlecht entworfen, da er stark von MQTT abhängt.

Auch etwas Bounty hinzufügen.

    
arun thatham 16.03.2017, 16:28
quelle

1 Antwort

0
___ answer4867119 ___

Das standardmäßige Protokoll-Gateway-Beispiel ist aufgrund des gesamten MQTT-Codes in der Tat etwas verwirrend. Das Protokoll-Gateway simuliert eine IoTHub-Verbindung für jedes benutzerdefinierte Protokollgerät, das Sie mit dem Gateway verbinden.

Um diese Übersetzung vom TCP-Gerät zu einem IoTHub-Gerät durchführen zu können, müssen Sie zunächst eine Verbindung zum IoTHub für das Gerät herstellen. Dies ist der Gateway-Teil. Im Folgenden finden Sie die wichtigsten Grundlagen für diese IoTHubConnection.

%Vor%

Die Callback-Methode "deviceClientFactory" sollte wie folgt implementiert werden und in dieser Zeile im Report des ProtocolGateway in Github: Ссылка

%Vor%

Wenn ein Tcp-Gerät eine Verbindung mit dem Protokoll herstellt, sollten Sie eine Instanz dieser IoTHubConnection erstellen und Nachrichten vom Gerät an die IoTHubConnection senden und umgekehrt. Der folgende Code zeigt eine sehr einfache Version, wie dies gemacht werden sollte.

%Vor%     
___ tag123c ___ C # (sprich "Cis") ist eine objektorientierte Programmiersprache auf hohem Niveau, die für die Erstellung einer Vielzahl von Anwendungen entwickelt wurde, die auf dem .NET Framework (oder .NET Core) ausgeführt werden. C # ist einfach, leistungsfähig, typsicher und objektorientiert. ___ tag123tcp ___ Das Transmission Control Protocol (TCP) ist ein Transportschichtprotokoll, das einen verbindungsorientierten Datenstromdienst mit garantierter Zustellung in der richtigen Reihenfolge bereitstellt. ___ tag123azure ___ Microsoft Azure (früher Windows Azure) ist eine Platform-as-a-Service- (PaaS-) und Infrastructure-as-a-Service- (IaaS-) Cloud-Computing-Plattform von Microsoft. Die Benutzer der Plattform können ihre Anwendungen auf Cloud-Hosting bereitstellen, wobei sie von On-Demand-Diensten, flexiblen Skalierungen und einer hoch verwalteten Umgebung im Pay-as-you-go-Modus profitieren. ___ qstnhdr ___ TCP-Unterstützung in Azure IoT Hub ___ qstntxt ___

Azure IoT Hub Unterstützt AMQP-, MQTT- und HTTP-Protokolle. Um diese Protokolle anzupassen, haben wir Azure IoT-Protokoll-Gateway. Ich kann gute Beispiele für die Anpassung des MQTT-Protokolls finden. Ich benötige einige Beispielcodes für die TCP-basierte Protokollanpassung mit Azure IoT Protocol Gateway.

BEARBEITEN (um eine Antwort zu erhalten): Was das OP gefragt hat, ist ein Beispiel, das das Azure Protocol Gateway zur Unterstützung eines proprietären TCP-basierten Protokolls verwendet . Derzeit unterstützt der IoT-Hub nur AMQP, MQTT und HTTP. Während diese Protokolle tatsächlich TCP verwenden, unterstützt der Hub keine direkte TCP-Verbindung ohne die zusätzliche Schicht von AMQP, MQTT oder HTTP. Wie hier hier erläutert, benötigen wir ein einfaches Beispiel für ein benutzerdefiniertes TCP-Protokoll.

Stellen Sie sich ein Basisgerät vor, das über eine bestimmte IP-Adresse / Port nur einige proprietäre Nutzdaten über TCP senden kann: Wir benötigen ein Beispiel für eine Gateway-Anpassung, mit der dieses Gerät Daten an den Hub senden kann.

Der aktuelle Code des Protokoll-Gateways ist schlecht entworfen, da er stark von MQTT abhängt.

Auch etwas Bounty hinzufügen.

    
___ tag123azureiothub ___ Azure IoT Hub ist ein vollständig verwalteter Microsoft-Dienst, der eine zuverlässige und sichere bidirektionale Kommunikation zwischen Millionen von IoT-Geräten und einem Lösungs-Backend ermöglicht. ___ tag123iot ___ Dieses Tag bezieht sich auf Programmierfragen, die etwas mit dem Internet der Dinge zu tun haben. Fragen, die nicht zur Programmierung gehören, sollten auf der Stack-Exchange-Website des Internets der Dinge gestellt werden. ___
Marco van Kimmenade 07.02.2018 19:41
quelle

Tags und Links