Connettere un Raspberry Pi o altro dispositivo - AWS IoT Core

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à.

Connettere un Raspberry Pi o altro dispositivo

In questa sezione, configureremo un Raspberry Pi da utilizzare con. AWS IoT Se hai un altro dispositivo che desideri collegare, le istruzioni per Raspberry Pi includono riferimenti che possono aiutarti ad adattare queste istruzioni al tuo dispositivo.

Normalmente questo richiede circa 20 minuti, ma può richiedere più tempo se si hanno molti aggiornamenti del software di sistema da installare.

Importante

Adattare queste istruzioni ad altri dispositivi e sistemi operativi può essere difficile. Dovrai comprendere abbastanza bene il tuo dispositivo da poter interpretare queste istruzioni e applicarle al tuo dispositivo.

Se riscontri difficoltà durante la configurazione del dispositivo per AWS IoT, potresti provare una delle altre opzioni del dispositivo come alternativa, ad esempio o. Crea un dispositivo virtuale con Amazon EC2 Usa il tuo PC o Mac Windows o Linux come AWS IoT dispositivo

Configurare il dispositivo

L'obiettivo di questo passaggio è raccogliere ciò che è necessario per configurare il dispositivo in modo che possa avviare il sistema operativo (OS), connettersi a Internet e consentire di interagire con esso tramite un'interfaccia a riga di comando.

Per completare questo tutorial, è necessario quanto segue:

  • Un Account AWS. Se non disponi dell'account, effettua la procedura descritta in Configurare Account AWS prima di continuare.

  • Un modello Raspberry Pi 3 B o più recente. Questo potrebbe funzionare su versioni precedenti di Raspberry Pi, ma non sono state testate.

  • Raspberry Pi OS (32 bit) o versione successiva. Ti consigliamo di utilizzare sempre la versione più recente di Raspberry Pi OS. Le versioni precedenti del sistema operativo potrebbero funzionare, ma non sono state testate.

    Per eseguire questo esempio, non è necessario installare il desktop con l'interfaccia utente grafica (GUI); tuttavia, se non conosci il Raspberry Pi e il tuo hardware Raspberry Pi lo supporta, utilizzare il desktop con il GUI potrebbe essere più semplice.

  • Una connessione Ethernet o. WiFi

  • Tastiera, mouse, monitor, cavi, alimentatori e altro hardware richiesto dal dispositivo.

Importante

Prima di continuare con la fase successiva, è necessario che il sistema operativo sia installato, configurato e in esecuzione. Il dispositivo deve essere connesso a Internet e deve essere possibile accedere al dispositivo utilizzando la sua interfaccia da riga di comando. L'accesso alla riga di comando può avvenire tramite tastiera, mouse e monitor collegati direttamente o utilizzando un'interfaccia remota del SSH terminale.

Se utilizzi un sistema operativo sul tuo Raspberry Pi dotato di un'interfaccia utente grafica (GUI), apri una finestra di terminale sul dispositivo ed esegui le seguenti istruzioni in quella finestra. Altrimenti, se ti connetti al tuo dispositivo utilizzando un terminale remoto, come PuTTY, apri un terminale remoto sul tuo dispositivo e usalo.

Installa gli strumenti e le librerie necessari per il AWS IoT dispositivo SDK

Prima di installare il AWS IoT dispositivo SDK e il codice di esempio, assicurati che il sistema sia aggiornato e disponga degli strumenti e delle librerie necessari per installare ilSDKs.

  1. Aggiorna il sistema operativo e installa le librerie richieste

    Prima di installare un AWS IoT dispositivoSDK, esegui questi comandi in una finestra di terminale del dispositivo per aggiornare il sistema operativo e installare le librerie richieste.

    sudo apt-get update
    sudo apt-get upgrade
    sudo apt-get install cmake
    sudo apt-get install libssl-dev
  2. Installa Git

    Se nel sistema operativo del tuo dispositivo non è installato Git, devi installarlo per installare il AWS IoT dispositivo SDK per JavaScript.

    1. Verifica se Git è già installato eseguendo questo comando.

      git --version
    2. Se il comando precedente restituisce la versione Git, Git è già installato ed è possibile passare alla fase 3.

    3. Se viene visualizzato un errore quando esegui il comando git, installa Git eseguendo questo comando.

      sudo apt-get install git
    4. Prova di nuovo per vedere se Git è installato eseguendo questo comando.

      git --version
    5. Se Git è installato, passa alla sezione successiva. In caso contrario, risolvi e correggi l'errore prima di continuare. Hai bisogno di Git per installare il AWS IoT dispositivo SDK per JavaScript.

