Rele wifi con Raspberry Pi


Gracias el bajo coste y  la gran popularidad de la Raspberry Pi  , hoy en día  es muy fácil  ofrecer soluciones  muy flexibles de control de dispositivos por Internet mediante diferentes vías de una forma muy sencilla  sin necesidad de realizar  una gran inversión ,saber  electrónica   ni  por supuesto escribir una sola línea  de código para ello

La solución que vamos a  proponer  es una utilidad  capaz de controlar  8 cargas de hasta 10 Amp pero  también  se puede expandir  con  otras 6 cargas mas ( añadiendo una placa de mas relés) pudiendo por tanto controlar  hasta 14 cargas simultáneamente sin multiplexar ,todo  ello como decíamos  sin escribir ninguna línea de código  gracias a  la solución  gratuita Cayenne ,la cual  consigue una gran automatización , pues es capaz de gracias  a una app  móvil instalar un agente en la Raspberry  Pi, que una vez instalado, permite  poderlo controlar ( y ver el estado ) de forma remota desde cualquier parte del mundo, bien desde un navegador o bien desde la propia app móvil.

Para empezar   si contamos con una Raspberry Pi  , lo primero es  si aun no lo ha hecho ,es generar  la imagen del SO con la que arrancara la Raspberry Pi .  Aunque hay diferentes opciones (de hecho en este blog  hemos visto que es posible  instalar otras  SO  incluso Windows 10.) , para la solución propuesta,  lo mejor es   usar  la ultima distribución disponible de Raspbian pues al  ser el sistema operativo mas instalado en el mundo en la Raspberry Pi  es la distribución compatible con el software propuesto (además precisamente hace unos días , Raspbian hace acaba de recibir una actualización intensa conocida como Pixel   llena de muchísimas novedades y mejoras tanto en el diseño como en el rendimiento del software).

Si no ha instalado  Pixel  puede  hacerlo  descargando la imagen de la SD  a partir del sitio  oficial Raspbian ,donde  hay dos opciones :la versión previa mínima (Jessie) o la nueva de Jessie con Pixel:

raspbian

Lógicamente si la SD es suficiente grande , lo interesante es descargar la primera  en lugar de la versión mínima que ademas esta obsoleta

Una vez   descargada la imagen correspondiente  en su ordenador   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.
  • Ya puede insertar la SD en su Raspberry Pi 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 y finalmente conectar la alimentación  para comprobar que la Raspeberry arranca con la nueva imagen

Una vez instalado Raspbian en su SD, lo siguiente  es instalar el agente de Cayenne:

Instalación del agente   Cayenne en la Raspberry Pi

El proceso de instalación de Cayenne en la Raspberry Pi es bastante simple y no debería tomar demasiado tiempo para obtener su creación y funcionamiento. Usted tendrá que asegurarse de que ha instalado en su Raspbian Pi. .

  1. En primer lugar, vaya a  myDevices Cayenne y regístrese para obtener una cuenta gratuita.
  2. Una vez que ya se ha registrado usted tendrá que registrarse / conectar el Pi hasta la cuenta que acaba de crear. Para ello sólo tiene que copiar las 2 líneas de comandos que se muestran después de su inscripción. Por ejemplo :
    wget https://cayenne.mydevices.com/dl/rpi_qcps12pc3d.sh
    
    sudo bash rpi_qcps12pc3d.sh -v

    Introduzca estos en el terminal para su Pi.(Estos archivos son únicos para cada instalación nueva)

cayenne
Alternativamente, se puede descargar la aplicación y se puede localizar e instalar en su Cayenne Pi automáticamente. (Tenga en cuenta SSH debe estar habilitado )

  1. Tomará unos minutos para instalar en el Pi en función de la velocidad de su conexión a Internet es. El navegador web o aplicación deben actualizar automáticamente con información sobre el proceso de instalación.
  2. Una vez instalado el tablero de instrumentos se mostrará y debe verse como algo más adelante.

Pi tablero de cayena

 

Placa de Relés

Para implementar el control  vamos a utilizar una placa de relés de 5V y ocho canales de bajo coste ( unos 8 € en Amazon), que para  mayor seguridad esta optoacoplada para proteger la Raspberry PI

Obviamente los relés electromecánicos también ofrecen un separación galvánica entre la lógica  y la parte de AC pero como que los aparatos que vamos a controlar funcionan con 220V, y los pines GPIO de Raspberry trabajan con un máximo de3,3V no esta mal que la placa cuente con este doble factor de aislamiento para evitar problemas.

