Configurazione della posizione dei dispositivi LoRaWAN - Wireless AWS IoT

Configurazione della posizione dei dispositivi LoRaWAN

Quando si aggiunge il dispositivo a AWS IoT Core per LoRaWAN, è possibile specificare le informazioni sulla posizione statica, attivare facoltativamente il posizionamento e specificare una destinazione. La destinazione descrive la regola IoT che elabora le informazioni sulla posizione del dispositivo e instrada la posizione aggiornata al servizio di posizione Amazon. Dopo aver configurato la posizione del dispositivo, i dati sulla posizione vengono visualizzati su una mappa di posizioni di Amazon con le informazioni sulla precisione e la destinazione specificata.

Puoi configurare la posizione del dispositivo utilizzando la AWS Management Console, l'API AWS IoT Wireless o la AWS CLI.

Se si attiva il posizionamento, è necessario specificare la porta di frame di geolocalizzazione per comunicare i dati di scansione Wi-Fi e GNSS dal dispositivo a AWS IoT Core per LoRaWAN. Le informazioni sulla posizione vengono comunicate a AWS IoT Core per LoRaWAN tramite la porta di frame.

La specifica LoRaWAN fornisce un campo di consegna dati (FRMPayload) e un campo Port (FPort) per distinguere tra diversi tipi di messaggi. Per comunicare le informazioni sulla posizione, per la porta di frame è possibile specificare un valore qualsiasi compreso tra 1 e 223. FPort 0 è riservato ai messaggi MAC, FPort 224 è riservato ai test di conformità MAC e le porte 225-255 sono riservate per future estensioni di applicazioni standardizzate.

Quando aggiungi una destinazione, viene creata una regola AWS IoT per instradare i dati al servizio di posizione Amazon utilizzando il motore delle regole. Le informazioni aggiornate sulla posizione vengono quindi visualizzate su una mappa delle posizioni Amazon. Se il posizionamento non è stato attivato, la destinazione instrada i dati sulla posizione quando si aggiornano le coordinate di posizione statiche del dispositivo.

Il seguente codice mostra il formato del messaggio di uplink inviato da AWS IoT Core per LoRaWAN con le informazioni sulla posizione, la precisione, la configurazione del risolutore e i metadati wireless. I campi evidenziati di seguito sono facoltativi. Se non sono disponibili informazioni sulla precisione verticale, il valore è null.

