Avviso di fine del supporto: il 7 ottobre 2026, AWS interromperà il supporto per. AWS IoT Greengrass Version 1 Dopo il 7 ottobre 2026, non potrai più accedere alle risorse. AWS IoT Greengrass V1 Per ulteriori informazioni, visita Migrate from. AWS IoT Greengrass Version 1
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à.
Nozioni di base sui connettori Greengrass (console)
Questa funzionalità è disponibile per AWS IoT Greengrass Core v1.7 e versioni successive.
Questo tutorial mostra come utilizzare i connettori Console di gestione AWS per lavorare con i connettori.
Utilizza i connettori per accelerare il ciclo di vita dello sviluppo. I connettori sono moduli precostituiti e riutilizzabili che semplificano l'interazione con servizi, protocolli e risorse. Possono aiutarti a distribuire più rapidamente la logica di business ai dispositivi Greengrass. Per ulteriori informazioni, consulta Integrazione con servizi e protocolli tramite i connettori Greengrass.
In questo tutorial, configuri e distribuisci il connettore Twilio Notifications. Il connettore riceve le informazioni sui messaggi Twilio come dati di input, quindi attiva un messaggio di testo Twilio. Il flusso di dati viene mostrato nel seguente schema.
Dopo aver configurato il connettore, crei una funzione Lambda e un abbonamento.
La funzione valuta i dati simulati da un sensore di temperatura. Pubblica in base a condizioni le informazioni sul messaggio Twilio in un argomento MQTT. Questo è l'argomento a cui il connettore effettua la sottoscrizione.
La sottoscrizione consente alla funzione di effettuare la pubblicazione nell'argomento e al connettore di ricevere i dati dall'argomento.
Il connettore Twilio Notifications richiede un token di autenticazione Twilio per interagire con l'API Twilio. Il token è un segreto di tipo testo creato AWS Secrets Manager e referenziato da una risorsa di gruppo. Ciò consente AWS IoT Greengrass di creare una copia locale del segreto sul core di Greengrass, dove viene crittografato e reso disponibile al connettore. Per ulteriori informazioni, consulta Distribuisci i segreti al AWS IoT Greengrass core.
Il tutorial include le seguenti fasi di alto livello:
Il completamento di questo tutorial richiede circa 20 minuti.
Prerequisiti
Per completare questo tutorial, è necessario quanto segue:
-
Un gruppo Greengrass e un core Greengrass (v1.9.3 or later). Per informazioni su come creare un gruppo e un core Greengrass, consulta Nozioni di base su AWS IoT Greengrass. Nel tutorial Nozioni di base sono descritte anche le fasi per l'installazione del software AWS IoT Greengrass Core.
-
Python 3.7 installato sul dispositivo AWS IoT Greengrass principale.
-
AWS IoT Greengrass deve essere configurato per supportare i segreti locali, come descritto in Secrets Requirements.
Nota
Questo requisito include l'autorizzazione all'accesso ai tuoi segreti di Secrets Manager. Se utilizzate il ruolo di servizio predefinito di Greengrass, Greengrass è autorizzato a ottenere i valori dei segreti i cui nomi iniziano con greengrass-.
-
SID, token di autenticazione e numero di telefono dell'account Twilio. Twilio-enabled Dopo avere creato un progetto Twilio, questi valori sono disponibili nel pannello di controllo del progetto.
Nota
Puoi utilizzare un account di prova Twilio. Se utilizzi un account di prova, devi aggiungere i numeri di telefono dei destinatari non Twilio a un elenco di numeri di telefono verificati. Per ulteriori informazioni, consulta Come lavorare con il tuo account di prova gratuito di Twilio.
Passo 1: Crea un segreto per Secrets Manager
In questo passaggio, usi la AWS Secrets Manager console per creare un segreto di tipo di testo per il tuo token di autenticazione Twilio.
-
Accedere alla AWS Secrets Manager console
. Nota
Per ulteriori informazioni su questo processo, consulta la Fase 1: Creazione e memorizzazione del codice segreto AWS Secrets Manager nella Guida per l'AWS Secrets Manager utente.
-
Scegli Archivia un nuovo segreto.
-
In Scegli il tipo di segreto, scegli Altro tipo di segreto.
-
In Specifica le key/value coppie da archiviare per questo segreto, nella scheda Testo semplice, inserisci il tuo token di autenticazione Twilio. Rimuovi tutta la formattazione JSON e immetti solo il valore del token.
-
Mantieni aws/secretsmanager selezionata la chiave di crittografia, quindi scegli Avanti.
Nota
AWS KMS Se utilizzi la chiave AWS gestita predefinita creata da Secrets Manager nel tuo account, non ti verrà addebitato alcun costo.
-
In Secret name (Nome segreto), immetti
greengrass-TwilioAuthToken, quindi seleziona Next (Avanti).Nota
Per impostazione predefinita, il ruolo del servizio Greengrass consente di AWS IoT Greengrass ottenere il valore dei segreti i cui nomi iniziano con greengrass-. Per ulteriori informazioni, consulta Requisiti dei segreti.
-
Questo tutorial non richiede la rotazione, quindi scegli Disabilita la rotazione automatica, quindi scegli Avanti.
-
Nella pagina Review (Revisione), rivedi le impostazioni e quindi scegli Store (Archivia).
Dovrai quindi creare una risorsa segreta nel gruppo Greengrass che faccia riferimento al segreto.
Fase 2: aggiunta di una risorsa segreta a un gruppo Greengrass
In questa fase, aggiungerai una risorsa segreta al gruppo Greengrass. Questa risorsa è un riferimento al segreto creato nella fase precedente.
Nel pannello di navigazione della AWS IoT console, in Gestisci, espandi i dispositivi Greengrass, quindi scegli Gruppi (V1).
-
Scegli il gruppo a cui aggiungere la risorsa segreta.
-
Nella pagina di configurazione del gruppo, scegli la scheda Risorse, quindi scorri verso il basso fino alla sezione Segreti. La sezione Segreti mostra le risorse segrete che appartengono al gruppo. Puoi aggiungere, modificare e rimuovere risorse segrete da questa sezione.
Nota
In alternativa, la console consente di creare una risorsa segreta e segreta quando si configura un connettore o una funzione Lambda. Puoi farlo dalla pagina Configura i parametri del connettore o dalla pagina Risorse della funzione Lambda.
-
Scegli Aggiungi nella sezione Segreti.
-
Nella pagina Aggiungi una risorsa segreta, inserisci
MyTwilioAuthTokenil nome della risorsa. -
Per il segreto, scegli greengrass-. TwilioAuthToken
-
Nella sezione Seleziona etichette (opzionale), l'etichetta di staging AWSCURRENT rappresenta l'ultima versione del segreto. Questa etichetta è sempre inclusa in una risorsa segreta.
Nota
Questo tutorial richiede solo l'etichetta AWSCURRENT. È possibile includere facoltativamente le etichette richieste dalla funzione o dal connettore Lambda.
-
Scegliere Add resource (Aggiungi risorsa).
Fase 3: aggiunta di un connettore al gruppo Greengrass
In questo passaggio, si configurano i parametri per il connettore Twilio Notifications e lo si aggiunge al gruppo.
-
Nella pagina di configurazione del gruppo, scegliere Connectors (Connettori), quindi Add a connector (Aggiungi un connettore).
-
Nella pagina Aggiungi connettore, scegli Twilio Notifications.
-
Scegliere la versione .
-
Nella sezione Configurazione:
-
Per la risorsa token di autenticazione Twilio, inserisci la risorsa che hai creato nel passaggio precedente.
Nota
Quando inserisci la risorsa, l'ARN della proprietà segreta del token di autenticazione di Twilio viene compilato automaticamente.
-
Per impostazione predefinita da numero di telefono, inserisci il tuo numero di telefono. Twilio-enabled
-
In Twilio account SID (SID account Twilio), immettere il SID dell'account Twilio.
-
-
Scegliere Add resource (Aggiungi risorsa).
Passaggio 4: creare un pacchetto di distribuzione delle funzioni Lambda
Per creare una funzione Lambda, devi prima creare un pacchetto di distribuzione della funzione Lambda che contenga il codice della funzione e le dipendenze. Le funzioni Lambda di Greengrass richiedono il AWS IoT Greengrass Core SDK per attività come la comunicazione con i messaggi MQTT nell'ambiente principale e l'accesso ai segreti locali. Questo tutorial crea una funzione Python, quindi utilizzi la versione Python dell'SDK nel pacchetto di distribuzione.
-
Dalla pagina di download del AWS IoT Greengrass Core SDK, scarica il AWS IoT Greengrass Core SDK for Python sul tuo computer.
-
Decomprimere il pacchetto scaricato per ottenere l'SDK. Il kit SDK è la cartella
greengrasssdk. -
Salvare la seguente funzione del codice Python nel file locale
temp_monitor.py.import greengrasssdk import json import random client = greengrasssdk.client('iot-data') # publish to the Twilio Notifications connector through the twilio/txt topic def function_handler(event, context): temp = event['temperature'] # check the temperature # if greater than 30C, send a notification if temp > 30: data = build_request(event) client.publish(topic='twilio/txt', payload=json.dumps(data)) print('published:' + str(data)) print('temperature:' + str(temp)) return # build the Twilio request from the input data def build_request(event): to_name = event['to_name'] to_number = event['to_number'] temp_report = 'temperature:' + str(event['temperature']) return { "request": { "recipient": { "name": to_name, "phone_number": to_number, "message": temp_report } }, "id": "request_" + str(random.randint(1,101)) } -
Comprimere le voci seguenti nel file
temp_monitor_python.zip. Al momento della creazione del file ZIP, includere solo il codice e le dipendenze, non la cartella che li contiene.-
temp_monitor.py. La logica dell'app.
-
greengrasssdk. Libreria necessaria per le funzioni Python Greengrass Lambda che pubblicano messaggi MQTT.
Questo è il pacchetto di distribuzione delle funzioni Lambda.
-
Ora, crea una funzione Lambda che utilizzi il pacchetto di distribuzione.
Passaggio 5: creare una funzione Lambda nel AWS Lambda console
In questo passaggio, si utilizza la AWS Lambda console per creare una funzione Lambda e configurarla per utilizzare il pacchetto di distribuzione. In seguito, pubblicherai una versione della funzione e creerai un alias.
-
Innanzitutto, crea la funzione Lambda.
-
In Console di gestione AWS, scegli Servizi e apri la AWS Lambda console.
-
Scegli la funzione Crea, quindi scegli Autore da zero.
-
Nella sezione Basic information (Informazioni di base), specifica i seguenti valori:
-
Nel campo Function name (Nome funzione), immettere
TempMonitor. -
In Runtime, scegliere Python 3.7.
-
Per le autorizzazioni, mantieni l'impostazione predefinita. Questo crea un ruolo di esecuzione che concede le autorizzazioni Lambda di base. Questo ruolo non è utilizzato da. AWS IoT Greengrass
-
-
Nella parte inferiore della pagina, scegli Crea funzione.
-
-
Quindi, registra il gestore e carica il pacchetto di distribuzione della funzione Lambda.
-
Nella scheda Codice, in Codice sorgente, scegli Carica da. Dal menu a discesa, scegli il file .zip.
-
Scegli Carica, quindi scegli il pacchetto di
temp_monitor_python.zipdistribuzione. Poi, scegli Salva. -
Nella scheda Codice della funzione, in Impostazioni di runtime, scegli Modifica, quindi inserisci i seguenti valori.
-
In Runtime, scegliere Python 3.7.
-
In Handler (Gestore), immetti
temp_monitor.function_handler
-
-
Selezionare Salva.
Nota
Il pulsante Test sulla AWS Lambda console non funziona con questa funzione. Il AWS IoT Greengrass Core SDK non contiene i moduli necessari per eseguire le funzioni Greengrass Lambda in modo indipendente nella console. AWS Lambda Questi moduli (ad esempio
greengrass_common) vengono forniti alle funzioni dopo essere stati distribuiti nel core di Greengrass.
-
-
Ora pubblica la prima versione della tua funzione Lambda e crea un alias per la versione.
Nota
I gruppi Greengrass possono fare riferimento a una funzione Lambda tramite alias (consigliato) o per versione. L'uso di un alias semplifica la gestione degli aggiornamenti del codice perché non è necessario modificare la tabella di sottoscrizione o la definizione del gruppo quando il codice della funzione viene aggiornato. Basta invece puntare l'alias alla nuova versione della funzione.
-
Nella pagina di configurazione TempMonitor: 1, dal menu Azioni, scegli Crea alias.
-
Nella pagina Create a new alias (Crea un nuovo alias), utilizza i seguenti valori:
-
In Nome, inserisci
GG_TempMonitor. -
In Version (Versione), selezionare 1.
Nota
AWS IoT Greengrass non supporta gli alias Lambda per le versioni $LATEST.
-
-
Scegli Crea.
-
Ora sei pronto per aggiungere la funzione Lambda al tuo gruppo Greengrass.
Fase 6: Aggiungere una funzione Lambda al gruppo Greengrass
In questo passaggio, aggiungi la funzione Lambda al gruppo e quindi ne configuri il ciclo di vita e le variabili di ambiente. Per ulteriori informazioni, consulta Controllo dell'esecuzione delle funzioni Greengrass Lambda utilizzando la configurazione specifica del gruppo.
-
Nella pagina di configurazione del gruppo, scegli la scheda Funzioni Lambda.
-
In Le mie funzioni Lambda, scegli Aggiungi.
-
Nella pagina Aggiungi funzione Lambda, scegli TempMonitor la tua funzione Lambda.
-
Per la versione della funzione Lambda, scegli Alias: GG_. TempMonitor
-
Scegli Aggiungi funzione Lambda.
Fase 7: aggiunta di sottoscrizioni al gruppo Greengrass
In questo passaggio, aggiungi un abbonamento che consente alla funzione Lambda di inviare dati di input al connettore. Il connettore definisce gli argomenti MQTT a cui è sottoscritto. Pertanto, questa sottoscrizione utilizza uno degli argomenti. Si tratta dello argomento in cui la funzione di esempio effettua la pubblicazione.
Per questo tutorial, crei anche abbonamenti che consentono alla funzione di ricevere letture simulate della temperatura AWS IoT e di AWS IoT ricevere informazioni sullo stato dal connettore.
-
Nella pagina Crea un abbonamento, configura l'origine e la destinazione, come segue:
-
Per Tipo di sorgente, scegli la funzione Lambda, quindi scegli TempMonitor.
-
Per Tipo di destinazione, scegli Connector, quindi scegli Twilio Notifications.
-
-
Per il filtro Argomento, scegli
twilio/txt. -
Scegli Crea iscrizione.
-
Ripeti i passaggi da 1 a 4 per creare un abbonamento che AWS IoT consenta di pubblicare messaggi sulla funzione.
-
Per Tipo di sorgente, scegli Servizio, quindi scegli IoT Cloud.
-
Per Seleziona un target, scegli la funzione Lambda, quindi scegli TempMonitor.
-
In Topic filter (Filtro argomento), immettere
temperature/input.
-
-
Ripetere le fasi da 1 a 4 per creare una sottoscrizione che consenta al connettore di pubblicare messaggi in AWS IoT.
-
Per Tipo di sorgente, scegli Connector, quindi scegli Twilio Notifications.
-
Per Tipo di destinazione, scegli Servizio, quindi scegli IoT Cloud.
-
In Topic filter (Filtro argomento), viene inserito
twilio/message/status. Si tratta dell'argomento predefinito in cui pubblica il connettore.
-
Fase 8: distribuzione del gruppo Greengrass
Distribuire il gruppo al nuovo dispositivo core.
Nota
Un gruppo Greengrass può contenere una sola versione del connettore alla volta. Per informazioni sull'aggiornamento di una versione del connettore, consulta Aggiornamento delle versioni dei connettori.
Test della soluzione
-
Nella home page AWS IoT della console, scegli Test.
-
Per Sottoscrivi all'argomento, utilizza i seguenti valori, quindi scegli Iscriviti. Il connettore Twilio Notifications pubblica informazioni sullo stato di questo argomento.
Proprietà
Valore
Argomento sottoscrizione
twilio/message/status
Visualizzazione payload MQTT
Visualizza i payload come stringhe
-
Per Pubblica su argomento, utilizza i seguenti valori, quindi scegli Pubblica per richiamare la funzione.
Proprietà
Valore
Topic
temperature/input
Messaggio
Sostituisci
recipient-namecon un nome erecipient-phone-numbercon il numero di telefono del destinatario del messaggio di testo. Ad esempio:+12345000000{ "to_name": "recipient-name", "to_number": "recipient-phone-number", "temperature": 31 }Se utilizzi un account di prova, devi aggiungere i numeri di telefono dei destinatari non Twilio a un elenco di numeri di telefono verificati. Per ulteriori informazioni, consulta Verifica il tuo numero di telefono personale.
Se l'operazione viene completata, il destinatario riceve il messaggio di testo e la console mostra lo stato
successdai dati di output.A questo punto, è necessario modificare
temperaturenel messaggio di input in29e pubblicare. Poiché è inferiore a 30, la TempMonitor funzione non attiva un messaggio Twilio.