Un módulo económico y perfecto para nuestro propósito es  el Timetop distribuido por Andoer   , un  módulo  con alimentación de  5V , la cual  tomara directamente de la Raspberry Pi .Se trata de una placa de interfaz de relé de 8 canales, que puede ser controlada directamente por una amplia gama de microcontroladores tales como Arduino, AVR, del PIC, ARM, PLC, Raspberry Pi etc

El contacto de cada relé   soporta una  salida máxima en  AC 250V  de  10A y en corriente continua DC30V    también de 10A lo cual lo hace ideal para  controlar varios aparatos y otros equipos de la corriente grande. .

gpio

En  la  imagen nos muestra en la parte superior los conectores con la Raspberry, el GND lo conectaremos a tierra,  el IN1 de la placa de reles   que controlara el canal de K1 (IN2 para el K2…) los conectaremos a un GPIO y haremos lo mismo con todas las conexiones IN2,IN3,IN4,IN5,IN6,IN7,IN8 ( según el numero de relés que tenga la placa)  Finalmente el VCC lo conectamos a los 5V de la Raspberry.  En la parte izquierda de la  placa de relés  ( donde vemos la clemas azules ) controlaremos  los  circuitos donde conectaremos los cables, si cerramos el circuito entre 1 y 2, el circuito normalmente estará ‘abierto’, si lo cerramos entre el 2 y el 3, el circuito normalmente estará ‘cerrado’.

reles

Prueba Manual desde la Raspberry Pi

Como se puede puede imaginar el circuito es  bastante simple  En la RaspberryPi  para probar localmente que todo esta correcto instalaremos wiringpi y no hay que instalar nada más.

tar xfzv wiringPi-xxx.tar.gz
cd wiringPi-xxx
./build

En el Raspberry ejecutamos:

1
gpio -g mode 18 out

Para encenderla:

1
gpio -g write 18 1

Para apagar la luz ejecutamos:

1
gpio -g write 18 0
Es decir  en reumen;
gpio readall --> Nos saca el status de todos los GPIO.
gpio -g mode 24 out --> Enciende GPIO24.
gpio -g mode 24 in --> Apaga el GPIO24.
gpio -g read 24 --> Saca el status, encendido 0, apagado 1.

Una vez probado el circuito ya desde el interfaz de cayenne ( desde la web o desde la aplicación móvil) si esta nuestra placa correctamente configurada podremos ver el estado de los relés así como interactuar con ellos .

Dudas mas comunes

  • Bien, he descargado la aplicación, ¿qué hago ahora?   En primer lugar, asegúrese de que tiene el Sistema Operativo Raspbian (OS) instalado en su Raspberry Pi. Este es el sistema operativo estándar que viene de los propios fabricantes de Raspberry Pi. Si usted compró NOOBS, la tarjeta SD pre-formateada, entonces se debe instalar fácilmente Raspbian para usted.
  • ¿Necesito un poco más de instrucción? Raspberry Pi tiene un tutorial aquí  que le guiará a través de cómo instalar el sistema operativo Raspbian en su Raspberry Pi. En segundo lugar, su Raspberry Pi debe estar conectada a Internet. Si su Raspberry Pi está conectada a la misma red que su teléfono, entonces la aplicación myDevices Cayenne encontrará automáticamente su Raspberry Pi y descargará el agente para que puedas empezar a construir tus proyectos IoT en un abrir y cerrar de ojos.
  • ¿Tengo que saber programar para utilizar myDevices Cayenne? He probado otras plataformas y me exigían programar. Una vez que el agente Cayenne está instalado en su Raspberry Pi, myDevices Cayenne se encarga de toda la codificación. De esta forma, ¡puedes centrarse en crear!
  • He oído hablar del término «agente», ¿qué es? Es un software que instalamos en tu Raspberry Pi y que le permite controlar y gestionar todos los sensores, actuadores y extensiones que utilices en tus proyectos IoT. También significa que usted no tiene que escribir ningún código.
  • ¿Tengo que estar conectado a la misma red WiFi que mi Raspberry Pi para poder controlarla y gestionarla? No, conectan su Raspberry Pi a la nube por esta misma razón.
  • El panel de control de mi cuenta tarda un poco en reconocer que he encendido mi Raspberry Pi, ¿por qué? Esto es correcto. Después de arrancar su Raspberry Pi, se tarda aproximadamente un minuto para que todo se cargue. Esto es normal en todos los ordenadores.
  • ¿Tendré que pagar alguna vez para utilizar la aplicación myDevices Cayeene o el panel web?De momento, no. Si alguna vez planeamos cobrar por algo, serás el primero en saberlo.
  • ¿Debo apagar mi Raspberry Pi cuando conecte sensores, actuadores o extensiones? Sí, debe desconectar la alimentación de su Raspberry Pi cuando añada o quite cables. Una vez que haya terminado, conecte su Raspberry Pi de nuevo a la fuente de alimentación.
  • ¿Funciona myDevices Cayenne a través de bluetooth?Todavía no. Por favor, ¡hágales saber a los programadores de Cayenne si esta es una característica importante!
  • La función de escritorio remoto no funciona.Es posible que tenga que permitir las ventanas emergentes para que funcione el acceso remoto.

