Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
En esta sección, configuraremos una Raspberry Pi para usarla con AWS IoT. Si tiene otro dispositivo que gustaría conectar, las instrucciones de la Raspberry Pi incluyen referencias que pueden ayudarlo a adaptar estas instrucciones a otros dispositivos.
Normalmente se tarda unos 20 minutos, pero puede tardar más si tiene que instalar muchas actualizaciones del software del sistema.
En este tutorial, recorrerá los siguientes pasos:
importante
Adaptar estas instrucciones a otros dispositivos y sistemas operativos puede resultar difícil. Deberás entender el dispositivo lo suficientemente bien como para poder interpretar estas instrucciones y aplicarlas al dispositivo.
Si tienes dificultades al configurar tu dispositivo AWS IoT, puedes probar una de las otras opciones del dispositivo como alternativa, como Crea un dispositivo virtual con Amazon EC2 oUtilice su PC o Mac con Windows o Linux como dispositivo AWS IoT.
Configuración del dispositivo
El objetivo de este paso es recopilar todo lo necesario para configurar su dispositivo de forma que pueda iniciar el sistema operativo (SO), conectarse a internet y permitirle interactuar con ella en una interfaz de línea de comandos.
Necesitará lo siguiente para completar este tutorial:
-
Y Cuenta de AWS. Si no la tiene, complete los pasos que se describen en Configurar Cuenta de AWS antes de continuar.
-
Una Raspberry Pi 3 Modelo B
o un modelo más reciente. Esto podría funcionar en versiones anteriores de Raspberry Pi, pero no se han probado. -
Sistema operativo Raspberry Pi (32 bits)
o posterior. Recomendamos utilizar la última versión del sistema operativo Raspberry Pi. Esto podría funcionar en versiones anteriores de Raspberry Pi, pero no se han probado. Para ejecutar este ejemplo, no necesita instalar el escritorio con la interfaz gráfica de usuario (GUI); sin embargo, si es la primera vez que utiliza Raspberry Pi y su hardware de Raspberry Pi lo admite, utilizar el escritorio con la GUI puede resultar más fácil.
-
Una WiFi conexión Ethernet o.
-
Teclado, ratón, monitor, cables, fuentes de alimentación y demás hardware que necesite el dispositivo.
importante
Antes de continuar con el siguiente paso, el sistema operativo del dispositivo debe estar instalado, configurado y en funcionamiento. El dispositivo debe estar conectado a internet y deberá poder acceder al dispositivo mediante su interfaz de línea de comandos. El acceso a través de la línea de comandos se puede realizar mediante un teclado, un ratón y un monitor conectados directamente, o mediante una interfaz remota de terminal SSH.
Si utiliza un sistema operativo en la Raspberry Pi que tiene una interfaz gráfica de usuario (GUI), abra una ventana del terminal en el dispositivo y siga estas instrucciones en la ventana. De lo contrario, si se conecta al dispositivo mediante un terminal remoto, como PuTTY, abra un terminal remoto en el dispositivo y úselo.
Instale las herramientas y bibliotecas necesarias para el SDK del AWS IoT dispositivo
Antes de instalar el SDK del AWS IoT dispositivo y el código de muestra, asegúrese de que el sistema esté actualizado y de que disponga de las herramientas y bibliotecas necesarias para instalarlo SDKs.
-
Actualizar el sistema operativo e instalar las bibliotecas necesarias
Antes de instalar un SDK para AWS IoT dispositivos, ejecuta estos comandos en una ventana de terminal del dispositivo para actualizar el sistema operativo e instalar las bibliotecas necesarias.
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install cmake
sudo apt-get install libssl-dev
-
Instalar Git
Si el sistema operativo de tu dispositivo no incluye Git instalado, debes instalarlo para instalar el SDK del AWS IoT dispositivo JavaScript.
-
Ejecute este comando para comprobar si Git ya está instalado.
git --version
-
Si el comando anterior devuelve la versión de Git, significa que Git ya está instalado y puede ir directamente al paso 3.
-
Si aparece un error al ejecutar el comando git, instale Git ejecutando este comando.
sudo apt-get install git
-
Ejecute este comando para volver a comprobar si Git está instalado.
git --version
-
Si Git está instalado, vaya a la siguiente sección. Si no es así, solucione el problema y corrija el error antes de continuar. Necesitas Git para instalar el SDK del AWS IoT dispositivo JavaScript.
-
Instala AWS IoT el SDK del dispositivo
Instale el SDK AWS IoT del dispositivo.
En esta sección, instalará Python, sus herramientas de desarrollo y el SDK de AWS IoT dispositivos para Python en su dispositivo. Estas instrucciones son para una Raspberry Pi que ejecute la versión más reciente del sistema operativo Raspberry Pi. Si tiene otro dispositivo o utiliza otro sistema operativo, es posible que tenga que adaptar estas instrucciones a su dispositivo.
-
Instalar Python y sus herramientas de desarrollo
El SDK de AWS IoT dispositivo para Python requiere que Python v3.5 o posterior esté instalado en tu Raspberry Pi.
En una ventana del terminal de su dispositivo, ejecute estos comandos.
-
Ejecute este comando para determinar la versión de Python instalada en el dispositivo.
python3 --version
Si Python está instalado, mostrará su versión.
-
Si la versión que se muestra es
Python 3.5
o superior, puede ir directamente al paso 2. -
Si la versión que se muestra es inferior a
Python 3.5
, puede instalar la versión correcta ejecutando este comando.sudo apt install python3
-
Ejecute este comando para confirmar que ahora está instalada la versión correcta de Python.
python3 --version
-
-
Prueba de pip3
En una ventana del terminal de su dispositivo, ejecute estos comandos.
-
Ejecute este comando para comprobar si pip3 está instalado.
pip3 --version
-
Si el comando devuelve un número de versión, significa que pip3 está instalado y puede ir al paso 3.
-
Si el comando anterior devuelve un error, ejecute este comando para instalar pip3.
sudo apt install python3-pip
-
Ejecute este comando para comprobar si pip3 está instalado.
pip3 --version
-
-
Instalar el SDK de AWS IoT dispositivo actual para Python
Instala el SDK de AWS IoT dispositivos para Python y descarga las aplicaciones de muestra en tu dispositivo.
En el dispositivo, ejecute estos comandos.
cd ~ python3 -m pip install awsiotsdk
git clone https://github.com/aws/aws-iot-device-sdk-python-v2.git
Instalar y ejecutar la aplicación de ejemplo
En esta sección, instalarás y ejecutarás la aplicación de pubsub
muestra que se encuentra en el SDK del AWS IoT dispositivo. Esta aplicación muestra cómo su dispositivo utiliza la biblioteca de MQTT para publicar y suscribirse a mensajes MQTT. La aplicación de ejemplo se suscribe a un tema, topic_1
, publica 10 mensajes sobre ese tema y muestra los mensajes tal como los recibe del agente de mensajes.
Instalar los archivos de certificado
La aplicación de ejemplo requiere que los archivos de certificado que autentican el dispositivo estén instalados en el dispositivo.
Para instalar los archivos de certificado del dispositivo para la aplicación de ejemplo
-
Crea un
certs
subdirectorio en tuhome
directorio ejecutando estos comandos.cd ~ mkdir certs
-
En el directorio
~/certs
, copie la clave privada, el certificado de entidad de certificación del dispositivo y el certificado de entidad de certificación raíz que creó anteriormente en Crea AWS IoT recursos.La forma de copiar los archivos de certificado en el dispositivo depende del dispositivo y del sistema operativo, y no se describe aquí. Sin embargo, si el dispositivo admite una interfaz gráfica de usuario (GUI) y tiene un navegador web, puede realizar el procedimiento descrito en Crea AWS IoT recursos en el navegador web del dispositivo para descargar los archivos resultantes directamente al dispositivo.
Los comandos de la siguiente sección suponen que los archivos de clave y certificado se almacenan en el dispositivo como se muestra en esta tabla.
Nombres de archivo de certificado Archivos
Ruta de archivo
Certificado de entidad de certificación raíz
~/certs/Amazon-root-CA-1.pem
Certificado de dispositivo
~/certs/device.pem.crt
Clave privada
~/certs/private.pem.key
Para ejecutar la aplicación de ejemplo, necesita la siguiente información:
Parámetro |
Dónde encontrar el valor |
---|---|
your-iot-endpoint |
En la consola de AWS IoT En la página Configuración del menú de AWS IoT . Su punto de conexión aparece en la sección Punto de enlace de datos de dispositivo. |
El your-iot-endpoint
valor tiene el formato:
, por ejemplo,endpoint_id
-ats.iot.region
.amazonaws.coma3qj468EXAMPLE-ats.iot.us-west-2.amazonaws.com
.
Para instalar y ejecutar la aplicación de ejemplo
-
Navegue hasta el directorio de la aplicación de ejemplo.
cd ~/aws-iot-device-sdk-python-v2/samples
-
En la ventana de la línea de comandos,
your-iot-endpoint
sustituya como se indica y ejecute este 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
-
Observe que la aplicación de ejemplo:
-
Se conecta al AWS IoT servicio de su cuenta.
-
Se suscribe al tema de mensaje, topic_1, y muestra los mensajes que recibe sobre ese tema.
-
Publica 10 mensajes sobre el tema, topic_1.
-
Muestra una salida similar a la siguiente:
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!
Si tiene problemas para ejecutar la aplicación de ejemplo, revise Solución de problemas con la aplicación de ejemplo.
También puede agregar el parámetro
--verbosity Debug
a la línea de comandos para que la aplicación de ejemplo muestre mensajes detallados sobre lo que está haciendo. Esa información podría proporcionarle la ayuda que necesita para corregir el problema. -
Vea los mensajes de la aplicación de ejemplo en la AWS IoT consola
Puede ver los mensajes de la aplicación de ejemplo a medida que pasan por el agente de mensajes mediante el cliente de prueba de MQTT de la consola de AWS IoT .
Para ver los mensajes MQTT publicados por la aplicación de ejemplo
-
Consulte Vea los mensajes MQTT con el cliente AWS IoT MQTT. Esto le ayudará a aprender a utilizar el cliente de prueba de MQTT de la consola de AWS IoT para ver los mensajes MQTT a medida que pasan por el agente de mensajes.
-
Abra el cliente de prueba de MQTT en la consola de AWS IoT .
-
Para suscribirse al tema topic_1.
-
En su ventana de línea de comandos, ejecute de nuevo la aplicación de ejemplo y observe los mensajes del cliente MQTT en la consola de AWS IoT .
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