{ // Position configuration parameters for given wireless device "WirelessDeviceId": "5b58245e-146c-4c30-9703-0ca942e3ff35", // Position information for a device in GeoJSON format. Altitude // is optional. If no vertical accuracy information is available // or positioning isn't activated, the value is set to null. // The position information coordinates are listed in the order // [longitude, latitude, altitude]. "coordinates": [33.33000183105469, -22.219999313354492, 99.0], "type": "Point", "properties": { "horizontalAccuracy": number, "verticalAccuracy": number", "timestamp": "2022-08-19T03:08:35.061Z" }, //Parameters controlled by AWS IoT Core per LoRaWAN "WirelessMetadata": { "LoRaWAN": { "ADR": false, "Bandwidth": 125, "ClassB": false, "CodeRate": "4/5", "DataRate": "0", "DevAddr": "00b96cd4", "DevEui": "58a0cb000202c99", "FOptLen": 2, "FCnt": 1, "Fport": 136, "Frequency": "868100000", "Gateways": [ { "GatewayEui": "80029cfffe5cf1cc", "Snr": -29, "Rssi": 9.75 } ], "MIC": "7255cb07", "MType": "UnconfirmedDataUp", "Major": "LoRaWANR1", "Modulation": "LORA", "PolarizationInversion": false, "SpreadingFactor": 12, "Timestamp": "2021-05-03T03:24:29Z" } } }

Configurazione della posizione dei dispositivi tramite la console

Per configurare e gestire la posizione dei dispositivi tramite la AWS Management Console, accedere innanzitutto alla console quindi passare alla pagina hub Devices (Dispositivi) della console AWS IoT.

Aggiunta di informazioni sulla posizione

Per aggiungere informazioni sulla posizione per il dispositivo:

  1. Nella pagina hub Devices (Dispositivi), scegli Add wireless device (Aggiungi dispositivo wireless).

  2. Immetti le specifiche del dispositivo wireless, i profili di dispositivo e servizio e la destinazione che definisce la regola IoT per l'instradamento dei dati a un altro Servizio AWS. Per ulteriori informazioni, consultare Integra i tuoi dispositivi su AWS IoT Core per LoRaWAN.

  3. Immetti le informazioni sulla posizione, attiva facoltativamente la geolocalizzazione e specifica una destinazione dei dati sulla posizione che desideri utilizzare per instradare i messaggi.

    • Informazioni sulla posizione

      Specifica i dati sulla posizione per il dispositivo utilizzando le coordinate di latitudine e longitudine e una coordinata di altitudine facoltativa. Le informazioni sulla posizione si basano sul sistema di coordinate WGS84.

    • GeoLocation

      Attiva il posizionamento se desideri che AWS IoT Core per LoRaWAN utilizzi la geolocalizzazione per calcolare la posizione del dispositivo. I risolutori GNSS e Wi-Fi di terze parti vengono utilizzati per identificare la posizione del dispositivo in tempo reale.

      Per inserire le informazioni di geolocalizzazione, scegli Attiva posizionamento e inserisci la porta di frame di geolocalizzazione per comunicare i dati di scansione GNSS e Wi-Fi a AWS IoT Core per LoRaWAN. Come riferimento, sono già inseriti i valori di FPort predefiniti. Tuttavia, puoi scegliere un valore diverso compreso tra 1 e 223.

    • Destinazione dei dati sulla posizione

      Scegli una destinazione per descrivere la regola AWS IoT che elabora i dati sulla posizione del dispositivo e invia la posizione aggiornata a AWS IoT Core per LoRaWAN. Utilizza questa destinazione solo per instradare i dati sulla posizione. Deve essere diversa dalla destinazione utilizzata per l'instradamento dei dati del dispositivo ad altri Servizio AWS.

Visualizzazione della configurazione della posizione del dispositivo

Dopo aver configurato la posizione del dispositivo, AWS IoT Core per LoRaWAN crea una mappa delle posizioni Amazon chiamata iotwireless.map. Questa mappa è presente sulla pagina dei dettagli del tuo dispositivo nella scheda Position (Posizione). In base alle coordinate di posizione specificate o alla posizione calcolata dai risolutori di terze parti, la posizione del dispositivo verrà visualizzata come un contrassegno sulla mappa. Puoi ingrandire o rimpicciolire la mappa per visualizzare chiaramente la posizione del tuo dispositivo. Nella pagina dei dettagli del dispositivo, nella scheda Position (Posizione), vedrai anche le informazioni sulla precisione, il timestamp in cui è stata determinata la posizione del dispositivo e la destinazione dei dati sulla posizione che hai specificato.

Nota

Se non hai attivato le mappe del servizio di posizione Amazon, sarà visualizzato un messaggio che indica che è necessario utilizzare il servizio di posizione Amazon per accedere alla mappa e visualizzare la posizione. L'utilizzo di mappe del servizio di posizione Amazon può comportare addebiti aggiuntivi al tuo Account AWS. Per ulteriori informazioni, consultare Prezzi di AWS IoT Core.

La mappa, iotwireless.map, funge da fonte di dati cartografici a cui si accede tramite operazioni API Get, ad esempio GetMapTile. Per informazioni sulle API Get utilizzate con le mappe, consulta Amazon Location Service API reference (Documentazione di riferimento delle API del servizio di posizione Amazon).

Per ulteriori dettagli su questa mappa, vai alla console del servizio di posizione Amazon, scegli maps (mappe) quindi seleziona iotwireless.map. Per ulteriori informazioni, consultare Mappe nella Guida per gli sviluppatori del servizio di posizione Amazon.

Aggiornamento della configurazione della posizione del dispositivo

Per modificare la configurazione della posizione del dispositivo, nella pagina dei dettagli del dispositivo, scegli Edit (Modifica), quindi aggiorna le informazioni sulla posizione, eventuali impostazioni di geolocalizzazione e la destinazione.

Nota

Le informazioni sui dati storici della posizione non sono disponibili. Quando aggiorni le coordinate di posizione del dispositivo, i dati sulla posizione riportati in precedenza vengono sovrascritti. Dopo aver aggiornato la posizione, nella scheda Position (Posizione) dei dettagli del dispositivo, vedrai le nuove informazioni sulla posizione. Una modifica del timestamp indica che corrisponde all'ultima posizione nota del dispositivo.

Configurazione della posizione del dispositivo tramite l'API

Puoi specificare le informazioni sulla posizione, configurare la posizione del dispositivo e attivare la geolocalizzazione facoltativa mediante l'API AWS IoT Wireless o la AWS CLI.

Importante

Le operazioni API UpdatePosition, GetPosition, PutPositionConfiguration, GetPositionConfiguration e ListPositionConfigurations non sono più supportate. Le chiamate per aggiornare e recuperare le informazioni sulla posizione devono utilizzare le operazioni API GetResourcePosition e UpdateResourcePosition.

Aggiunta di informazioni sulla posizione e configurazione

Per aggiungere le informazioni sulla posizione per un determinato dispositivo wireless, specificare le coordinate utilizzando l'operazione API UpdateResourcePosition o il comando update-resource-position della CLI. Specificare WirelessDevice come ResourceType, l'ID del dispositivo wireless da aggiornare come ResourceIdentifier e le informazioni sulla posizione.

aws iotwireless update-resource-position \ --resource-type WirelessDevice \ --resource-id "1ffd32c8-8130-4194-96df-622f072a315f" \ --position [33.33, -33.33, 10.0]

Nell'esempio seguente viene mostrato il contenuto del file deviceposition.json. Per specificare i valori FPort per l'invio dei dati di geolocalizzazione, utilizzare l'oggetto Positioning (Posizionamento) con le operazioni API CreateWirelessDevice e UpdateWirelessDevice.

Contenuto di deviceposition.json

{ "type": "Point", "coordinates": [33.3318, -22.2155, 13.123], "properties": { "verticalAccuracy": 707, "horizontalAccuracy": "timestamp": "2018-11-30T18:35:24Z" } }

L'esecuzione di questo comando non produce output. Per visualizzare le informazioni sulla posizione specificate, utilizzare l'operazione API GetResourcePosition.

Ottenimento delle informazioni su posizione e configurazione

Per ottenere le informazioni sulla posizione per un determinato dispositivo wireless, utilizzare l'API GetResourcePosition o il comando get-resource-position della CLI. Specifica WirelessDevice come resourceType e immetti l'ID del dispositivo wireless come resourceIdentifier.

aws iotwireless get-resource-position \ --resource-type WirelessDevice \ --resource-id "1ffd32c8-8130-4194-96df-622f072a315f"

L'esecuzione di questo comando visualizza le informazioni sulla posizione del dispositivo wireless come un payload GeoJSON. Saranno visualizzate le informazioni sulle coordinate della posizione, il tipo di posizione e le proprietà che includono le informazioni sulla precisione e il timestamp che corrisponde all'ultima posizione nota del dispositivo.

{ "type": "Point", "coordinates": [33.3318, -22.2155, 13.123], "properties": { "verticalAccuracy": 707, "horizontalAccuracy": 389, "horizontalConfidenceLevel": 0.68, "verticalConfidenceLevel": 0.68, "timestamp": "2018-11-30T18:35:24Z" } }