Eventi di prossimità
Gli eventi di prossimità pubblicano notifiche degli eventi quando AWS IoT riceve un beacon dal dispositivo Sidewalk. Quando il dispositivo Sidewalk si avvicina ad Amazon Sidewalk, i beacon inviati dal dispositivo vengono filtrati da Amazon Sidewalk a intervalli regolari e ricevuti da Wireless AWS IoT. Wireless AWS IoT quindi ti notifica questi eventi quando viene ricevuto un beacon.
Come funzionano gli eventi di prossimità
Gli eventi di prossimità ti segnalano quando AWS IoT riceve un beacon, i dispositivi Sidewalk possono emettere beacon in qualsiasi momento. Quando il tuo dispositivo è vicino ad Amazon Sidewalk, Sidewalk riceve i beacon e li inoltra a Wireless AWS IoT a intervalli di tempo regolari. Amazon Sidewalk ha impostato questo intervallo di tempo a 10 minuti. Quando Wireless AWS IoT riceve il beacon da Sidewalk, riceverai una notifica dell'evento.
Gli eventi di prossimità ti avviseranno quando un beacon viene scoperto o perso. È possibile configurare gli intervalli con cui viene notificato l'evento di prossimità.
Abilita le notifiche per eventi di prossimità
Prima che i sottoscrittori degli argomenti riservati di prossimità Sidewalk possano ricevere i messaggi, è necessario abilitare le notifiche di eventi, dalla AWS Management Console o utilizzando l'API o l'interfaccia a riga di comando. Puoi abilitare questi eventi per tutte le risorse Sidewalk nel tuo Account AWS o per risorse selezionate. Per ulteriori informazioni su come abilitare gli eventi, consulta Abilitazione degli eventi per le risorse wireless.
Formato degli argomenti MQTT per eventi di prossimità
Per ricevere avvisi sugli eventi di prossimità, puoi sottoscrivere gli argomenti riservati MQTT che iniziano con un simbolo del dollaro ($). Per ulteriori informazioni, consultare Argomenti MQTT nella Guida per gli sviluppatori di AWS IoT.
Gli argomenti MQTT riservati per gli eventi di prossimità Sidewalk utilizzano il formato:
-
Per argomenti a livello di risorsa:
$aws/iotwireless/events/{eventName}/{eventType}/sidewalk/wireless_devices
-
Per argomenti identificatore:
$aws/iotwireless/events/{eventName}/{eventType}/sidewalk/{resourceType}/{resourceID}/{id}
Dove:
- {eventName}
-
{eventName} deve essere
proximity
. - {eventType}
-
{eventType} può essere
beacon_discovered
obeacon_lost
. - {resourceType}
-
{resourceType} può essere
sidewalk_accounts
owireless_devices
. - {resourceID}
-
{resourceID} è
amazon_id
per {resourceType} disidewalk_accounts
ewireless_device_id
per {resourceType} diwireless_devices
.
È possibile utilizzare anche il carattere jolly +
per sottoscrivere più argomenti contemporaneamente. Il carattere jolly +
corrisponde a qualsiasi stringa nel livello che contiene il carattere. Ad esempio, se vuoi ricevere notifiche su tutti i tipi di evento possibili (beacon_discovered
e beacon_lost
) e per tutti i dispositivi registrati su un particolare ID Amazon, puoi utilizzare il filtro di argomenti che segue:
$aws/iotwireless/events/proximity/+/sidewalk/sidewalk_accounts/amazon_id/+
Nota
Non è possibile utilizzare il carattere jolly #
per sottoscrivere argomenti riservati. Per ulteriori informazioni sui filtri per argomento, consulta MQTT topic filters nella Guida per gli sviluppatori di AWS IoT.
Payload dei messaggi per eventi di prossimità
Dopo aver abilitato le notifiche per eventi di prossimità, i messaggi di evento vengono pubblicati su MQTT con un payload JSON. Questi eventi contengono il payload di esempio seguente:
{ "eventId": "string", "eventType": "beacon_discovered|beacon_lost", "WirelessDeviceId": "string", "timestamp": "1234567890123", // Event-specific fields "Sidewalk": { "AmazonId": "string", "SidewalkManufacturingSn": "string" } }
Il payload contiene gli attributi seguenti:
- eventId
-
Un ID evento univoco, rappresentato da una stringa.
- eventType
-
Il tipo di evento che si è verificato. Può essere
beacon_discovered
obeacon_lost
. - WirelessDeviceId
-
Identificatore del dispositivo wireless.
- timestamp
-
Timestamp Unix del momento in cui si è verificato l'evento.
- sidewalk
-
L'ID Amazon Sidewalk o
SidewalkManufacturingSn
per cui vuoi ricevere le notifiche di evento.