Encender un led ( o lo que quiera) con su Raspberry PI 3 desde una aplicación móvil y no morir en el intento

La Raspberry Pi es una  plataforma muy popular para la creación de prototipos, lo que hacen que sea  también sea una  plataformas interesante para el Internet de las Cosas (IOT) gracias a su potencia  y bajo coste.  Pero la construcción de un dispositivo IoT necesita  una gran cantidad de infraestructura de apoyo a la  solución de la IoT que queda muy simplificada gracias al framework de Cayenne .


Encender un led conectado a  una Raspberry  Pi desde una aplicación móvil puede  parecer  algo misterioso  y complejo  destinado  solo a aquellas personas  con conocimientos de programación, por lo que en principio no parece reservado a los aficionados , pero lo cierto es que como todo mito , este no del todo cierto  pues existen soluciones que permiten sin tener conocimientos  de programación conseguir controlar o monitorizar lo que quiera  en tan solo unos minutos

En efecto   gracias  a un  framework  generico desarrollado por  myDevices IO Project Builder llamado Cayenne , los desarrolladores , fabricantes y  también aficionados  pueden  construir rápidamente prototipos y proyectos que requieran controlar o monitorizar   cualquier cosa conectada a su Raspberry  , permitiendo con una sóla cuenta gratuita de Cayenne, crear un número ilimitado de proyectos  mediante una solución  muy sencilla  basada en arrastrar y soltar 

Obviamente el punto fuerte de cayenne  son las  capacidades de  IO  para que pueda controlar de forma remota sensores, motores, actuadores, incluidas los puertos  de GPIO con  almacenamiento ilimitado de datos recogidos por los componentes de hardware,   triggers y alertas,  que proporcionan las herramientas necesarias para la automatización y la capacidad de configurar alertas. Ademas también puede crear cuadros de mando personalizados para mostrar su proyecto con arrastrar y soltar widgets que también son totalmente personalizables.

Resumidamente algunas  características clave de esta novedosa  plataforma son las siguientes:

  •  Una aplicación móvil para configurar, el monitor y los dispositivos de control y sensores desde cualquier lugar.
  • Fácil instalación que conecta rápidamente los dispositivos, sensores, actuadores, y las extensiones en cuestión de minutos.
  • Motor de reglas para desencadenar acciones a través de dispositivos.
  • Panel personalizable con widgets de visualización de arrastrar y soltar.
  • Programación de las luces, motores y actuadores
  •  Control de GPIO que se pueden configurar desde una aplicación móvil o  desde un navegador
  • Acceso remoto instantáneo desde su smartphone o con un ordenador
  • Para construir un proyecto de la IO a partir de cero se ha logrado el objetivo de proporcionar  un Proyecto Generador de IO que reduce el tiempo de desarrollo de horas en lugar de meses.

Como veremos , hablamos de un constructor de sitio web fácil de usar, pero para proyectos de IOT, así que veamos  los pasos para crear un proyecto de IoT con esta potente herramienta usando  su Raspberry Pi 3

Paso1

En primer lugar , si no  tiene instalado Raspbian en su Raspberry Pi 3,  tendrá que crearse una nueva imagen  con esa distribución .

Para instalar Raspbian , vaya  a  Descargas ,  y seleccione Rasbian  ( a la derecha de Noobs),

No debe confundir   esta distribución con la versión  para PC o Mac (RASPBERRY PI DESKTOP) pues como puede entenderse es para un ordenador personal y no para una placa Raspberry Pi

raspbian.PNG

Verá que hay  dos versiones:

  • RASPBIAN STRETCH WITH DESKTOP

    Image with desktop based on Debian Stretch
    Version:August 2017
    Release date:2017-08-16
    Kernel version:4.9
    Release notes:Link
    SHA-256:309f355ad5ca3e15d4866dfa16f17e4a5412632fec00976fe270d59516668849        
  • RASPBIAN STRETCH LITE

    Minimal image based on Debian Stretch
    Version:August 2017
    Release date:2017-08-16
    Kernel version:4.9
    Release notes:Link
    SHA-256:52e68130c152895905abe66279dd9feaa68091ba55619f5b900f2ebed381427b

Obviamente si la SD es suficiente grande , lo interesante es descargar la primera  (RASPBIAN STRETCH WITH DESKTOP) en lugar de la versión mínima,

Una vez decidida,  descargue la imagen correspondiente  en su ordenador y siga los siguientes pasos:

  • Inserte la tarjeta SD en el lector de tarjetas SD  de su ordenador comprobando cual es la letra de unidad asignada. Se puede ver fácilmente la letra de la unidad, tal como G :, mirando en la columna izquierda del Explorador de Windows.
  • Puede utilizar la ranura para tarjetas SD, si usted tiene uno, o un adaptador SD barato en un puerto USB.
  • Descargar la utilidad Win32DiskImager desde la página del proyecto en SourceForge como un archivo zip; puede ejecutar esto desde una unidad USB.
  • Extraer el ejecutable desde el archivo zip y ejecutar la utilidad Win32DiskImager; puede que tenga que ejecutar esto como administrador. Haga clic derecho en el archivo y seleccione Ejecutar como administrador.
  • Seleccione el archivo de imagen que ha extraído anteriormente de Raspbian.
  • Seleccione la letra de la unidad de la tarjeta SD en la caja del dispositivo. Tenga cuidado de seleccionar la unidad correcta; si usted consigue el incorrecto puede destruir los datos en el disco duro de su ordenador! Si está utilizando una ranura para tarjetas SD en su ordenador y no puede ver la unidad en la ventana Win32DiskImager, intente utilizar un adaptador SD externa.
  • Haga clic en Escribir y esperar a que la escritura se complete.
  • Salir del administrador de archivos  y expulsar la tarjeta SD.