Installa il AWS IoT dispositivo SDK

Installa il AWS IoT dispositivoSDK.

Python

In questa sezione installerai Python, i suoi strumenti di sviluppo e Device SDK for Python sul AWS IoT tuo dispositivo. Queste istruzioni sono per un Raspberry Pi con il sistema operativo Raspberry Pi più recente. Se disponi di un altro dispositivo o utilizzi un altro sistema operativo, potrebbe essere necessario adattare queste istruzioni per il dispositivo.

  1. Installa Python e i suoi strumenti di sviluppo

    Il AWS IoT Device SDK for Python richiede l'installazione di Python v3.5 o versione successiva sul tuo Raspberry Pi.

    In una finestra di terminale del dispositivo, esegui questi comandi.

    1. Esegui questo comando per determinare la versione di Python installata sul dispositivo.

      python3 --version

      Se Python è installato, mostrerà la sua versione.

    2. Se la versione visualizzata è Python 3.5 o superiore, puoi passare alla fase 2.

    3. Se la versione visualizzata è inferiore a Python 3.5, puoi installare la versione corretta eseguendo questo comando.

      sudo apt install python3
    4. Esegui questo comando per confermare che la versione corretta di Python è ora installata.

      python3 --version
  2. Test per pip3

    In una finestra di terminale del dispositivo, esegui questi comandi.

    1. Esegui questo comando per vedere se pip3 è installato.

      pip3 --version
    2. Se il comando restituisce un numero di versione, pip3 è installato e puoi passare alla fase 3.

    3. Se il comando precedente restituisce un errore, esegui questo comando per installare pip3.

      sudo apt install python3-pip
    4. Esegui questo comando per vedere se pip3 è installato.

      pip3 --version
  3. Installa l'attuale AWS IoT Device SDK for Python

    Installa AWS IoT Device SDK for Python e scarica le app di esempio sul tuo dispositivo.

    Sul dispositivo, esegui questi comandi.

    cd ~ python3 -m pip install awsiotsdk
    git clone https://github.com/aws/aws-iot-device-sdk-python-v2.git
JavaScript

In questa sezione, installerai Node.js, il gestore di pacchetti npm e AWS IoT Device SDK for JavaScript sul tuo dispositivo. Queste istruzioni sono per un Raspberry Pi che esegue il sistema operativo Raspberry Pi. Se disponi di un altro dispositivo o utilizzi un altro sistema operativo, potrebbe essere necessario adattare queste istruzioni per il dispositivo.

  1. Installare la versione più recente di Node.js

    Il AWS IoT dispositivo SDK per JavaScript richiede l'installazione di Node.js e del gestore di pacchetti npm sul tuo Raspberry Pi.

    1. Scarica la versione più recente del repository Node immettendo questo comando.

      cd ~ curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
    2. Installa Node e npm.

      sudo apt-get install -y nodejs
    3. Verifica l'installazione di Node.

      node -v

      Verifica che il comando visualizzi la versione di Node. Questo tutorial richiede Node 10.0 o versioni successive. Se la versione di Node non viene visualizzata, prova a scaricare di nuovo il repository di Node.

    4. Verifica l'installazione di npm.

      npm -v

      Conferma che il comando visualizzi la versione di npm. Se la versione npm non viene visualizzata, provare a installare nuovamente Node e npm.

    5. Riavviare il dispositivo.

      sudo shutdown -r 0

      Continua dopo il riavvio del dispositivo.

  2. Installa il dispositivo per AWS IoT SDK JavaScript

    Installa il AWS IoT dispositivo SDK per JavaScript sul tuo Raspberry Pi.

    1. Clona il AWS IoT dispositivo SDK per il JavaScript repository nella directory del aws-iot-device-sdk-js-v2 tuo home rubrica. Sul Raspberry Pi, home la directory è~/, che viene utilizzata come home directory nei seguenti comandi. Se il dispositivo utilizza un percorso diverso per home la directory, è necessario sostituirla ~/ con il percorso corretto per il dispositivo nei seguenti comandi.

      Questi comandi creano la ~/aws-iot-device-sdk-js-v2 directory e vi copiano il SDK codice.

      cd ~ git clone https://github.com/aws/aws-iot-device-sdk-js-v2.git
    2. Passa alla aws-iot-device-sdk-js-v2 directory che hai creato nel passaggio precedente ed esegui npm install SDK per installare. Il comando npm install chiama la compilazione della libreria aws-crt, operazione che può richiedere alcuni minuti.

      cd ~/aws-iot-device-sdk-js-v2 npm install

