Contenido


Convierta su teléfono inteligente en un dispositivo IoT

Cree aplicaciones de IBM Cloud para procesar, visualizar y almacenar los datos de los sensores que se envían y reciben en su teléfono inteligente.

Comments

Este tutorial muestra cómo se pueden enviar los datos de sensores que se generan en su teléfono inteligente al servicio IBM Watson IoT Platform que está hospedado en la nube y, después, cómo crear en IBM Cloud aplicaciones de Cloud Foundry que procesen, visualicen y almacenen los datos. Finalmente, le muestra cómo crear una aplicación de Android para instalarla en un teléfono inteligente.

Esta es una visión general de la arquitectura:

Chart showing architecture of solution
Chart showing architecture of solution

Lo que necesitará para crear sus aplicaciones


 

1

Cree una aplicación de IoT en IBM Cloud

El boilerplate de Internet of Things Platform Starter contiene un motor de Node-RED que usted utilizará más tarde para procesar los mensajes de IoT. Por ahora, usted necesitará un servicio de Internet de las Cosas para enviar y recibir mensajes MQTT hacia y desde IBM Watson IoT Platform.

  1. Inicie sesión en su cuenta de IBM Cloud.
  2. Haga clic en Crear Recurso.
  3. En el Catálogo, debajo de Plataforma, haga clic en Internet of Things Platform Starter.
  4. Ingrese un nombre para su aplicación. Ese nombre debe ser único dentro de IBM Cloud, por ejemplo, "iot<su nombre>", porque ese nombre también se utiliza como nombre del host. Por ejemplo, yo podría usar iottutorialdaniel.Screen capture of the Create an app dialog
    Screen capture of the Create an app dialog
  5. Haga clic en Crear.
  6. Después de que se haya creado la aplicación, haga clic en Visión general del panel de la izquierda. Observe que su aplicación contiene dos conexiones, una con una base de datos Cloudant NoSQL y otra con un servicio de Internet of Things Platform.
2

Añada el dispositivo que enviará los mensajes MQTT hacia Watson IoT Platform

  1. En la vista Visión general de su aplicación, bajo Conexiones, haga clic en el servicio Internet of Things Platform, que tiene un nombre parecido a iot<su nombre>-iotf-service. Screen capture that shows connections
    Screen capture that shows connections
  2. Haga clic en Lanzar para abrir el panel de instrumentos de Watson IoT Platform. Screen capture that shows the service page with the                              Launch dashboard button highlighted
    Screen capture that shows the service page with the Launch dashboard button highlighted

    Se mostrará el panel de instrumentos de IBM Watson IoT Platform, que es un servicio que es independiente de IBM Cloud. A su aplicación se le asigna un ID de organización, que usted necesitará más tarde para desarrollar la aplicación móvil. En la siguiente imagen, el ID de la organización es mgso1i, que se muestra bajo la información del inicio de sesión de la esquina superior derecha del panel de instrumentos.

    Screen capture of the service on the IBM Internet of                             Things Platform server and the organization ID highlighted
    Screen capture of the service on the IBM Internet of Things Platform server and the organization ID highlighted
  3. En el menú de la izquierda, que aparece cuando se pasa el ratón por encima de él, haga clic en Dispositivos. Después, haga clic en Añada un tipo de dispositivo. Dentro de su organización puede tener varios tipos de dispositivos, y cada uno puede tener varios dispositivos. Un tipo de dispositivo es un grupo de dispositivos que comparten las mismas características; por ejemplo, pueden brindar los mismos datos de los sensores. En nuestro caso, el nombre del tipo de dispositivo debe ser "Android" (este nombre del tipo de dispositivo es exigido por la aplicación que usted usará más tarde).Screen capture of the Create Device Type dialog
    Screen capture of the Create Device Type dialog
  4. Haga clic en Siguiente. Se muestra una página en la que usted puede ingresar metadatos acerca del tipo de dispositivo, como el número de serie o el modelo. Para esta demostración usted no tiene la obligación de especificar esta información. Simplemente haga clic en Hecho.
  5. Haga clic en Registrar Dispositivos. Ingrese el ID del dispositivo. El ID del dispositivo puede ser, por ejemplo, la dirección MAC de su teléfono inteligente. Sin embargo, sólo debe ser única dentro de su organización. Por lo tanto, usted puede hacer como yo e introducir algo como "112233445566".
  6. Haga clic en Siguiente. Se muestra una página en la que usted podría ingresar metadatos acerca del tipo de dispositivo. Déjela en blanco y haga clic en Siguiente.
  7. Proporcione un valor para el token de autenticación. Apunte este valor para después. Después, haga clic en Siguiente.Screen capture showing authentication token
    Screen capture showing authentication token
  8. Haga clic en Hecho.
  9. Haga clic en Atrás.

