

# Eventos de estado de registro do dispositivo
<a name="iot-sidewalk-device-events"></a>

Eventos de estado de registro do dispositivo publicam notificações de eventos quando há uma alteração no estado de registro do dispositivo, como quando um dispositivo do Sidewalk foi provisionado ou registrado. Os eventos fornecem informações sobre os diferentes estados pelos quais o dispositivo passa desde o momento em que é provisionado até o momento em que é registrado.

## Como eventos de estado de registro do dispositivo funcionam
<a name="iot-sidewalk-device-events-work"></a>

Quando você integra seu dispositivo do Sidewalk com o Amazon Sidewalk e AWS IoT Wireless, a AWS IoT Wireless executa uma operação `create` e adiciona seu dispositivo Sidewalk a sua Conta da AWS. Seu dispositivo então entra no estado provisionado e o `eventType` se torna `provisioned`. Para acessar informações sobre integrar seu dispositivo, consulte [Conceitos básicos do AWS IoT Core para Amazon Sidewalk](sidewalk-getting-started.md).

Depois que o dispositivo estiver `provisioned`, o Amazon Sidewalk executa uma operação `register` para registrar seu dispositivo Sidewalk com AWS IoT Wireless. O processo de registro começa, onde a criptografia e as chaves de sessão são configuradas com AWS IoT. Quando o dispositivo é registrado, o `eventType` se torna `registered` e seu dispositivo está pronto para uso.

Depois que o dispositivo estiver `registered`, o Sidewalk poderá enviar uma solicitação para `deregister` seu dispositivo. A AWS IoT Wireless, em seguida, atende à solicitação e altera o estado do dispositivo de volta para `provisioned`. Para obter mais informações sobre os estados do dispositivo, consulte [DeviceState](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_SidewalkDeviceMetadata.html#iotwireless-Type-SidewalkDeviceMetadata-DeviceState). 

## Ativar notificações para eventos de estado de registro do dispositivo
<a name="iot-sidewalk-device-events-enable"></a>

Antes que os assinantes dos tópicos reservados do estado de registro do dispositivo possam receber mensagens, você deve habilitar as notificações de eventos para eles a partir do Console de gerenciamento da AWS, ou usando a API ou CLI. Você pode habilitar esses eventos para todos os recursos do Sidewalk em sua Conta da AWS ou para recursos selecionados. Para obter mais informações sobre como configurar esses eventos, consulte [Ativar eventos para recursos sem fio](iot-wireless-control-events.md). 

## Formato dos tópicos do MQTT para eventos de estado de registro de dispositivos
<a name="iot-sidewalk-device-events-mqtt"></a>

Para receber notificações sobre eventos do estado do registro do dispositivo, você pode se inscrever nos tópicos reservados do MQTT que começam com um cifrão ($). Para obter mais informações, consulte [MQTT topics](https://docs.aws.amazon.com/iot/latest/developerguide/topics.html) no *Guia do desenvolvedor do AWS IoT*. 

Os tópicos reservados do MQTT para eventos de estado de registro de dispositivos do Sidewalk usam o seguinte formato:
+ Para tópicos em nível de recurso:

  `$aws/iotwireless/events/{eventName}/{eventType}/sidewalk/wireless_devices`
+ Para tópicos de identificador:

  `$aws/iotwireless/events/{eventName}/{eventType}/sidewalk/{resourceType}/{resourceID}/{id}`

Em que:

**{eventName}**  
{eventName} deve ser `device_registation_state`.

**{eventType}**  
{eventType} pode ser `provisioned` ou `registered`.

**{resourceType}**  
{resourceType} pode ser `sidewalk_accounts` ou `wireless_devices`.

**{resourceID}**  
{resourceID} é `amazon_id` para {resourceType} de `sidewalk_accounts` e `wireless_device_id` para {resourceType} de `wireless_devices`.

Você também pode usar o caractere curinga `+` para se inscrever em vários tópicos ao mesmo tempo. O caractere curinga `+` corresponde a qualquer string no nível que contém o caractere. Por exemplo, se você quiser ser notificado sobre todos os tipos de eventos possíveis (`provisioned` e `registered`) e sobre todos os dispositivos registrados em um determinado ID da Amazon, você pode usar o seguinte filtro de tópicos:

`$aws/iotwireless/events/device_registration_state/+/sidewalk/sidewalk_accounts/amazon_id/+`

**nota**  
Você não pode usar o caractere curinga `#` para se inscrever nos tópicos reservados. Para obter mais informações sobre filtros de tópicos, consulte [MQTT topic filters](https://docs.aws.amazon.com/iot/latest/developerguide/topicfilters.html) no *Guia do desenvolvedor do AWS IoT*.

## Carga útil de mensagens para eventos de estado de registro do dispositivo
<a name="iot-sidewalk-device-events-json"></a>

Depois de ativar as notificações para eventos de estado de registro do dispositivo, as notificações de eventos são publicadas no MQTT com uma carga JSON. Esses eventos contêm os seguintes exemplos de carga:

```
{    
    "eventId": "string", 
    "eventType": "provisioned|registered", 
    "WirelessDeviceId": "string",
    "timestamp": "timestamp",

    // Event-specific fields
    "operation": "create|deregister|register", 
    "Sidewalk": {
        "AmazonId": "string",
        "SidewalkManufacturingSn": "string"
    }
}
```

As cargas contêm os seguintes atributos:

**eventId**  
Um ID de evento exclusivo (sequência).

**eventType**  
O tipo de evento que ocorreu. Pode ser `provisioned` ou `registered`.

**wirelessDeviceId**  
O identificador do dispositivo sem fio.

**timestamp**  
A data e hora do Unix de quando o evento ocorreu.

**operação**  
A operação que acionou o evento. Os valores válidos são `create`, `register` e `deregister`. 

**sidewalk**  
O ID da Amazon do Sidewalk ou o `SidewalkManufacturingSn` para o qual quer receber notificações de eventos.