Modello di programmazione AWS IoT 1-Click - AWS IoT 1-Click

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Modello di programmazione AWS IoT 1-Click

Per creare applicazioni utilizzando dispositivi AWS IoT 1-Click, i programmatori utilizzano ilAPI dei dispositivi AWS IoT 1-Clicke laAPI dei progetti AWS IoT 1-Click: . L'API dei dispositivi interagisce con il componente dei dispositivi AWS IoT 1-Click e gestisce gli eventi provenienti dai dispositivi. Questi eventi consentono, tra l'altro, di abilitare e disabilitare i dispositivi e di definire i formati e le azioni degli eventi (funzioni Lambda) che attivano. L'API dei dispositivi è abbinato ai componenti AWS che si trovano nella regione in cui il produttore ha registrato i dispositivi. Ecco perchéRegione dei dispositivi AWSPotrebbe essere diverso dalla regione in cui il cliente utilizza i dispositivi. L'API dei progetti interagisce con il servizio Progetti AWS IoT 1-Click e viene utilizzata per gestire i dispositivi AWS IoT 1-Click in forma aggregata, consentendo di:

  • Raggruppare i dispositivi in progetti.

  • Creare modelli utilizzati per impostare le operazioni per tutti i dispositivi del progetto.

  • Definire gli attributi che memorizzano i dati contestuali pertinenti al progetto.

È possibile utilizzare il modello di programmazione AWS IoT 1-Click per programmare singoli dispositivi utilizzando l'API dei dispositivi. In questo caso, potrai utilizzare il tipo di dispositivo AWS IoT 1-Click. L'API definisce formati di eventi standard e un elenco di metodi che costituiscono l'interfaccia di programmazione per tutti i dispositivi di quel tipo. Per invocare i metodi relativi a un determinato tipo di dispositivo, un programmatore può utilizzare l'API InvokeDeviceMethod e specificare il metodo del dispositivo come parametro.

Ad esempio, tutti i dispositivi AWS IoT 1-Click che hanno il tipo di dispositivo «button» (pulsante) creeranno eventi associati a clic e avranno i metodi per impostare le funzioni di callback che vengono richiamate quando il dispositivo viene selezionato. Per informazioni sull'interfaccia dei pulsanti, consulta Interfacce per tipo di dispositivo. Ecco il codice per impostare questa funzione di callback:

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);

È possibile utilizzare l'API Progetto per programmare un parco di dispositivi. Utilizzando le API, devi per prima cosa stabilire come deve apparire ogni posizionamento, inclusi i modelli e gli attributi del dispositivo per ogni posizionamento. Una volta completata questa operazione, è necessario creare posizionamenti con gli ID dei dispositivi specifici. Ogni posizionamento segue lo stesso modello. Ecco il codice di esempio per fare questo:

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)

Eventi di callback AWS IoT 1-Click

AWS IoT 1-Click consente di ricevere le notifiche relative a eventi del dispositivo registrando i callback. Un esempio di callback è una funzione AWS Lambda ick di proprietà e implementata dall'utente, il cliente AWS IoT 1-Click. Questo callback viene chiamato ogni volta che si verifica un evento disponibile per l'utilizzo. Per informazioni sugli eventi e sui relativi payload, consulta le sezioni AWS IoT 1-Click e AWS IoT 1-Click.

AWS IoT 1-Click

I dispositivi di tipo button pubblicano un evento clic ogni volta che vengono selezionati. Puoi iscriverti a questo evento nei seguenti modi:

  • Chiamando il metodo SetOnClickCallback del dispositivo su un dispositivo.

  • Configurando il progetto associato in modo appropriato, come illustrato nell'esempio precedente di codice di creazione del progetto.

Nell'esempio che segue, devi ricordare che la sezione placementInfo è presente solo quando il dispositivo ha un posizionamento associato. Per ulteriori informazioni, consulta Progetti, modelli e posizionamenti.

{ "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

I dispositivi pubblicano un evento dello stato di integrità in base ai parametri calcolati dal servizio AWS IoT 1-Click, ma devono essere impostate le soglie corrispondenti. L'esempio seguente rappresenta il payload JSON di un evento dello stato di integrità per il dispositivo G030PMXXXXXXXXXX con una durata rimanente del 10% (nota coppia chiave/valore "remainingLifeLowerThan":10).

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

Metodi dei dispositivi

I metodi dei dispositivi AWS IoT 1-Click sono API supportate da dispositivi di un determinato tipo, come illustrato nella seguente tabella. L'elenco completo dei metodi dei dispositivi supportati da qualsiasi dispositivo può essere recuperato chiamando GetDeviceMethods.

Tipo dispositivo Nome del metodo Descrizione

device

getDeviceHealthParameters

Ottiene i parametri dello stato del dispositivo, come, ad esempio remainingLife.

device

setDeviceHealthMonitorCallback

Imposta un callback da chiamare quando i parametri di integrità del dispositivo sono inferiori a una soglia.

device

getDeviceHealthMonitorCallback

Ottiene il callback configurato che viene chiamato quando i parametri di integrità sono inferiori a una soglia.

button

setOnClickCallback

Imposta un callback da chiamare quando viene fatto clic sul pulsante.

button

getOnClickCallback

Ottieni il callback configurato che viene chiamato quando si fa clic sul pulsante.