Copiar scripts en el dispositivo Raspberry Pi (opcional)
Ahora necesitamos algún software en Pi que lea los valores de los sensores (opcionales) en el propio dispositivo Pi y que se comunique de nuevo con ThingWorx. Si lo desea, descargue lo siguiente en el ordenador:
• Sensor de rango HC-SR04: range_sensor.py
• Sensor de temperatura/humedad DHT11: thingxpi_DHT11.py
• Conexión a ThingWorx: thingxpi.py
Estos scripts le ayudarán a empezar; todos se han creado de forma ligeramente distinta. Por ejemplo, el script thingxpi_DHT11.py tiene un URL codificado de forma rígida, una clave de aplicación e información sobre el nombre de cosa, que necesitará para actualizar su configuración específica. El script range_sensor.py comunica la información de HC-SR04 al script thingxpi.py. A continuación, el script thingxpi.py recopila información específica de Raspberry Pi (temperatura de la CPU, uso de la memoria, etc.) y la envía como paquete a ThingWorx utilizando argumentos de línea de comandos para denotar una cosa, un URL y una clave de aplicación específicas. Es necesario modificar (o escribir desde cero) cada uno de los scripts para recuperar la información que se desea.
El usuario decide cómo se integran los scripts en el dispositivo Raspberry Pi. Por ejemplo, se pueden cargar en una unidad USB, montar la unidad utilizando la CLI de Raspberry Pi y luego copiarlos. También se puede utilizar apt-get para instalar un servidor FTP y transferirlos con ese protocolo. Se necesita Python para ejecutar estos scripts. Para confirmar que Python se ha instalado correctamente en el dispositivo Raspberry Pi, ejecute el comando siguiente:
python --version
|
Como mínimo, debe recibirse Python 2.7.3 como respuesta. Si no es así, actualice Python a una versión más reciente.
|
De todos modos, después de cargar los scripts en el dispositivo Raspberry Pi, debe ejecutar cada uno de ellos en sus propias ventanas de SSH. Si utiliza los sensores HC-SR04 y DHT11, los comandos de cada ventana de SSH serán similares a estos:
• sudo python ./range_sensor.py
• sudo python ./thingxpi_DHT11.py
• sudo python ./thingxpi.py RasperryPiThing <ThingWorx instance URL><App key>
<ThingWorx instance URL> es el URL de la instancia de ThingWorx y <App key> es la clave de aplicación que se creó previamente en este tutorial. Por ejemplo, el comando debe ser similar al siguiente:
sudo python ./thingxpi.py RaspberryPiThing https://thingx-jdoe.abc1.thingworx.io/Thingworx d89bgc23-f3ce-42b5-b8d0-61gcd42489f8
|
Recuerde que el script thingxpi_DHT11.py también debe modificarse para que incluya el URL, el nombre de cosa y la clave de aplicación correctos antes de su ejecución. Si el URL, el nombre de cosa o la clave de aplicación son incorrectos, los scripts de Python no actualizan las propiedades de cosa.
|
Tenga en cuenta también que los scripts de Python que se importan pueden tener dependencias que deban instalarse. Por ejemplo, los módulos Setuptools y Requests se utilizan en el fichero thingxpi.py. Deberá instalar manualmente los módulos que falten cuando intente ejecutar cada uno de los scripts. Para instalar los módulos Setuptools y Requests de Python, siga este procedimiento:
1. Instale el módulo Setuptools.
b. Seleccione y copie todo el contenido (Ctrl+A/Ctrl+C).
c. En el dispositivo Raspberry Pi, ejecute un comando sudo touch ez_setup.py para crear el fichero.
d. Con un editor de texto en el dispositivo Raspberry Pi, por ejemplo nano, pegue todo el contenido de ez_setup.py en el fichero. Guarde el fichero ez_setup.py y ciérrelo.
e. Ejecute el comando siguiente: sudo python ez_setup.py
2. Instale el módulo Requests.
a. Ejecute los comandos siguientes:
▪ sudo git clone git://github.com/kennethreitz/requests.git
▪ cd requests (Por ejemplo, cambie el directorio a la carpeta que acaba de añadir GIT).
▪ sudo python setup.py install
Tras la ejecución, cada uno de los scripts se sigue ejecutando y ofrece documentos impresos con la información que se recopila, y envía la información a ThingWorx. Por este motivo, para este método se requieren tres ventanas de SSH. Con todos los scripts en ejecución en el dispositivo Raspberry Pi, ThingWorx se actualiza con regularidad con esta información. Puede utilizar la información almacenada en la experiencia de RA.
Verificar la conexión entre el dispositivo Raspberry Pi y ThingWorx
1. Abra ThingWorx.
2. Pulse en Cosas bajo MODELADO. Busque RaspberryPiThing y selecciónelo.
3. Pulse en Propiedades bajo INFORMACIÓN SOBRE LA ENTIDAD.
4. Pulse en el icono Renovar propiedades en la parte superior de la columna Valor.
5. Verifique que, cada vez que pulsa en el icono Renovar propiedades, algunos de los valores cambian.