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.
Demuestre la publicación de mensajes con el cliente AWS IoT del dispositivo
Los procedimientos de esta sección muestran cómo el cliente del AWS IoT dispositivo puede enviar mensajes MQTT predeterminados y personalizados.
Estas declaraciones en la política que ha creado en el paso anterior para estos ejercicios dan permiso a la Raspberry Pi para realizar estas acciones:
-
iot:Connect
Proporciona el nombre del cliente
PubSubTestThing
, su Raspberry Pi que ejecuta el AWS IoT Device Client, para conectarse.{ "Effect": "Allow", "Action": [ "iot:Connect" ], "Resource": [ "arn:aws:iot:us-west-2:57EXAMPLE833:client/PubSubTestThing" ] }
-
iot:Publish
Dar permiso a la Raspberry Pi para publicar mensajes con un tema de MQTT de
test/dc/pubtopic
.{ "Effect": "Allow", "Action": [ "iot:Publish" ], "Resource": [ "arn:aws:iot:us-west-2:57EXAMPLE833:topic/test/dc/pubtopic" ] }
La acción
iot:Publish
da permiso para publicar en los temas de MQTT que figuran en la matriz de recursos. El contenido de esos mensajes no está controlado por la declaración de política.
Publicar el mensaje predeterminado mediante AWS IoT Device Client
Este procedimiento ejecuta el cliente del AWS IoT dispositivo para publicar un único mensaje MQTT predeterminado que el cliente de prueba MQTT recibe y muestra.
Para enviar el mensaje MQTT predeterminado desde el cliente del dispositivo AWS IoT
-
Asegúrese de que tanto la ventana del terminal de su ordenador host local conectada a su Raspberry Pi como la ventana con el cliente de prueba de MQTT estén visibles mientras realiza este procedimiento.
-
En la ventana del terminal, introduzca estos comandos para ejecutar el AWS IoT Device Client mediante el archivo de configuración creado enCrear el archivo de configuración.
cd ~/aws-iot-device-client/build ./aws-iot-device-client --config-file ~/dc-configs/dc-pubsub-config.json
En la ventana del terminal, el cliente del AWS IoT dispositivo muestra los mensajes de información y cualquier error que se produzca durante su ejecución.
Si no se muestra ningún error en la ventana del terminal, revise el cliente de prueba de MQTT.
-
En el cliente de prueba de MQTT, en la ventana Suscripciones, consulte el mensaje Hello World! enviado al tema del mensaje
test/dc/pubtopic
. -
Si el cliente del AWS IoT dispositivo no muestra ningún error y aparece Hello World! enviado al
test/dc/pubtopic
mensaje en el cliente de prueba de MQTT, ha demostrado que la conexión se ha realizado correctamente. -
En la ventana del terminal, introduzca
^C
(Ctrl-C) para detener el cliente del AWS IoT dispositivo.
Una vez que haya demostrado que el cliente del AWS IoT dispositivo publicó el mensaje MQTT predeterminado, puede continuar con el. Publicación de un mensaje personalizado con AWS IoT Device Client
Publicación de un mensaje personalizado con AWS IoT Device Client
Los procedimientos de esta sección crean un mensaje de MQTT personalizado y, a continuación, ejecutan AWS IoT Device Client para publicar el mensaje de MQTT personalizado una vez para que el cliente de prueba de MQTT lo reciba y lo muestre.
Cree un mensaje MQTT personalizado para el cliente del dispositivo AWS IoT
Realice estos pasos en la ventana del terminal del ordenador host local que está conectado a su Raspberry Pi.
Para crear un mensaje personalizado para que el cliente del AWS IoT dispositivo lo publique
-
En la ventana del terminal, abra un editor de texto, por ejemplo,
nano
. -
En el editor de texto, copie y pegue el siguiente documento JSON. Esta será la carga útil de mensajes MQTT que publique el cliente del AWS IoT dispositivo.
{ "temperature": 28, "humidity": 80, "barometer": 1013, "wind": { "velocity": 22, "bearing": 255 } }
-
Guarde el contenido del editor de texto como
~/messages/sample-ws-message.json
. -
Introduzca el siguiente comando para configurar los permisos del archivo de mensaje que acaba de crear.
chmod 600 ~/messages/*
Crear un archivo de configuración para que el cliente del AWS IoT dispositivo lo utilice para enviar el mensaje personalizado
-
En la ventana del terminal, en un editor de texto como
nano
, por ejemplo, abra el archivo de configuración de AWS IoT Device Client existente:~/dc-configs/dc-pubsub-config.json
. -
Edita el objeto de
samples
para que tenga este aspecto. No es necesario cambiar ninguna otra parte de este archivo."samples": { "pub-sub": { "enabled": true, "publish-topic": "test/dc/pubtopic", "publish-file": "
~/messages/sample-ws-message.json
", "subscribe-topic": "test/dc/subtopic", "subscribe-file": "~/.aws-iot-device-client/log/pubsub_rx_msgs.log" -
Guarde el contenido del editor de texto como
~/dc-configs/dc-pubsub-custom-config.json
. -
Ejecute este comando para establecer los permisos en el nuevo archivo de configuración.
chmod 644 ~/dc-configs/dc-pubsub-custom-config.json
Publique el mensaje MQTT personalizado mediante el AWS IoT Device Client
Este cambio afecta únicamente al contenido de la carga del mensaje de MQTT, por lo que la política actual seguirá funcionando. Sin embargo, si se cambiara el tema de MQTT (tal como lo define el valor publish-topic
en ~/dc-configs/dc-pubsub-custom-config.json
), también habría que modificar la declaración de política de iot::Publish
para permitir que la Raspberry Pi publique en el nuevo tema de MQTT.
Para enviar el mensaje MQTT desde el cliente del dispositivo AWS IoT
-
Asegúrese de que tanto la ventana del terminal como la ventana con el cliente de prueba de MQTT estén visibles mientras realiza este procedimiento. Además, verifique que su cliente de prueba de MQTT siga suscrito al filtro de temas #. Si no lo está, vuelva a suscribirse al filtro de temas #.
-
En la ventana del terminal, introduzca estos comandos para ejecutar AWS IoT Device Client mediante el archivo de configuración creado en Crear el archivo de configuración.
cd ~/aws-iot-device-client/build ./aws-iot-device-client --config-file ~/dc-configs/dc-pubsub-custom-config.json
En la ventana del terminal, el cliente del AWS IoT dispositivo muestra los mensajes de información y cualquier error que se produzca durante su ejecución.
Si no se muestra ningún error en la ventana del terminal, revise el cliente de prueba de MQTT.
-
En el cliente de prueba de MQTT, en la ventana Suscripciones, observe la carga del mensaje personalizado enviado al tema del mensaje
test/dc/pubtopic
. -
Si el cliente del AWS IoT dispositivo no muestra ningún error y usted ve la carga útil del mensaje personalizado que publicó en el
test/dc/pubtopic
mensaje en el cliente de prueba de MQTT, el mensaje personalizado se ha publicado correctamente. -
En la ventana del terminal, introduzca
^C
(Ctrl-C) para detener el cliente del dispositivo. AWS IoT
Una vez que hayas demostrado que el cliente del AWS IoT dispositivo publicó una carga de mensajes personalizada, puedes continuar haciéndolo. Demuestre la suscripción a los mensajes con el cliente del dispositivo AWS IoT