Ahora está listo para enviar mensajes MQTT desde un dispositivo hacia IBM Watson IoT Platform.

3

Instalar y configurar la aplicación Android

Usted utilizará la aplicación IoT Starter for Android para leer y enviar datos del sensor de su teléfono inteligente. El código de origen y la documentación de la aplicación están en el proyecto iot-starter-for-android de GitHub.

Si usted tiene experiencia en el desarrollo de Android, puede descargar el código de GitHub, importarlo a su entorno de desarrollo de Android, y después construir el archivo apk. En caso contrario, para instalar y ejecutar la aplicación rápidamente, siga estos pasos.

Nota: El archivo .apk está compilado para la versión 5.0.1 de Android, pero se ha probado en Android 6 y funciona. Si usted tiene instalada una versión anterior de esta aplicación, tiene que desinstalarla antes de instalar esta.

  1. En su teléfono, vaya a Ajustes > Garantía. Bajo Administración del Dispositivo, active los Orígenes desconocidos. Ahora puede instalar archivos .apk desde fuera de Google Play.
  2. Abra el navegador de su teléfono e ingrese este URL:

    https://github.com/deveops/iot-starter-for-android/releases

    Screen capture that shows the .apk file in a browser                             window to download and install
  3. Busque el enlace de iotstarter-v2.1.0.apk , y haga clic en él para descargar el archivo .apk.
  4. Haga clic en el archivo que se ha descargado, y confirme que quiere instalar la aplicación. Screen capture showing apk file

    La aplicación IoT Starter ya está instalada en su dispositivo Android.

Después, usted tiene que configurar su aplicación de Android.

  1. Inicie la aplicación IoT Starter.
  2. Haga clic en Saltar tutorial.
  3. Ingrese los siguientes parámetros:
    • Organización: El ID de la organización que se mostraba en el servidor de IBM IoT (al inicio de "Añada el dispositivo que enviará los mensajes MQTT hacia Watson IoT Platform"). Por ejemplo, mgso1i de este tutorial.
    • ID del Dispositivo: El ID del dispositivo que usted configuró, al final de "Añada el dispositivo que enviará los mensajes MQTT hacia Watson IoT Platform." Por ejemplo, " "112233445566" de este tutorial.
    • Token de Autorización : El token de autorización que usted especificó en "Añada el dispositivo que enviará los mensajes MQTT hacia Watson IoT Platform."
    • Seleccione Usar SSL.
    Screen capture that shows the configuration parameters                             for your Android app
    Screen capture that shows the configuration parameters for your Android app
  4. Haga clic en Activar Sensor. Ahora la aplicación recopila datos del sensor de aceleración de su teléfono inteligente y los envía al servidor IBM IoT. La aplicación muestra los datos del acelerómetro y el número de mensajes que se han publicado o recibido. Screen capture of the accelerometer data from the running                             Android app
    Screen capture of the accelerometer data from the running Android app
4

Verifique que los mensajes se están enviando desde el teléfono inteligente hacia Watson IoT Platform

  1. De regreso a su computadora, vuelva a abrir la página IBM Watson IoT Platform de su organización (vea el inicio de Añada el dispositivo que enviará los mensajes MQTT hacia Watson IoT Platform).
  2. En el menú izquierdo, haga clic en Dispositivos. Se está mostrando su dispositivo Android. Screen capture of the Devices tab that lists the Android device
    Screen capture of the Devices tab that lists the Android device
  3. Haga clic en el ID del Dispositivo, y después vaya a la pestaña Eventos Recientes. Usted debería ver los eventos que llegan desde su teléfono inteligente.
  4. Haga clic en uno de los eventos. Los mensajes que se envían desde su teléfono inteligente están en formato JSON. Contienen datos de aceleración y posición.Screen capture that shows the pop-up window with the incoming                              messages from the Android device
    Screen capture that shows the pop-up window with the incoming messages from the Android device

