AWS IoT 1-Click-Programmiermodell - AWS IoT 1-Click

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

AWS IoT 1-Click-Programmiermodell

Um Anwendungen mit AWS IoT 1-Click Geräten zu erstellen, verwenden Programmierer dasAWS IoT 1-Click Geräte-APIund dieAWS IoT 1-Click Projekte-API. Die Geräte-API interagiert mit der AWS IoT 1-Click Gerätekomponente und verarbeitet von den Geräten kommende Ereignisse. Diese Ereignisse umfassen die Aktivierung und Deaktivierung der Geräte und die Definition von Ereignisfunktionen und der Aktionen (Lambda-Funktionen), die sie auslösen. Die Geräte-API ist eng mit den AWS Komponenten in der Region verbunden, in der der Hersteller die Geräte registriert hat. Das ist der Grund, warumAWS Geräteregionenkann sich von der Region unterscheiden, in der der Kunde die Geräte verwendet. Die Projekte-API interagiert mit dem AWS IoT 1-Click Projekte-Service und wird verwendet, um AWS IoT 1-Click-Geräte aggregiert zu verwalten, was Folgendes ermöglicht:

  • Geräte in Projekte zu gruppieren.

  • Erstellen Sie Vorlagen, die zum Festlegen von Aktionen für alle Geräte im Projekt verwendet werden.

  • Definieren Sie Attribute, die kontextbezogene Daten speichern, die für das Projekt relevant sind.

Sie können das AWS IoT 1-Click Programmiermodell verwenden, um einzelne Geräte unter Verwendung der Geräte-API zu programmieren. In diesem Fall nutzen Sie den AWS IoT 1-Click Gerätetyp. Das API definiert Standardereignisformate sowie eine Liste der Methoden, die die Programmierschnittstelle für alle Geräte dieses Typs bildet. Um Methoden für einen bestimmten Gerätetyp aufzurufen, kann ein Programmierer die InvokeDeviceMethod-API verwenden und die Gerätemethode als Parameter angeben.

Beispielsweise geben alle AWS IoT 1-Click Geräte mit dem Gerätetyp „Schaltfläche“ Ereignisse aus, die Klicks zugeordnet sind, und haben Methoden, um Callback-Funktionen aufzurufen, die aufgerufen werden, wenn das Gerät angeklickt wird. Weitere Informationen zur Button-Schnittstelle finden Sie unter Schnittstellen nach Gerätetyp. Hier ist der Code, um diese Callback-Funktion zu setzen:

String methodParameters = mapper.writeValueAsString( SetOnClickCallbackRequestParameters.builder() .deviceId(deviceId) .callback(DeviceCallback.builder() .awsLambdaArn(“arn:aws:lambda:us-west-2:123456789012:MyButtonListener”) .build()) .build()); InvokeDeviceMethodRequest request = new InvokeDeviceMethodRequest() .withDeviceMethod(new DeviceMethod() .withDeviceType("button") .withMethodName("setOnClickCallback")) .withDeviceMethodParameters(methodParameters);

Sie verwenden das Projects API zur Programmierung einer Geräteflotte. Mit den APIs definieren Sie zunächst, wie die einzelnen Platzierungen aussehen, einschließlich der Gerätevorlagen und -attribute für jede Platzierung. Nachdem dies abgeschlossen ist, erstellen Sie Platzierungen mit spezifischen Gerät-IDs. Jede Platzierung folgt derselben Vorlage. Der Beispiel-Code dafür sieht wie folgt aus:

final Map<String, String> callbacks = new HashMap<>(); callbacks.put("onClickCallback", "arn:aws:lambda:us-west-2:123456789012:MyButtonListener"); final DeviceTemplate item = DeviceTemplate.builder() .withDeviceType(“button”) .withCallbackOverrides(callbacks) .build(); final Map<String, DeviceTemplate> deviceTemplateMap = new HashMap<>(); deviceTemplateMap.put(“MyDevice”, item); final Map<String, String> placementDefaultAttributes = new HashMap<>(); placementDefaultAttributes.put(“location”, “Seattle”) request = CreateProjectRequest.builder() .withProjectName(“HelloWorld”) .withDescription(“My first project!”) .withPlacementTemplate(PlacementTemplate.builder() .withDefaultAttributes(placementDefaultAttributes) .withDeviceTemplates(deviceTemplateMap) .build()) .build(); projectsClient.createProject(request)