Creacion de un aplicacion movil para Iot


A veces crear una APP móvil para nuestro proyecto de IOT puede ser una labor muy compleja dependiendo muchísimo de la tecnologia que usemos para desarrollarla. Para intentar simplificar todo esto en este blog hemos hablado del entorno Cayenne que dispone también de infraestructura en la nube y también está disponible tanto versión web como móvil, pero en esta ocasión vamos a tratar una solución mucho más sencilla conocida como Blynk.  Si es la primera vez que conoce Blynk, ¡bienvenido! Blynk está aquí para ayudar a todos aquellos desarrolladores y emprendedores con talento que buscan crear prototipos, desplegar y gestionar remotamente dispositivos electrónicos conectados a cualquier escala. Esta  nueva plataforma le permitirá conectar el hardware a la nube y utilizar módulos de aplicación preconfeccionados para construir aplicaciones iOS, Android y web listas para los usuarios finales.

Obtención de la placa Arduino adecuada para el trabajo

Si desea realizar un proyecto Arduino que está conectado a Internet a través de WiFi, necesita una placa a que puede conectarse a Wi-Fi. Es así de simple. El Arduino UNO, nano, micro, Mega … no se puede conectar a Wi-Fi sin la adición de escudos caros y obsoletos. Así mismo puede ahorrar mucho tiempo y dinero y no hacer para esto a menos que tenga una buena razón para hacerlo. Hay afortunadamente placas mucho más baratas con conectividad wifi como pueden ser  ESP8266  y su sucesor el ESP32 ( asi como todos sus derivados).

Una placa muy barata es  Wemos D1 o Wemos mini tablero de http://www.wemos.cc. Los Wemos D1 es un clon de la Arduino UNO  que utiliza el chip esp8266, cuenta con capacidades WiFi completo fuera de la caja y cuesta sólo $ 4,00 (aunque hoy en dia una placa basada es ESP32 es mucho más potente y versatil por muy poco mas)  .Esa  placa que vemos abajo es muy barata contando con un microprocesador que se conecta a Wi-Fi. Cuenta con todas las cosas que sabe y gusta  como: pines digitales, pines analógicos, Vin, GND, 3,3 V de salida, conector de alimentación, salida de 5 V y un conector micro USB rápido y fácil de cargar sus bocetos.

Si necesita una placa  más pequeña, un ejemplo es la  Wemos mini (basada también en el ESP8266). 

Getting the Right Arduino Board for the Job

EJEMPLO INICIAL

Inscribirse

‍ Su primer paso será crear una cuenta. Puede hacerlo descargando  la app para iOS y Android o en Blynk.Console . El proceso de registro es bastante sencillo, pero aquí puede consultar una guía más detallada si es necesario

Nota: Si es usuario de Blynk 1.0, deberá crear una nueva cuenta para acceder a la nueva plataforma.

Habilitar el modo de desarrollador

‍ El desarrollador Por lo general, es alguien que construye el hardware, desarrolla el firmware y realiza todas las configuraciones del dispositivo.

Habilitar el modo de desarrollador:
  1. En la aplicación Blynk o en Blynk.Console
  2. Vaya a Mi perfil / Perfil de usuario en el menú de la izquierda
  3. Verifique que el interruptor del modo de desarrollador esté en ON

Nota: actualmente, solo se permite un desarrollador por organización para evitar problemas de sincronización. Este límite se puede cambiar más adelante.

‍‍

Configuración rápida de plantilla

‍ Una vez que esté en modo desarrollador, puede comenzar a trabajar en su primera plantilla de dispositivo. Plantilla de dispositivo es un conjunto de configuraciones heredadas por dispositivos de un tipo similar. Piense en los interruptores domésticos inteligentes. Todos realizan una función similar y es seguro asumir que deberían tener el mismo modelo de datos, GPIO, código de firmware, etc. Si necesitara introducir cambios en todos estos dispositivos, en lugar de editar cada uno de ellos, simplemente podría editar se actualizará una plantilla de dispositivo y todos los dispositivos.