Installazione ed esecuzione dell'applicazione di esempio

In questa sezione, installerai ed eseguirai l'app di pubsub esempio che si trova nel AWS IoT dispositivoSDK. Questa app mostra come il dispositivo utilizza la MQTT libreria per pubblicare e iscriversi ai MQTT messaggi. L'app di esempio sottoscrive un argomento topic_1, pubblica 10 messaggi in tale argomento e visualizza i messaggi ricevuti dal broker di messaggi.

Installazione dei file di certificato

L'app di esempio richiede i file di certificato che autenticano il dispositivo da installare sul dispositivo.

Per installare i file di certificato del dispositivo per l'app di esempio
  1. Crea una certs sottodirectory nella tua home directory eseguendo questi comandi.

    cd ~ mkdir certs
  2. Copia nella directory ~/certs il certificato, la chiave privata e il certificato CA root creato precedentemente in Crea AWS IoT risorse.

    La modalità di copia dei file di certificato sul dispositivo dipende dal dispositivo e dal sistema operativo e non è descritto qui. Tuttavia, se il dispositivo supporta un'interfaccia utente grafica (GUI) e dispone di un browser Web, è possibile eseguire la procedura descritta in Crea AWS IoT risorse dal browser Web del dispositivo per scaricare i file risultanti direttamente sul dispositivo.

    I comandi della sezione successiva presuppongono che i file di chiave e certificato siano memorizzati sul dispositivo, come illustrato in questa tabella.

    Nomi dei file dei certificati

    File

    Percorso del file

    Un certificato emesso da una CA root

    ~/certs/Amazon-root-CA-1.pem

    Certificato del dispositivo

    ~/certs/device.pem.crt

    Chiave privata

    ~/certs/private.pem.key

Per eseguire l'app di esempio sono necessarie le seguenti informazioni:

Valori dei parametri dell'applicazione

Parametro

Dove trovare il valore

your-iot-endpoint

Nella console AWS IoT, scegli All devices (Tutti i dispositivi) e quindi Things (Oggetti).

Nella pagina Impostazioni del AWS IoT menu. L'endpoint viene visualizzato nella sezione Device data endpoint (Endpoint dei dati del dispositivo).

Il your-iot-endpoint il valore ha il formato:endpoint_id-ats.iot.region.amazonaws.com, ad esempio,a3qj468EXAMPLE-ats.iot.us-west-2.amazonaws.com.

Python
Per installare ed eseguire l'app di esempio
  1. Passa alla directory delle app di esempio.

    cd ~/aws-iot-device-sdk-python-v2/samples
  2. Nella finestra della riga di comando, sostituisci your-iot-endpoint come indicato ed esegui questo comando.

    python3 pubsub.py --topic topic_1 --ca_file ~/certs/Amazon-root-CA-1.pem --cert ~/certs/device.pem.crt --key ~/certs/private.pem.key --endpoint your-iot-endpoint
  3. Osserva che l'applicazione di esempio:

    1. Si connette al AWS IoT servizio del tuo account.

    2. Sottoscrive l'argomento del messaggio topic_1 e visualizza i messaggi ricevuti su tale argomento.

    3. Pubblica 10 messaggi su questo argomento topic_1.

    4. L'output sia simile a quello riportato di seguito:

    Connecting to a3qEXAMPLEffp-ats.iot.us-west-2.amazonaws.com with client ID 'test-0c8ae2ff-cc87-49d2-a82a-ae7ba1d0ca5a'... Connected! Subscribing to topic 'topic_1'... Subscribed with QoS.AT_LEAST_ONCE Sending 10 message(s) Publishing message to topic 'topic_1': Hello World! [1] Received message from topic 'topic_1': b'Hello World! [1]' Publishing message to topic 'topic_1': Hello World! [2] Received message from topic 'topic_1': b'Hello World! [2]' Publishing message to topic 'topic_1': Hello World! [3] Received message from topic 'topic_1': b'Hello World! [3]' Publishing message to topic 'topic_1': Hello World! [4] Received message from topic 'topic_1': b'Hello World! [4]' Publishing message to topic 'topic_1': Hello World! [5] Received message from topic 'topic_1': b'Hello World! [5]' Publishing message to topic 'topic_1': Hello World! [6] Received message from topic 'topic_1': b'Hello World! [6]' Publishing message to topic 'topic_1': Hello World! [7] Received message from topic 'topic_1': b'Hello World! [7]' Publishing message to topic 'topic_1': Hello World! [8] Received message from topic 'topic_1': b'Hello World! [8]' Publishing message to topic 'topic_1': Hello World! [9] Received message from topic 'topic_1': b'Hello World! [9]' Publishing message to topic 'topic_1': Hello World! [10] Received message from topic 'topic_1': b'Hello World! [10]' 10 message(s) received. Disconnecting... Disconnected!

    In caso di problemi nell'esecuzione dell'app di esempio, consulta Risolvi i problemi con l'applicazione di esempio.

    È inoltre possibile aggiungere il parametro --verbosity Debug alla riga di comando in modo che l'app di esempio visualizzi messaggi dettagliati su ciò che sta facendo. Tali informazioni potrebbero fornirti l'aiuto necessario per risolvere il problema.