AWS IoT 1-Click Callback-Ereignisse

AWS IoT 1-Click können Sie Geräteereignisse abonnieren, indem Sie Callbacks registrieren. Ein Beispiel für ein Callback ist eine AWS Lambda Funktion, die Ihnen, dem AWS IoT 1-Click Kunden, gehört und von Ihnen implementiert wird. Dieses Callback wird jedes Mal aufgerufen, wenn ein Ereignis zum Verbrauch zur Verfügung steht. Weitere Informationen zu Ereignissen und deren Nutzlasten finden Sie in den Abschnitten AWS IoT 1-Click ck-Ereignisse und AWS IoT 1-Click Health Ereignisse.

AWS IoT 1-Click ck-Ereignisse

Geräte des Typs button veröffentlichen beim jedem Anklicken ein Klick-Ereignis. Sie können dieses Ereignis durch folgende Maßnahme abonnieren:

  • Aufrufen der SetOnClickCallback-Methode auf einem Gerät.

  • Konfigurieren des zugeordneten Projekts entsprechend, wie im vorherigen Beispiel zum Erstellen von Projektcode gezeigt.

Beachten Sie im folgenden Beispiel, dass der Abschnitt placementInfo nur vorhanden ist, wenn es für das Gerät eine zugehörige Platzierung gibt. Weitere Informationen finden Sie unter Projekte, Vorlagen und Platzierungen.

{ "deviceEvent": { "buttonClicked": { "clickType": "SINGLE", "reportedTime": "2018-05-04T23:26:33.747Z" } }, "deviceInfo": { "attributes": { "key3": "value3", "key1": "value1", "key4": "value4" }, "type": "button", "deviceId": " G030PMXXXXXXXXXX ", "remainingLife": 5.00 }, "placementInfo": { "projectName": "test", "placementName": "myPlacement", "attributes": { "location": "Seattle", "equipment": "printer" }, "devices": { "myButton": " G030PMXXXXXXXXXX " } } }

AWS IoT 1-Click Health Ereignisse

Geräte veröffentlichen ein Health-Ereignisbasierend auf den Health-Parametern, die vom AWS IoT 1-Click Dienst berechnet werden, Sie legen jedoch die entsprechenden Schwellenwerte fest. Das folgende Beispiel zeigt die JSON-Nutzlast eines Health-Ereignisses für Gerät G030PMXXXXXXXXXX mit einer Restlaufzeit von 10 % ("remainingLifeLowerThan":10 Schlüssel-Wert-Paar).

{ "deviceEvent": { "deviceHealthMonitor": { "condition": { "remainingLifeLowerThan": 10 } } }, "deviceInfo": { "attributes": { "key2": "value2", "key1": "value1", "projectRegion": "us-west-2" }, "type": "button", "deviceId": "G030PMXXXXXXXXXX", "remainingLife": 5.4 } }

Gerätemethoden

AWS IoT 1-Click Gerätemethoden sind APIs, die von Geräten eines bestimmten Gerätetyps unterstützt werden, wie in der folgenden Tabelle gezeigt. Die vollständige Liste der von jedem Gerät unterstützten Gerätemethoden können durch den Aufruf von GetDeviceMethods abgerufen werden.

Gerätetyp Methodenname Beschreibung

device

getDeviceHealthParameters

Ruft die Zustandsparameter des Geräts ab, z. B. remainingLife.

device

setDeviceHealthMonitorCallback

Richtet einen Callback ein, der aufgerufen wird, wenn die Zustandsparameter für das Gerät unter einem bestimmten Schwellenwert liegen.

device

getDeviceHealthMonitorCallback

Ruft den konfigurierten Callback ab, der aufgerufen wird, wenn die Zustandsparameter unter einem bestimmten Schwellenwert liegen.

button

setOnClickCallback

Richtet einen Callback ein, der aufgerufen werden soll, wenn die Schaltfläche geklickt wurde.

button

getOnClickCallback

Ruft den konfigurierten Callback ab, die beim Klicken auf die Schaltfläche aufgerufen wird.