Active su primer dispositivo

‍ Ahora que ha creado una o más plantillas de dispositivos, puede comenzar a poner sus dispositivos en línea.

Para comenzar a usar Blynk.Cloud, debe asignar un AuthToken único a cada dispositivo. El objetivo de AuthToken es identificar el dispositivo en Blynk Cloud. Hay algunas formas de obtener tokens de autenticación para su dispositivo y pueden variar según el hardware, la conectividad y el caso de uso de IoT en el que esté trabajando.

Estas son las dos formas principales de poner AuthTokens en sus dispositivos:

A. Aprovisionamiento de WiFi mediante Blynk.Edgent

‍ Para los dispositivos que pueden conectarse a Internet a través de WIFI, recomendamos utilizar el método de aprovisionamiento WiFi integrado en la aplicación Blynk. Este método también se denomina aprovisionamiento de tokens de autenticación dinámicos.

La aplicación Blynk y Blynk.Edgent se encargarán de decirle a sus dispositivos cómo conectarse a la red WiFi de su hogar u oficina. El nuevo token de autenticación se generará y almacenará automáticamente en el dispositivo. No necesita especificar las credenciales de WiFi y el token de autenticación en el código de firmware.

Recomendamos enfáticamente utilizar el aprovisionamiento WiFi si está trabajando en un producto WiFi comercial. Beneficios del método de aprovisionamiento WiFi para aplicaciones comerciales:

  • No puede predecir a qué red WiFi sus clientes conectarán sus productos.
  • Simplifica el proceso de fabricación a escala, ya que puede usar un código de firmware similar sin necesidad de agregar manualmente el token de autenticación a cada dispositivo al final de la línea de fabricación.
B. Activación del dispositivo con un token de autenticación estático (para Ethernet, celular y otros tipos de conexión)

‍ Este método se recomienda para dispositivos que pueden conectarse a Internet mediante Ethernet, celular (2G, 3G, 4G, LTE) u otros tipos de conexión (que no requieren credenciales WiFi personalizadas, por ejemplo).

La principal diferencia con el aprovisionamiento de WiFi es que AuthToken debe generarse manualmente y actualizarse en el dispositivo antes de que pueda usarse.

El token de autenticación estático se usa a menudo durante la etapa de creación de prototipos. Sin embargo, Blynk también ofrece una solución completa para trabajar con tokens estáticos en las aplicaciones comerciales.

Enviar datos del dispositivo a Blynk

‍ Para enviar mensajes desde la aplicación al código que se ejecuta en su placa (a través del servidor Blynk), utilizará pines virtuales.

  • Los pines virtuales son independientes del hardware. Esto significa que es mucho más fácil transferir su código de una plataforma de hardware a otra en el futuro (por ejemplo, puede darse cuenta de que NodeMCU es mejor que Arduino Uno + ESP-01 con el que comenzó).
  • Tienes mucho más control sobre lo que hace tu widget cuando usas pines virtuales. Por ejemplo, si desea que un solo botón de aplicación active o desactive varios relés al mismo tiempo, es muy fácil hacerlo con pines virtuales.
  • Los pines virtuales son más predecibles (estables si lo desea) que manipular pines digitales.
Configurar notificaciones para un solo dispositivo o para una selección de dispositivos

‍ Nota : las notificaciones funcionan además de Eventos . Antes de continuar, asegúrese de que su producto tenga al menos un evento configurado en sus notificaciones de configuración de plantilla para una selección de dispositivos

  1. Abrir búsqueda
  2. Ir a Dispositivos
  3. Seleccione varios dispositivos
  4. Pase el cursor sobre el menú Acciones […]
  5. Haga clic en Configuración de notificaciones

En el cajón abierto, seleccione los eventos deseados para editar

  1. Haga clic en Editar configuración

‍En la ventana modal, active los canales deseados (Correo electrónico, Push o SMS), seleccione los destinatarios . Si el destinatario no está en la lista, puede buscar escribiendo el nombre o la dirección de correo electrónico.

Tenga en cuenta que está la entrada «Todos los miembros». Significa que todos los usuarios de la organización a la que pertenece el dispositivo serán los destinatarios de una notificación.

EJEMPLO  CON WEMOS

1. Instale la última versión del IDE de Arduino http://www.arduino.cc