Ya está listo para trabajar en IBM Cloud con los datos de los mensajes.

5

Procesar mensajes en un flujo de Node-RED

En esta sección usted mejorará su aplicación de IBM Cloud IoT mediante la utilización de un flujo de Node-RED para procesar los mensajes desde su teléfono inteligente, y después enviará los mensajes de vuelta a su teléfono inteligente. El teléfono reaccionará a esos mensajes cambiando el color de fondo de la aplicación.

  1. Abra su panel de instrumentos de IBM Cloud (vaya a bluemix.net y haga clic en Panel de instrumentos.
  2. En su panel de instrumentos de IBM Cloud, verifique que su aplicación IBM Cloud IoT (la que ha creado en el Paso 1) esté funcionario.
  3. Abra en un navegador <el nombre de su aplicación>.mybluemix.net, donde <el nombre de su aplicación> es el nombre de su aplicación IoT. Siga los pasos del asistente para seleccionar el nombre de usuario y la contraseña para el editor de Node-RED.
  4. En la página de Node-RED para su aplicación de IoT, haga clic en Vaya a su editor de flujos de Node-RED. El editor se abre mostrando un flujo de ejemplo.Screen capture showing sample flow
    Screen capture showing sample flow
  5. Si utiliza las funciones de arrastrar y soltar de este editor podrá formar un flujo de mensajes. Aunque puede crear su propio flujo aquí, importaremos el código siguiente. Pero antes, seleccione todos los nodos existentes y bórrelos pulsando la tecla Suprimir.
  6. Descargue el siguiente código (como una línea de código larga y única) como un archivo de texto (nodeRedCode.txt) de GitHub.
  7. Abra el archivo en un editor de texto. Asegúrese de que todo el código está en una única línea. Elimine los saltos de línea. Copie la línea de código.
  8. En el editor de Node-RED, pulse Ctrl-I para abrir el diálogo de Importar Nodos. Pegue el código, y haga clic en OK.Screen capture of the Import Nodes dialog
    Screen capture of the Import Nodes dialog
  9. Ahora tiene que adaptar el flujo a sus parámetros específicos. El único parámetro relevante es el ID del Dispositivo. Haga doble clic en el nodo salida de IBM IoT App. En la ventana emergente, ingrese el ID del Dispositivo que usted utilizó antes (por ejemplo, 112233445566), y haga clic en Importar.
  10. Haga clic en Desplegar en el editor de flujos. El flujo se despliega y debería activarse inmediatamente.
  11. Mueva su teléfono inteligente en círculos; gírelo y agítelo. El color de fondo de la aplicación de su teléfono debería cambiar de color dependiendo de la orientación del eje-z.
  12. En el editor de Node-RED, haga clic en el rectángulo que está junto al nodo msg.payload , y haga clic en la pestaña depuración para activar la depuración. Usted debería ver los mensajes que se envían desde su teléfono. Los datos están en formato JSON. Screen capture of msg.payload node in the the Node-RED                             editor and the debug tab that shows messages
    Screen capture of msg.payload node in the the Node-RED editor and the debug tab that shows messages
  13. Inspeccione el flujo. Haga doble clic en el nodo calculador de color . Calcula los valores de rojo, verde y azul basándose en el valor que entra de la aceleración-z, y los pasa como datos de JSON.Screen capture of the Edit function node that shows the                              code for changing the color of the background on the smartphone
    Screen capture of the Edit function node that shows the code for changing the color of the background on the smartphone

Ahora usted tiene una comunicación de dos vías entre su teléfono inteligente y la primera aplicación de IBM Cloud IoT.

6

Cree una aplicación de IBM Cloud para visualizar los datos del sensor

En este paso, usted crea una aplicación adicional en IBM Cloud, que recibe los mensajes de su teléfono inteligente (que ahora es un dispositivo de IoT) y visualiza los datos.

  1. Descargue el archivo rickshaw4iot-0.2.0.zip del proyecto rickshaw4iot de Github para IoT Visualization. Extraiga los archivos en un directorio local. Como alternativa, también puede clonar o descargar el repositorio de Github.
  2. Abra el archivo manifest.yml de la carpeta en la que extrajo el archivo rickshaw4iot-0.2.0.zip en un editor de texto. Cambie los parámetros host y name para que tengan un nombre único. De nuevo, deben ser únicos dentro de IBM Cloud, porque se utilizan como nombres de host. Por ejemplo, utilice iot<su nombre>visualize. Guarde el archivo.Screen capture of the host and name parameters in the manifest.yml file
    Screen capture of the host and name parameters in the manifest.yml file
  3. Abra una ventana de comandos o de terminal y cambie el directorio en el que extrajo el archivo rickshaw4iot-0.2.0.zip.
  4. Ingrese los siguientes comandos de Cloud Foundry:
    cf api https://api.ng.bluemix.net
    cf login -u <su_id_de_inicio_de_sesión_de_bluemix>

    El comando cf login sólo es necesario la primera vez que usted utiliza la herramienta de línea de comandos de Cloud Foundry. Es posible que usted también tenga que ingresar su contraseña de IBM Cloud. Si usted tiene más de una Organización de IBM Cloud (no es el caso predeterminado), se le pedirá que seleccione una de ellas.

    El comando anterior inicia sesión en la región del Sur de EE. UU. Su cuenta podría estar en una región diferente:

    cf login -a https://api.eu-gb.bluemix.net   // Reino Unido
    cf login -a https://api.eu-de.bluemix.net   // Alemania
    cf login -a https://api.au-syd.bluemix.net  // Sídney
  5. Ingrese el siguiente comando para desplegar la aplicación en IBM Cloud:

    cf push <your_application_name>

    Este comando busca el archivo manifest.yml y utiliza los parámetros de ese archivo. Después sube el código a IBM Cloud. Después de un tiempo usted debería ver un mensaje similar al siguiente:

    OK

    La aplicación <el nombre de su aplicación> se inició con este comando 'node app.js'.

  6. En IBM Cloud, haga clic en Panel de instrumentos. Usted debería ver la aplicación que acaba de desplegar. Haga clic en ella para ver sus detalles. Screen                     capture of the Overview page for your app
    Screen capture of the Overview page for your app
  7. Haga clic en Crear conexión. Seleccione el servicio de Internet de las Cosas que usted definió en el Paso 1, y haga clic en Conectar.Screen capture of the Connections page and the IoT                             service highlighted
    Screen capture of the Connections page and the IoT service highlighted
  8. Haga clic en Restablecer para reiniciar la aplicación. La aplicación ya puede recibir mensajes de Watson IoT Platform.
  9. Para verificar la aplicación de visualizador, abra en un navegador http://<el nombre de su aplicación>.mybluemix.net en un navegador
  10. En el recuadro de selección Dispositivo , seleccione el id de su dispositivo.
  11. Mueva su teléfono inteligente en círculos. Usted debería ver en el gráfico los cambios de aceleración. Screen capture of the IoT visualization app with the                             device selected and the sensor data displayed in a line chart
    Screen capture of the IoT visualization app with the device selected and the sensor data displayed in a line chart

Conclusión

En este tutorial usted ha aprendido cómo convertir fácilmente su teléfono inteligente en un dispositivo sensor, cómo conectarlo fácilmente a IBM Watson IoT Platform y cómo enviar y recibir datos. Usted también ha aprendido cómo procesar y visualizar los datos del dispositivo en IBM Cloud. Usted puede utilizar esas dos aplicaciones para reconocer el valor de IBM Cloud para la Internet de las Cosas, y lo único que necesita es su propio teléfono inteligente.


Recursos para Descargar


Temas relacionados


Comentarios

Inicie Sesión o Regístrese para agregar comentarios.

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=90
Zone=Internet of Things, Cloud computing
ArticleID=1060618
ArticleTitle=Convierta su teléfono inteligente en un dispositivo IoT
publish-date=12182017