[JAVA] Verbinden Sie IoT-Geräte mithilfe von Gateway- und Subgeräteszenarien mit der Cloud

Dieses Mal werden wir uns Gateway- und Subgeräte-Szenarien für die Verbindung von ** IoT ** -Geräten mit der Cloud ansehen.

image.png

In vielen IoT-Szenarien greift das Gerät selbst nicht auf das Internet zu. Sie fragen sich möglicherweise, wie Sie Ihre Daten in die Cloud verschieben können.

Die Cloud IoT Platform unterstützt direkte Verbindungen auf Geräten mithilfe eines speziellen Protokolls namens MQTT.

Interessanterweise unterstützt diese Art von Konnektivitätsprotokoll auch das Mounten des Geräts am Gateway als Untergerät des Gateways, sodass der Proxy des Gateways das Gerät mit der IoT-Plattform verbinden kann. Das Gateway-Gerät selbst fungiert dann als IoT-Gateway-Gerät und stellt eine MQTT-Verbindung zur IoT-Plattform her, um Daten zu senden und zu empfangen. Darüber hinaus ist dieses Gerät auch für die Verwaltung von Untergeräten verantwortlich. All dies umfasst daher auch die folgenden Operationen:

Abhängig vom lokalen Netzwerk sind die Kommunikationsprotokolle zwischen dem Gateway und dem Subgerät HTTP, MQTT, ZigBee. , [Modbus](http://www.bb-elec.com/Learning-Center/All-White-Papers/Modbus/The-Answer-to-the-14-Most-Frequently-Asked-Modbus.aspx?spm = a2c65.11461447.0.0.13e627e6SUARNc), BLE a2c65.11461447.0.0.13e627e6SUARNc), OPC-UA. Diese Logik wird vom Gateway implementiert. Diese Konnektivitätsfunktionen können jedoch nicht vom IoT SDK bereitgestellt werden.

Schauen wir uns nun an, wie das oben beschriebene Szenario eingerichtet wird, insbesondere die Gateway- und Subdevice-Szenarien. Dazu müssen Sie die folgenden Schritte ausführen.

Netzwerkprodukte erstellen

Um ein Netzwerkprodukt zu erstellen, müssen Sie einen Knotentyp auswählen (in diesem Lernprogramm als Gateway bezeichnet). Das Gateway kann die Untergeräte verwalten, die auf den Untergeräten vorhandenen topologischen Beziehungen beibehalten und diese topologischen Beziehungen mit der Cloud synchronisieren.

image.png

Als Referenz zeigt die folgende Abbildung die topologischen Beziehungen, die zwischen dem Gateway und seinen Untergeräten bestehen.

image.png

Gateway anschließen

Sie können das Gateway-Gerät verbinden, indem Sie die folgenden Parameter einstellen.

LinkKitInitParams params = new LinkKitInitParams();

DeviceInfo gatewayInfo = new DeviceInfo();
gatewayInfo.productKey = gateway.productKey;
gatewayInfo.deviceName = gateway.deviceName;
gatewayInfo.deviceSecret = gateway.deviceSecret;

params.deviceInfo = gatewayInfo;
LinkKit.getInstance().init(params, ILinkKitConnectListener)

Wenn das Gateway-Gerät verbunden ist, wird es in der Konsole mit dem Status "Online" angezeigt.

image.png

Netzwerktopologie hinzufügen

Sie können Netzwerktopologien hinzufügen, indem Sie die folgenden Parameter festlegen:

DeviceInfo deviceInfo = new DeviceInfo();
deviceInfo.productKey = productKey;
deviceInfo.deviceName = deviceName;
deviceInfo.deviceSecret = deviceSecret;
LinkKit.getInstance().getGateway().gatewayAddSubDevice(
    deviceInfo, // the ID of the sub-device
    SubDeviceConnectListener)

Sie können dies stattdessen in der Konsole tun.

image.png

Untergeräte anschließen

Sie können Untergeräte anschließen, indem Sie die folgenden Parameter einstellen.

DeviceInfo deviceInfo = new DeviceInfo();
deviceInfo.productKey = productKey;
deviceInfo.deviceName = deviceName;
deviceInfo.deviceSecret = deviceSecret;
LinkKit.getInstance().getGateway().gatewaySubDeviceLogin(
    deviceInfo,  // the ID of the sub-device
    ISubDeviceActionListener)

Sie können dies stattdessen in der Konsole tun.

image.png

Anschließend können Sie die Verbindungsinformationen des Untergeräts auf der Konsole überprüfen.

image.png

Subgerätedaten melden

Sie können Daten für Untergeräte melden, indem Sie die folgenden Parameter einstellen.

DeviceInfo deviceInfo = new DeviceInfo();
deviceInfo.productKey = productKey;
deviceInfo.deviceName = deviceName;
deviceInfo.deviceSecret = deviceSecret;
LinkKit.getInstance().getGateway().gatewaySubDevicePublish(
    topic, // sub-device topic
    data, // the data
    deviceInfo, // the ID of the sub-device
    ISubDeviceActionListener)

Sie können stattdessen die Konsole verwenden.

image.png

Lassen Sie Subgeräte Themen abonnieren

Sie können Subgeräte Themen abonnieren lassen, indem Sie die folgenden Parameter festlegen:

DeviceInfo deviceInfo = new DeviceInfo();
deviceInfo.productKey = productKey;
deviceInfo.deviceName = deviceName;
deviceInfo.deviceSecret = deviceSecret;
LinkKit.getInstance().getGateway().gatewaySubDeviceSubscribe(
    topic, // sub-device subscription topic
    deviceInfo, // the ID of the sub-device
    ISubDeviceActionListener)

Trennen Sie das Untergerät

DeviceInfo deviceInfo = new DeviceInfo();
deviceInfo.productKey = productKey;
deviceInfo.deviceName = deviceName;
deviceInfo.deviceSecret = deviceSecret;
LinkKit.getInstance().getGateway().gatewaySubDeviceLogout(
    deviceInfo, // the ID of the sub-device
    ISubDeviceActionListener)

Löschen der Subgeräte-Netzwerktopologie

DeviceInfo deviceInfo = new DeviceInfo();
deviceInfo.productKey = productKey;
deviceInfo.deviceName = deviceName;
deviceInfo.deviceSecret = deviceSecret;
LinkKit.getInstance().getGateway().gatewayDeleteSubDevice(
    deviceInfo, // the ID of the sub-device
    ISubDeviceRemoveListener)

Recommended Posts

Verbinden Sie IoT-Geräte mithilfe von Gateway- und Subgeräteszenarien mit der Cloud
Stellen Sie Ihre Anwendung mithilfe des Cloud Toolkit Maven-Plugins für EDAS bereit
Wechseln Sie dynamisch die Datenbank, zu der eine Verbindung hergestellt werden soll
So verbinden Sie Heroku und Sequel
Ich habe die Punkte zusammengefasst, die bei der kombinierten Verwendung von Ressourcen und Ressourcen zu beachten sind
[Android] So aktivieren / deaktivieren Sie das Benachrichtigungsfeld mit StatusBarManager
Bereitstellen einer Node.js-Anwendung auf einer ECS-Instanz mithilfe des Cloud Toolkit
Senden Sie nach eindeutiger Authentifizierung mit Spring Cloud Gateway eine Anfrage an das Backend