2. Siga los pasos en el sitio Wemos para configurar el IDE de Arduino para apoyar la placa Wemos  http:? Id = //www.wemos.cc/wiki/doku.php en: arduino_g …

3. Descargue los ejemplos de  Wemos D1 desde https: //github.com/wemos/D1_mini_Examples/archive / …

4. Descomprima el archivo descargado  de https://github.com/wemos/D1_mini_Examples/archive/master.zip
5. Copie todos los archivos en el directorio de ejemplos de Arduino: (normalmente C: \ Archivos de programa (x86) \ Arduino \ ejemplos)
6. IDE Arduino abierto, seleccione Archivo – ejemplos – Mini ejemplos D1 – Bases – abrir y cerrar
7. En Herramientas, seleccione su tablero Wemos y el puerto COM correcto (éste es el puerto USB que está utilizando, por lo general sólo una opción estará disponible)
8. Suba su boceto. Si  su tarjeta está parpadeando, lo hizo bien, si no, se ha perdido uno de los pasos anteriores.

Creación de su  aplicación con Blynk

Para hacer  nuestra aplicación vamos a utilizar Blynk. Blynk es una sencilla herramienta que te permite crear aplicaciones en su teléfono y compartir esas aplicaciones con otras personas. Es un sistema de arrastrar y soltar lo que no requiere lenguaje de programación y toma el control directo de los pines del Arduino . Comenzó como un pedal de arranque en 2015, pero creció rápidamente para ser una herramienta profesional y de gran utilidad. la mejor parte: la aplicación se creará en sólo un minuto y estará totalmente adaptable! (Únase a los foros Blynk si necesita ayuda o quiere contribuir).

1. Descargue la última biblioteca de Blynk http://www.blynk.cc/getting-started/,descomprimir y copiarlo en el directorio de la biblioteca Arduino (normalmente: C: \ Archivos de programa (x86) \ Arduino \ bibliotecas).

2. Descargue la aplicación Blynk para Android o Iphone  y hacer su primera aplicación. Vaya a la configuración y elija Esp8266.

3. En «configuración» en la aplicación que se encuentra «token de autenticación» por email a si mismo, que lo necesitará más adelante .

4. Abra el IDE Arduino.
5. Bajo el item  ejemplos, elija Blynk, «independiente esp8266»

6. En el boceto, agregue el token de autenticación de la etapa 3, donde dice token de autenticación. SSID es el  nombre de la conexión Wi-Fi y la contraseña es la contraseña de su red wifi. Llene estos tres en el croquis en sus respectivos lugares . No hay necesidad de seguir elaborando el boceto. Sólo con este código tendrá un control total sobre todos los pasadores de su tarjeta a través de la app.

Creating Your Android / Iphone App With Blynk

Prueba de su aplicación Blynk!

1. Añadir un LED a GND y el pin 13 en su tablero Wemos (Quiero mencionar que la forma correcta de hacer esto, es con una resistencia entre el pin 13 y el LED. Su LED no va a vivir una vida muy larga y sin)
2. En la aplicación en su teléfono o tableta, agregue un control deslizante conectado al pin gpO14.(Nótese que las patas de la placa no son los mismos que los pasadores en la aplicación. Para una descripción completa, consulte el diagrama anterior, Observe también que pines I / O en Wemos tableros son de 3,3 voltios, no de 5 voltios al igual que en la Arduino UNO. no enviar 5 voltios a través de ellos!)
3. En el IDE de Arduino pulsar  el botón de reproducción en la esquina superior derecha de la aplicación Blynk. FELICITACIONES !!!!

Acabamos de realizar  un proyecto de electrónica TOTALMENTE CONTROLADO INTELIGENTE !!!!, para ello mueva el control deslizante hacia la derecha para hacer que el led ir más brillante, a la izquierda del atenuador de luminosidad.

TEST Your Blynk App!

Algunas observaciones importantes

– Como se mencionado antes en el paso 4 los pines de la placa no coinciden con la aplicación, consulte el sitio Wemos para la disposición de las clavijas de la placa específica. Es probable que en un futuro próximo Blynk añadirá soporte Wemos por supuesto, a continuación, seleccione su tablero de aplicación y los pasadores coincidirán.

– 3,3 v es todo el i / o pasadores de apoyo Wemos. Va a romper su tablero si envía más a través de él. Un circuito divisor de resistencia o tensión simple puede ayudar si usted fuera a ser pegado con 5v entrada que necesita convertir.

– Los Wemos sólo tiene un pin analógico. Si necesita mucho más, necesitara usar otra placa como puede ser el ESP32

Fuente aqui