JavaScript
Per installare ed eseguire l'app di esempio
  1. Nella finestra della riga di comando, accedi alla ~/aws-iot-device-sdk-js-v2/samples/node/pub_sub directory che hai SDK creato e installa l'app di esempio utilizzando questi comandi. Il comando npm install chiama la compilazione della libreria aws-crt, operazione che può richiedere alcuni minuti.

    cd ~/aws-iot-device-sdk-js-v2/samples/node/pub_sub npm install
  2. Nella finestra della riga di comando, sostituisci your-iot-endpoint come indicato ed esegui questo comando.

    node dist/index.js --topic topic_1 --ca_file ~/certs/Amazon-root-CA-1.pem --cert ~/certs/device.pem.crt --key ~/certs/private.pem.key --endpoint your-iot-endpoint
  3. Osserva che l'applicazione di esempio:

    1. Si connette al AWS IoT servizio del tuo account.

    2. Sottoscrive l'argomento del messaggio topic_1 e visualizza i messaggi ricevuti su tale argomento.

    3. Pubblica 10 messaggi su questo argomento topic_1.

    4. L'output sia simile a quello riportato di seguito:

    Publish received on topic topic_1 {"message":"Hello world!","sequence":1} Publish received on topic topic_1 {"message":"Hello world!","sequence":2} Publish received on topic topic_1 {"message":"Hello world!","sequence":3} Publish received on topic topic_1 {"message":"Hello world!","sequence":4} Publish received on topic topic_1 {"message":"Hello world!","sequence":5} Publish received on topic topic_1 {"message":"Hello world!","sequence":6} Publish received on topic topic_1 {"message":"Hello world!","sequence":7} Publish received on topic topic_1 {"message":"Hello world!","sequence":8} Publish received on topic topic_1 {"message":"Hello world!","sequence":9} Publish received on topic topic_1 {"message":"Hello world!","sequence":10}

    In caso di problemi nell'esecuzione dell'app di esempio, consulta Risolvi i problemi con l'applicazione di esempio.

    È inoltre possibile aggiungere il parametro --verbosity Debug alla riga di comando in modo che l'app di esempio visualizzi messaggi dettagliati su ciò che sta facendo. Tali informazioni potrebbero fornirti l'aiuto necessario per risolvere il problema.

Visualizza i messaggi dell'app di esempio nella AWS IoT console

Puoi vedere i messaggi dell'app di esempio mentre passano attraverso il broker di messaggi utilizzando il client di MQTT test nella AWS IoT console.

Per visualizzare i MQTT messaggi pubblicati dall'app di esempio
  1. Verificare Visualizza MQTT i messaggi con il AWS IoT MQTT client. Questo ti aiuta a imparare a utilizzare il client di MQTT test nella AWS IoT console per visualizzare MQTT i messaggi mentre passano attraverso il broker di messaggi.

  2. Apri il client di MQTT test nella AWS IoT console.

  3. Effettua la sottoscrizione all'argomento topic_1.

  4. Nella finestra della riga di comando, esegui nuovamente l'app di esempio e guarda i messaggi nel MQTTclient nella AWS IoT console.

    Python
    cd ~/aws-iot-device-sdk-python-v2/samples python3 pubsub.py --topic topic_1 --ca_file ~/certs/Amazon-root-CA-1.pem --cert ~/certs/device.pem.crt --key ~/certs/private.pem.key --endpoint your-iot-endpoint
    JavaScript
    cd ~/aws-iot-device-sdk-js-v2/samples/node/pub_sub node dist/index.js --topic topic_1 --ca_file ~/certs/Amazon-root-CA-1.pem --cert ~/certs/device.pem.crt --key ~/certs/private.pem.key --endpoint your-iot-endpoint