As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Modelo de programação do AWS IoT 1-Click
Para criar aplicativos usando dispositivos AWS IoT 1-Click, os programadores usam oAPI de dispositivos do AWS IoT 1-ClickO e aAPI de projetos do AWS IoT 1-Click. A API de dispositivos interage com o componente de dispositivos AWS IoT 1-Click e lida com eventos provenientes de dispositivos. Esses eventos incluem a ativação e a desativação dos dispositivos e a definição de formatos e ações de evento (funções Lambda) que eles desencadeiam. A API de dispositivos é totalmente aliada com os componentes da AWS que residem na região onde o fabricante registrou os dispositivos. É por isso queRegiões de dispositivo AWSO pode ser diferente da região onde o cliente está usando os dispositivos. A API de projetos interage com o serviço Projetos do AWS IoT 1-Click e é usada para gerenciar dispositivos do AWS IoT 1-Click em agregado, o que permite:
-
Agrupar dispositivos em projetos.
-
Criar modelos usados para definir ações para todos os dispositivos no projeto.
-
Definir atributos que armazenam dados contextuais pertinentes ao projeto.
Você pode usar o modelo de programação do AWS IoT 1-Click para programar dispositivos individuais usando a API de dispositivos. Nesse caso, você usará o tipo de dispositivo AWS IoT 1-Click. A API define os formatos de evento padrão e uma lista de métodos que formam a interface de programação de todos os dispositivos desse tipo. Para chamar os métodos relacionados a um determinado tipo de dispositivo, um programador pode usar a API InvokeDeviceMethod
e especificar o método do dispositivo como um parâmetro.
Por exemplo, todos os dispositivos AWS IoT 1-Click que têm o tipo de dispositivo “botão” emitem eventos associados a cliques e têm métodos para definir funções de retorno de chamada que são invocadas quando o dispositivo é clicado. Para obter informações sobre a interface de botões, consulte Interfaces por tipo de dispositivo. Veja o código para definir esta função de retorno de chamada:
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);
Use a API de projetos para programar uma frota de dispositivos. Usando as APIs, primeiramente defina qual será a aparência de cada posicionamento, incluindo modelos e atributos de dispositivo para cada posicionamento. Após fazer isso, crie posicionamentos com IDs de dispositivo específicos. Cada posicionamento seguirá o mesmo modelo. Veja o código de exemplo para fazer isso:
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)
Eventos de retorno de chamada do AWS IoT 1-Click
AWS IoT 1-Click permite que você se inscreva em eventos de dispositivo registrando retornos de chamada. Um exemplo de retorno de chamada é uma função do AWS IoT 1-Click. Esse retorno de chamada é invocado sempre que há um evento disponível a ser consumido. Para obter informações sobre eventos e as respectivas cargas úteis, consulte as seções Eventos do AWS IoT 1-Click e Eventos de Health do AWS IoT 1-Click.
Eventos do AWS IoT 1-Click
Os dispositivos do tipo button
publicam um evento de clique sempre que são clicados. Você pode se inscrever nesse evento:
-
Chamando o método
SetOnClickCallback
do dispositivo em um dispositivo. -
Configurando o projeto associado adequadamente, como mostrado no exemplo anterior e criação de código do projeto.
No exemplo a seguir, lembre-se de que a seção placementInfo
está presente somente quando o dispositivo tem um posicionamento associado. Para obter mais informações, consulte Projetos, modelos e posicionamentos.
{ "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 " } } }
Eventos de Health do AWS IoT 1-Click
Os dispositivos publicam um evento de integridade com base nos parâmetros de integridade calculados pelo serviço AWS IoT 1-Click, mas você define seus limites correspondentes. O exemplo a seguir representa a carga útil JSON de um evento de integridade para o dispositivo G030PMXXXXXXXXXX
com vida útil restante de 10% (anote o par de chave/valor "remainingLifeLowerThan":10
).
{ "deviceEvent": { "deviceHealthMonitor": { "condition": { "remainingLifeLowerThan": 10 } } }, "deviceInfo": { "attributes": { "key2": "value2", "key1": "value1", "projectRegion": "us-west-2" }, "type": "button", "deviceId": "G030PMXXXXXXXXXX", "remainingLife": 5.4 } }
Métodos de dispositivo
Os métodos de dispositivo AWS IoT 1-Click são APIs compatíveis com dispositivos de um certo tipo, conforme demonstrado na tabela a seguir. A lista completa de métodos de dispositivo compatíveis com qualquer dispositivo pode ser recuperada chamando GetDeviceMethods
.
Tipo de dispositivo | Nome de método | Descrição |
---|---|---|
|
|
Obtém os parâmetros de integridade do dispositivo, como |
|
|
Define um retorno de chamada a ser chamado quando os parâmetros de integridade do dispositivo estiverem abaixo de um limite. |
|
|
Obtém o retorno de chamada configurado, que é chamado quando os parâmetros de integridade do dispositivo estiverem abaixo de um limite. |
|
|
Define um retorno de chamada a ser chamado quando o botão for clicado. |
|
|
Obtém o retorno de chamada configurado, que é chamado quando o botão for clicado. |