Paso 2

Ahora que tiene la imagen de Rasbian en una SD , ya puede insertar la SD en su Raspberry Pi 3  en el adaptador de micro-sd , conectar un monitor por el hdmi , conectar un teclado y ratón en los  conectores USB, conectar la  con un cable ethernet  al router  conectividad a Internet ( si es una Raspberry Pi 2  que carece de Wifi)  y finalmente conectar la alimentación  para comprobar que la Raspeberry Pi  3 arranca con la nueva imagen

Como pasos mínimos recomendamos  al menos seguir los siguientes pasos:

  • Cambiar resolución de pantalla : normalmente la resolución máxima no suele ser adecuada para muchos monitores o TV , por  lo que lo mejor es cambiarla a una menor  que permita ver con comodidad el interfaz. La resolución se cambia desde el menu    Raspberry Pi Configuration  , a continuacion  System, pulsamos en Resolution    , seleccionamos una adecuada a nuestro TV/monitor    y pulsamos Set Resolution
  • Cambiar configuracion regional e idioma:  para no tener problemas  con el teclado  o incluso la conexion wifi nos interesa personalizar la configuracion de loclalizacion  para lo cual  iremos al menus de  Raspberry Pi Configuration  , a continuacion   seleccionaremos las siguintes opciones:
    • Localisation , seleccionar en Locale   . aquí elegimos la ubicación y depues puslaremos set locale,  tambien Language  por defecto es ingles=en (English) cámbielo por ejemplo a español seleccionando es(Spanish),  tambien Country puede cambiarlo por su pais ( por ejemplo =ES(Spain),  y  CharacterSet ( ISO-8859-1)
    • Timezone: seleccionar  Area  y Location
    • Keyborad: seleccionar teclado español si el que tiene coenctado
    • Wifi Country: seleccionar el pais (county) : por ejemplo ES Spain  ( si no selecionamos no se activa el WIFI)
  • Por ultimo, una vez reiniciemos la placa para que los cambio surtan efecto , si usamos la Rasberry Pi 3 , nos queda elegir  la red wifi   a la que se contactara su placa ,para lo  cual en la esquina superior derecha nos iremos al icono de redes wifi  y pulsaremos la red correspondiente   y a continuación escribiremos su clave.

Paso 3:

Desde linea de comandos  de la consola o por ssh simplemene con el comando gpio readall   se pueden leer el estado de todos los puertos del GPIO

Como realmente  lo que buscamos es controlar los puertos del GPIO  a distancia y mediante un interfaz grafico remoto, para comenzar la configuración de su Raspberry   ,lo primero es crear una cuenta gratuita en cayenne-mydevices.com que servirá tanto para entrar en la consola web como en la aplicación movil.

Para ello, vaya a la siguiente url  e introduzca simplemente su nombre ,dirección de correo y una clave de acceso  que  utilizara para validarse.

paso1.png

Paso 2

Una vez registrado , solamente tendrá que elegir la plataforma  para avanzar en el asistente. Obviamente   seleccionamos  en nuestro caso   Raspberry Pi.

paso2.png

Paso 3

Para  avanzar  en el asistente deberemos  tener instalado   Raspbian en nuestra Raspberry Pi como vimos  en el paso 1  .

Esta versión trae pre-instalado  un montón de software para la educación,  programación y uso general contando con  Python, Scratch, Sonic Pi, Java

Es interesante destacar  que Raspbian  se puede instalar con NOOBS o descargando  la imagen   siguiendo la  guía de instalación explicada en el paso 1.

paso3

paso 4

paso4

Ahora si queremos controlar dispositivos tenemos que instalar el agante   de cayenne bien con dos  comandos o bien  desde la app

Veamos en primer lugar como instalar el agente desde  la app, de modo que lo siguiente es instalar la aplicación móvil   , que esta disponible tanto para IOS como Android.

En caso de Android este es el enlace para su descarga en Google Play

Es muy interesante destacar que  desde la aplicación para el  smartphone  se puede automáticamente  localizar e instalar el software  myDevices Cayenne en su Raspberry Pi, para lo cual ambos ( smarphone y Raspberry Pi )  han de estar conectados a la misma red,por ejemplo la  Raspberry Pi al router con un cable ethernet  y su samartphone a la wifi de su hogar ( no funcionara si esta conectada por 3G o 4G)

Una vez instalada la app , cuando hayamos introducido nuestras credenciales , si esta la Raspberry en la misma red  y no tiene instalado el agente instalara automáticamente

Hay otra opción de instalar  myDevices Cayenne en su Raspberry  Pi,la cual es bajo nuestra opinión es la mas aconsejada   que es  usando el  Terminal en su  Pi o bien por SSH  ejecutando tan sólo  dos  comandos similares a los siguientes:

wget https://cayenne.mydevices.com/dl/rpi_xxxxx.sh 
sudo bash rpi_xxxxx.sh -v

El  nombre del script rpi_xxxxx.sh  varia en cada nueva instalación asi que fijese en el nombre exacto qeu le propone el  instalador web

Aunque ambos comandos  sean ejecutados desde ssh en la Raspberry Pi , directamente en el propio  interfaz web nos ira mostrando los pasos por donde vamos  en la instalación del agente:

instaññing.PNG

A la finalización del script se reiniciara la placa,  así que tenga un poco de paciencia..

!Ya esta listo! Ya sólo tiene que empezar a conectar dispositivos y sensores a sus raspberry Pi por medio del conector  GPIO  y  por supuesto  también añadirlos en la consola de Cayenne  ,  y con esto ya podrá ver el hw  que añada  en tiempo real tanto en el interfaz web como en su smartphone.

paso 5

Como ejemplo vamos a conectar un led  o un relé  a la Raspberry Pi 3 para poder controlar estos  desde Internet desde la app de Cayenne.

Por simplicidad  hemos conectado un led  donde  el ánodo (+) lo llevaremos al pin 19 del GPIO   y  el cátodo  a la masa de la  raspberry pi en el pin 21 tal y  como se ve en el dibujo

led.PNG

Para añadir una salida al interfaz gráfico , simplemente tenemos que iremos a la consola de Cayenne  y añadiremos un controlador  a nuestro dispositivo, para ello nos iremos al botón verde ( esquina superior derecha) donde pone Add new

Pulsaremos  la primera opción de Device/Widget

Nos iremos a Actuators  pues pretendemos controlar algo ,aunque pero  no vamos a conectar una placa especifica a la salida del gpio .

Ahora vamos al grupo  Relay Switch    pues  pretendemos hacer un control on/off  y por lo tanto pretendemos actuar sobre un pin   digital de salida

Ahora es importante  seleccionar  todas   las opciones siguientes;

  • Select device : seleccionaremos nuestra placa Rasberry Pi  sobre la que vayamos actuar ya que Cayenne  permite manejar un numero ilimitado de placas
  • Conectivity: es importante seleccionar Integrated GPIO
  • Channel : seleccionar aqui el pin  al que vamos a conectar el led (en nuestro caso de ejemplo  el GPIO 19 por su proximidad  a la masa)
  • Choose Widget:  lo ideal es elegir el tipo  “Button
  • Choose Icon: se puede elegir el que se desee , pero como vamos a controlar un led, lo ideal es seleccionar el icono de led
  • Finalmente  no olvidar pulsar el boton  “Add Actuator”

rele

Una vez creado el dispositivo  conectado a la placa  simplemente , bien desde la web o bien desde la propia app de Cayenne,  nos validaremos en cualquiera de los dos  y nos  aparecerá automáticamente el botón desde el que podremos cambiar el estado del pin de GPIO  pinchando sobre el  y con ello encenderemos o apagaremos el led conectado a el  (  por supuesto tambien un relé o el circuito de control que desee)

 

led.PNG

En el ejemplo vemos como el led aparece anaranjado , y esto se se refleja en la placa donde como puede verse el led también aparece iluminado:

 

 

IMG_20170902_103738[1]

Lógicamente lo ideal es usar un rele  o cualquier circuito de control , pero realmente lo importante  es poder controlar el estado del pin del GPIO , tarea que hemos realizado perfectamente sin mucha complicación  con la herramienta Cayenne,  tal y   como ha podido ver el lector en este post.

Por supuesto podrá ver el historial , programar eventos , etc, pero toda esa configuración la reservamos para un nuevo post

Problemas posible con el agente de Cayenne

A veces  al crear el widget desde cayenne aparece   el estado de ‘inaccesible’ y por mucho que repitamos el estado Unreacheable se repite, y eso aunque la raspberry Pi sea accesible y tenga conexión.

Puede que la Raspberry Pi esté ejecutando el núcleo 4.9 de Linux, pero como  webiopi (que es un software que utiliza Cayenne para controlar / monitorizar los pines GPIO en Raspberry Pi) sólo funciona en el núcleo 4.4 que es parte de la actual Raspbian Jessie8, entonces lo mas probable es  que no funcione bien el control .

Para ver la versión del kernel ejecutando el comando uname -a  desde consola o por ssh

Cayenne esta  planeando actualizar webiopi así que cuando Jessie se mueva a algo más reciente que 4.4   actualizaran el sw, pero mientras tanto, si no tiene una necesidad específica del kernel 4.9, puede bajar a 4.4 o hacer una nueva instalación de Jessie, que debe incluir 4.4 para que pueda  acceder a las funciones de Cayenne sin problemas .

Para bajar de version desde la consola  o desde ssh el siguinte comando:

sudo rpi-update 52241088c1da59a359110d39c1875cda56496764

 

A continuación mostramos la salida de ambos comandos:

 [email protected]:~ $ uname -a
Linux raspberrypi 4.9.24-v7+ #993 SMP Wed Apr 26 18:01:23 BST 2017 armv7l GNU/Linux
[email protected]:~ $ sudo rpi-update 52241088c1da59a359110d39c1875cda56496764
 *** Raspberry Pi firmware updater by Hexxeh, enhanced by AndrewS and Dom
 *** Performing self-update
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 12762  100 12762    0     0  33569      0 --:--:-- --:--:-- --:--:-- 33584
 *** Relaunching after update
 *** Raspberry Pi firmware updater by Hexxeh, enhanced by AndrewS and Dom
 *** We're running for the first time
 *** Backing up files (this will take a few minutes)
 *** Backing up firmware
 *** Backing up modules 4.9.24-v7+
This update bumps to rpi-4.4.y linux tree
Be aware there could be compatibility issues with some drivers
Discussion here:
https://www.raspberrypi.org/forums/viewtopic.php?f=29&t=144087
##############################################################
 *** Downloading specific firmware revision (this will take a few minutes)
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   168    0   168    0     0    303      0 --:--:-- --:--:-- --:--:--   304
100 52.3M    0 52.3M    0     0   969k      0 --:--:--  0:00:55 --:--:--  274k
 *** Updating firmware
 *** Updating kernel modules
 *** depmod 4.4.50+
 *** depmod 4.4.50-v7+
 *** Updating VideoCore libraries
 *** Using HardFP libraries
 *** Updating SDK
 *** Running ldconfig
 *** Storing current firmware revision
 *** Deleting downloaded files
 *** Syncing changes to disk
 *** If no errors appeared, your firmware was successfully updated to 52241088c1da59a359110d39c1875cda56496764
 *** A reboot is needed to activate the new firmware
[email protected]:~ $ sudo reboot
login as: pi
[email protected]'s password:

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Fri May  5 06:59:41 2017

SSH is enabled and the default password for the 'pi' user has not been changed.
This is a security risk - please login as the 'pi' user and type 'passwd' to set a new password.

[email protected]:~ $ uname -a
Linux raspberrypi 4.4.50-v7+ #970 SMP Mon Feb 20 19:18:29 GMT 2017 armv7l GNU/Linux

 

 

Una  vez que baje de version su kernel , también recomendamos desinstalar el agente de Cayenne y repetir    la instalación del agente  de Cayenne como vimos al principio

Para desinstalar el agente  ejecute los siguientes comandos desde consola o por ssh:

sudo /etc/myDevices/uninstall/./uninstall.sh

Entonces, después escribiremos:

sudo /etc/webiopi/uninstall/./uninstall.sh

 

 

Como vemos existen  infinidades de opciones  y un universo de posibilidades ,asi que  no tema , pues realmente el proceso como puede ver es bastante sencillo..

 

Acceso web de Sensores Analogicos para Raspberry Pi (parte 2)

Continuamos con la descripcion de los circuitos analogicos que podemos conectar a nuestra Raspberry Pi


En un post anterior veíamos algunas de las posibilidades de  conexión de sensores digitales  a nuestra Raspberry Pi como puede ser añadir sensores I2C con el CI DS1820 , sensores de Co2 basados en el Mq4, sensores genéricos,sensores de de presión con el BMP180,sensores de temperatura basados en el TMP102, sensores de proximidad basados en el VCNL 4000o  o los sensores de luminosidad basados en el  TSL2561.

Como todos sabemos  existen también una cantidad muy alta de sensores cuya salida no es digital , lo cual en principio no se podrian conectar directamente a nuestra Raspberry, pero esto no es exactamente asi, porque si podemos conectarlos por medio de convertidores A/D y D/A  y otros circuitos como vamos a ver  (y empezamos a  ver en un post  posterior ).

Retomamos nuevamente el mundo analógico y la Raspberry Pi  con mas ejemplos :

 

MCP23017

MCP23017

 Este CI  de coste  contenido  permite agregar 16 salidas a una placa  conectándola al puerto I2C. La conexión es sencilla como vamos a  ver  a continuación

Use el siguiente diagrama para conectar el MCP23017 IO expansor.

Paso 1

Desde el  Pi para alimentar VDD (pin 9) en el MCP23017.
MCP23017

Paso 2

Conectar tierra  de Pi al VSS (pin 10) en el MCP23017.
MCP23017

Paso 3

Conectar los pines SCL del MCP23017 (pin 12) a la Pi.
MCP23017

Paso 4

Conecte las clavijas SDA de la MCP23017 (pin 13) a la Pi.
MCP23017

Paso 5

Conectar toma de tierra a los pines de dirección (pin 15, 16, 17) en el MCP23017. Esto le dará el expansor de una dirección predeterminada de 0 x 20.
MCP23017

Paso 6

Para el Reset (pin 18) en el MCP23017 . Debe conectar  el pin de Reset  para el funcionamiento normal.
MCP23017

Paso 7

¡Listo! Ahora puede Agregar el MCP23017 en el panel de Caynne, con dirección por defecto de 0 x 20.

MCP23009

MCP23009

 El MCP23009-E / SS es un expansor de E / S de 8 bits con salidas de drenaje abierto. Consiste en múltiples registros de configuración de 8 bits para la selección de entrada, salida y polaridad. El maestro del sistema puede habilitar E / S como entradas o salidas escribiendo los bits de configuración de E / S. Los datos de cada entrada o salida se guardan en el registro de entrada o salida correspondiente. La polaridad del registro del puerto de entrada puede invertirse con el registro de inversión de polaridad. Todos los registros pueden ser leídos por el maestro del sistema. El registro de captura de interrupción captura los valores de puerto en el momento de la interrupción, ahorrando así la condición que causó la interrupción. El restablecimiento de encendido (POR) ajusta los registros a sus valores predeterminados e inicializa la máquina de estado del dispositivo. El pin de dirección de hardware se utiliza para determinar la dirección del dispositivo.

Use el siguiente diagrama para conectar su MCP23009 IO expansor.

Paso 1

Desde el pastel de Pi para alimentar VDD (pin 1) en el MCP23009.
MCP23009

Paso 2

Conectar la tierra de la Pi a VSS (pin 18) en el MCP23009.
MCP23009

Paso 3

Conectar los pines SCL de la MCP23009 (pin 3) y la Pi.
MCP23009

Paso 4

Conecte las clavijas SDA de la MCP23009 (pin 4) y la  Pi.
MCP23009

Paso 5

Conectar toma de tierra al pin de dirección (pin 5) en el MCP23009. Esto le dará el expansor de una dirección predeterminada de 0 x 20.
MCP23009

Paso 6

Alimentar el reset (pin 6) en el MCP23009. Conectar  Reset es necesario para el funcionamiento normal.
MCP23009

Paso 7

¡Listo! Ahora puede Agregar el MCP23009 en el panel de cayenne, con dirección por defecto de 0 x 20.

MCP23008

MCP23008

Es un circuito muy similar al anterior que  nso proporciona 8 entradas  o salidas  binarias a traves del SDA

Use el siguiente diagrama para conectar su MCP23008 IO expansor.

Paso 1

Conecte las líneas de energía, conectando a VDD (pin 18) en el MCP23008.
MCP23008

Paso 2

Conecte las líneas de tierra, conexión de tierra al VSS (pin 9) en el MCP23008.
MCP23008

Paso 3

Conecte las clavijas SDA de la MCP23008 (pin 2) y la  Pi.
MCP23008

Paso 4

Conectar los pines SCL de la MCP23008 (pin 1) y la  Pi.
MCP23008

Paso 5

Conectar toma de tierra a los pines de dirección (pines 3, 4, 5) en el MCP23008. Esto le dará el expansor de una dirección predeterminada de 0 x 20.
MCP23008

Paso 6

Alimentar el reset (pin 6) en el MCP23008. Conectar el pin Reset es necesario para el funcionamiento normal.
MCP23008

Paso 7

¡Listo! Ahora puede Agregar el MCP23008 en el  panel de control de Cayenne, con dirección por defecto de 0 x 20.

DS2408

ds2408

 El DS2408 es un chip de E / S 1-Wire® programable de 8 canales. Las salidas PIO se configuran como drenaje abierto y proporcionan una resistencia de 100Ω máx. Un protocolo de comunicación de acceso de canal PIO robusto garantiza que los cambios de configuración de salida PIO se produzcan sin errores. Se puede utilizar una salida estroboscópica válida para datos para bloquear estados lógicos PIO en circuitería externa tal como un convertidor D / A (DAC) o un bus de datos de microcontrolador.

Un par de notas antes de comenzar:

  • Para aprovechar las ventajas de la detección automática de cayena de dispositivos 1-wire, conecte a 4 GPIO.
  • Asegúrese de que Raspberry Pi está apagado al conectar los cables.
  • Cuando utilice un cable de cinta GPIO, asegúrese de que está conectado el cable (es un color diferente que los otros) en la esquina de la Raspberry Pi y la parte superior de tu pastel de Pi.
  • El diagrama proporcionado es sólo un ejemplo de cómo conectar el sensor. Hay muchas maneras para conectar sensores y extensiones, así que trate de lo que funciona mejor para usted!
  • Algunos placas de prototipos (usados en los diagramas a continuación) tienen una  linea de alimentación  que se separa en el medio. Si este es el caso, asegúrese de que sus sensores están conectados en la misma mitad de la placa como el Pi.

Use el siguiente diagrama para conectar su DS2408 “1-Wire” IO expansor.

Paso 1

Desde el  Pi alimentar el DS2408 VCC (pin 3). Asegúrese de que añade  una resistencia de pull-up entre la potencia (pin 3) y pines de datos (pin 4) en el DS2408.
DS2408

Paso 2

Conectar la tierra del Pi a la tierra de DS2408 (pin 5).
DS2408

Paso 3

Conectar la clavija de control DS2408 en GPIO Pin 4 en el Pi. Conexión a 4 GPIO permite la detección automática .
DS2408

Paso 4

¡Listo! Encienda su frambuesa Pi y el agente Cayenne automáticamente detectará el expansor DS2408 y agregara este a su panel de control.

MCP23S09

MCP23S09

 El MCP23S09-E / P es un expansor de E / S de 8 bits con salidas de drenaje abierto. Consiste en múltiples registros de configuración de 8 bits para la selección de entrada, salida y polaridad. El maestro del sistema puede habilitar E / S como entradas o salidas escribiendo los bits de configuración de E / S. Los datos de cada entrada o salida se guardan en el registro de entrada o salida correspondiente. La polaridad del registro del puerto de entrada puede invertirse con el registro de inversión de polaridad. Todos los registros pueden ser leídos por el maestro del sistema. El registro de captura de interrupción captura los valores de puerto en el momento de la interrupción, ahorrando así la condición que causó la interrupción. El restablecimiento de encendido (POR) ajusta los registros a sus valores por defecto e inicializa la máquina de estado del dispositivo. El pin de dirección de hardware se utiliza para determinar la dirección del dispositivo.

Use el siguiente diagrama para conectar su Convertidor A/D de MCP23S09 con interfaz de SPI.

Paso 1

Alimentar desde el  Pi al MCP23S09 pin 1 (VDD) y pin 7 (RESET).
MCP23S09

Paso 2

Conectar la tierra del  Pi al MCP23S09 pin 18 (VSS).
MCP23S09

Paso 3

Conecte la clavija de entrada MCP23S09 chip select (CS) de 3 a uno de los pines del chip select del Pi  CE0 en este ejemplo.
MCP23S09

Paso 4

Conectar patillas SCLK del  Pi y el MCP23S09 4 (SCK).
MCP23S09

Paso 5

Conectar patillas MOSI del Pi y el MCP23S09 5 (SI).
MCP23S09

Paso 6

Conectar patillas MISO del Pi y el MCP23S09 6 (SO).
MCP23S09

Paso 7

¡Listo! Ahora puede Agregar el convertidor de MCP23S09 a tu panel de control usando el chip-select 0.

MCP23S08

MCP23S08

 El MCP23S08 es un “8-Bit I / O Expander con el interfaz de SPI” IC de Microchip . Este dispositivo también está disponible en variaciones I2C (MCP23008) y 16 bits (MCP23x17),

Use el siguiente diagrama para conectar su convertidor A/D de MCP23S08 con interfaz de SPI.

Paso 1

Alimentar desde el  Pi al MCP23S08 pin 18 (VDD) y la clavija 6 (RESET).
MCP23S08

Paso 2

Conectar la tierra del pastel de Pi al MCP23S08 pin 9 (VSS).
MCP23S08

Paso 3

Conectar patillas SCLK del Pi y el MCP23S08 pin 1 (SCK).
MCP23S08

Paso 4

Conectar patillas MOSI del  Pi y el MCP23S08 pin 2 (SI).
MCP23S08

Paso 5

Conectar patillas MISO del  Pi y el MCP23S08 pin 3 (SO).
MCP23S08

Paso 6

Conecte los dos de los pines de dirección de MCP23S08 (pines 4, 5) a tierra. Esto resultará en una dirección predeterminada de 0 x 20.
MCP23S08

Paso 7

Conecte la clavija de entrada MCP23S08 chip select (CS) pin 7 a uno de los pines del chip select Pi , CE0 en este ejemplo.
MCP23S08

Paso 8

¡Listo! Ahora puede Agregar el convertidor de MCP23S08 a su panel de control  de Cayenne usando el chip-select (pin  0).

MCP23S18

MCP23S18

Hablamos de un chip del fabricante MICROCHIP  que es un  Expansor de E/S de 16bit funcionando a  10 MHz con interfaz  SPI

Use el siguiente diagrama para conectar su Convertidor A/D de MCP23S18 con interfaz de SPI.

Paso 1

Alimentar de la Pi  a RESET (pin 16) y VDD (pin 11) en el MCP23S18.
MCP23S18

Paso 2

Conectar la tierra del  Pi a VSS (pin 1) en el MCP23S18.
MCP23S18

Paso 3

Conectar patillas SCLK del  Pi y el MCP23S18 13 (SCK).
MCP23S18

Paso 4

Conectar patillas MOSI del  Pi y el MCP23S18 14 (SI).
MCP23S18

Paso 5

Conecte la clavija de entrada MCP23S18 chip select (CS) del pin  12 a uno de los pines del chip select Pi Zapatero, CE(pin 0 )en este ejemplo.
MCP23S18

Paso 6

Conectar patillas MISO del  Pi y el MCP23S18 pin 15 (SO).
MCP23S18

Paso 7

¡Listo! Ahora puede Agregar el convertidor de MCP23S18 a tu panel de control de Cayenee usando el chip-select 0.

MCP23S17

MCP23S17

Hablamos de un chip del fabricante MICROCHIP  que es un  Expansor de E/S de 16bit funcionando a  10 MHz con interfaz  SPI

 El MCP23s08 y MCP23s17 tiene 3 bits de selección de direcciones por lo que en teoría se puede conectar hasta 8 MCP23s08 y MCP23S17 en la misma señal de selección SPI que le da una capacidad GPIO de una señal adicional de 128 pines por SPI seleccionar cuando se utilizan estos dispositivos. (O el doble que si utiliza 8 más en la 2 ª SPI seleccionar)

Use el siguiente diagrama para conectar su Convertidor A/D de MCP23S17 con interfaz de SPI.

Paso 1

Desde el  Pi alimentar VDD (pin 9) en el MCP23S17.
MCP23S17

Paso 2

Conectar la tierra del  Pi a VSS (pin 10) en el MCP23S17.
MCP23S17

Paso 3

Conecte la clavija de entrada MCP23S17 chip select (CS) del pin  11 a uno de los pines del chip select Pi Zapatero, CE0 en este ejemplo.
MCP23S17

Paso 4

Conectar patillas SCLK del  Pi y el pin 12 del MCP23S17  (SCK).
MCP23S17

Paso 5

Conectar patillas MOSI del  Pi y el  pin 13 del MCP23S17 (SI).
MCP23S17

Paso 6

Conectar patillas MISO del  Pi y el pin  14 del MCP23S17  (SO).
MCP23S17

Paso 7

Conectar toma de tierra a los pines de dirección de MCP23S17 (15, 16, 17). Esto le dará el expansor de una dirección predeterminada de 0 x 20.
MCP23S17

Paso 8

Alimentar al pin de RESET (pin 18) en el MCP23S17. Conectar  el pin de Reset es necesario para el funcionamiento normal.
MCP23S17

Paso 9

¡Listo! Ahora puede Agregar el convertidor de MCP23S17 a su panel de control usando el chip-select 0.

 

Por cierto , para  mas información sobre como configurar el panel de control de Cayenne  , puede encontrar mas información en ingles  aqui 

IoT con Raspberry Pi sin escribir código

veremos como conectar un sensor de temperatura a una Raspberry pi


 

En este ejemplo vamos a ver lo facil qeu es configurar un sensor de temperatura:el DS18B20  usando el agente de Cayenne .

Todo lo que necesita hacer es configurar el circuito y tenerlo conectado a la Pi,el cual es bastante sencillo pues  se usa un bus de 1hilo cuyo diagrama del circuito viene a continuación. También se puede agregar un LED al pin # 17 con una resistencia de 100 ohmios al carril de tierra.
Raspberry Pi Diagrama de Sensor de Temperatura
Ahora cuando lo conecte  si tiene instalado el agente de Cayenne  el sensor sera detectado automáticamente y agregado al  tablero de mandos. Lo que es bastante bueno sin embargo, si no se agrega automáticamente, entonces tendrá que agregar manualmente. Para agregarlo manualmente, haga lo siguiente.

  1. Ir a añadir en la esquina superior izquierda del tablero de instrumentos.
  2. Seleccione el dispositivo en el cuadro desplegable.
  3. Encuentre el dispositivo, en este caso es un sensor de temperatura DS18B20.
  4. Agrega todos los detalles del dispositivo. En este caso necesitará la dirección de esclavo para el sensor. Para obtener la dirección de esclavo introduzca lo siguiente en el terminal de Pi.
    cd /sys/bus/w1/devices ls
  5. La dirección del esclavo será similar a esta 28-000007602ffa . Simplemente copie y pegue esto en el campo de esclavo dentro del panel de Cayenne.
  6. Una vez introducida seleccione sensor de complemento.
  7. El sensor debe aparecer ahora en el tablero de instrumentos.
  8. Si necesita personalizar el sensor, presione el diente y aparecerá algunas opciones.
  9. También puede ver estadísticas / gráficos. Por ejemplo, el sensor de temperatura puede trazar datos en tiempo real y mantendrá los datos históricos también.

Si también desea agregar un LED que pueda encender y apagar a través del tablero de instrumentos, siga las siguientes instrucciones.

  1. Ahora vamos a agregar un dispositivo más. Excepto que éste será un LED.
  2. Vuelva tan para agregar el nuevo dispositivo.
  3. Ahora busque la salida digital y selecciónela.
  4. Para este dispositivo seleccione su Pi, tipo de widget es el botón, el icono puede ser lo que quieras, y luego seleccione integrado GPIO. Finalmente, el canal es el pin / canal al que está conectado nuestro LED. Para este ejemplo es el pin # 17. (Esta es la numeración GPIO de los pines).
  5. Ahora presione el botón add sensor.
  6. Ahora puede girar el pin GPIO alto y bajo desde el tablero de mandos y también utilizarlo en un disparador.
  7. Ahora estamos listos para crear nuestro primer gatillo.

Ahora debería tener dos dispositivos en el tablero de mandos que deberían verse así.
Dispositivos añadidos

Configuración de su primer  trigger

Los disparadores en Cayenne son una forma de hacer que tu pi reaccione a un cambio en el Pi mismo oa través de un sensor conectado a él. Esto podría ser algo tan simple como una temperatura superior a un cierto valor o incluso sólo su Pi va fuera de línea. Como se podría imaginar esto puede ser muy poderoso en la creación de dispositivos inteligentes que reaccionan a los alrededores. Por ejemplo, si la habitación se pone demasiado fría, encienda el calentador.

El proceso de agregar un disparador es súper simple como vamos a ver aontunuacion:

  1. Ir a añadir en la esquina superior izquierda del tablero de instrumentos.
  2. Seleccionar un trigger desde el cuadro de abajo.
  3. El nombre de su gatillo, voy a llamar a la mía “demasiado caliente”.
  4. Ahora arrastrar y soltar su Frambuesa Pi desde la esquina izquierda en el caso de la caja.
  5. Por debajo de esto seleccionar el sensor de temperatura y tienen casilla junto a “por encima de la temperatura” seleccionado. (Si las opciones del dispositivo no se muestran simplemente actualizar la página)
  6. Ahora en el cuadro de selección a continuación, notificación y agregar una dirección de correo electrónico o número de teléfono de un mensaje de texto (puede agregar ambos).Asegúrese de marcar las casillas de verificación también.

Dispara demasiado caliente

  1. Ahora haga clic en “Save trigger”.
  2. Ahora se debe guardar y le enviará una alerta cada vez que el sensor de temperatura es más de 40 grados Celsius.
  3. También puede arrastrar el Raspberry Pi en el cuadro a continuación, y tienen que hacer muchas cosas, incluyendo el control de los dispositivos de salida. Por ejemplo, en mi circuito tengo un LED que se activará cuando la temperatura supere los 40 grados Celsius.
  4. Para hacer clic en el gatillo de disparo LED de nueva situada en la parte superior de la página. Nombre esta activar el gatillo LED.
  5. Ahora arrastrar el Pi en el caso de la caja y luego seleccione el sensor de temperatura de nuevo con 40 grados centígrados por encima.
  6. Ahora arrastrar el Raspberry Pi en cuadro a continuación. Seleccione nuestra salida digital y marque la casilla de verificación activada.
  7. Ahora haga clic en Save trigger.
  8. Ahora, cada vez que nuestro sensor de temperatura conectado al Pi informe una temperatura superior a 40 grados Celsius, enviará un correo electrónico y encenderá el LED.También necesitarás agregar otro disparador para apagar el LED cuando caiga por debajo de los 40 pero lo dejaré por ahora y pasaré a eventos.

Mydevices cayennem Disparadores

Eventos

Los eventos en Raspberry Pi Cayenne son algo similar a los desencadenantes, pero son dependientes del tiempo en lugar de confiar en un cambio en un sensor o el propio dispositivo. La configuración de un evento es bastante fácil,asi que por ejemplo vamos a ver cómo configurar su Pi para reiniciarla una vez al mes.

  1. Ir a añadir en la esquina superior izquierda del tablero de instrumentos.
  2. Seleccionar evento en el cuadro de abajo.
  3. Ahora debería ver una pantalla con un calendario y un popup llamado nuevo evento.
  4. Ingrese los detalles de su evento. Por ejemplo, la mina se llama reinicio mensual y sucederá el primero de cada mes a las 2am. A continuación se muestra un ejemplo de la pantalla.

Cayenne eventos con detalles

  1. Una vez hecho esto, haga clic en Guardar.
  2. Ahora debería poder ver su evento en el calendario. Simplemente haga clic en él si desea editarlo.

Como usted podría imaginar los acontecimientos pueden ser bastante poderosos así que valdría la pena de mirar en éstos más. Un buen ejemplo de uso de eventos sería si necesita algo para ejecutar o encender. Otro ejemplo es algo como luces que necesitan ser encendidas en un momento específico.

Panel GPIO

El panel GPIO en Cayenne  le permite controlar y alterar los pines en el Pi.Por ejemplo, puede convertir un pin de ser una entrada a una salida y viceversa. También puede activar los pines de salida bajos y altos.
Panel Cayenne GPIO
Como se puede ver también hace que una gran hoja de referencia si necesita volver a ver y ver qué pins son los que necesita. También puede ver los dispositivos que están actualmente asignados a pines específicos. También puede ver el estado actual de un pin. (Por ejemplo, entrada o salida y baja o alta)

Escritorio remoto

Se puede conectar a la  Pi a través de Secure Shell o tambien   con VNC. Si ha  instalado cayenne también puede escritorio remoto a su Raspberry Pi a través del navegador web o a través de la aplicación móvil. Puede hacerlo simplemente haciendo lo siguiente.

  1. En el tablero de mandos encontrar el widget que dice “comandos”.
  2. Dentro de este widget haga clic en acceso remoto.
  3. Ahora se conectará al Pi y abrirá una nueva ventana. Si una nueva ventana no abre su navegador probablemente lo bloqueó. Simplemente permita que cayenne.mydevices abra nuevas pestañas.
  4. Una vez hecho usted puede controlar su Pi como si estuviera allí con él.
  5. Uno de los profesionales con el uso de Cayenne para escritorio remoto es que se puede acceder a ella en cualquier parte del mundo con bastante facilidad en lugar de la necesidad de configurar una VPN o abrir los puertos de su red.

Sin duda es un ejemplo muy sencillo pero que demuestra la gran potencia del agente de Cayenne para aplicaciones de IoT con su Raspberry Pi

 

Fuente   aqui