Contador inteligente basado en Home Assistant


En efecto, es posible crear un contador de consumo de energía inteligente usando un mínimo hardware (en nuestro caso un node MCU con un modulo PZEM) y el software de Home Assistant (que, en nuestro caso, correrá en nuestro PC o en una Raspberry Pi). Para ello vamos a utilizar una pequeña solución, que es muy utilizada para hacer este tipo de mediciones, por lo que vamos a integrar con un modulo PZEM004 ( del que hemos hablado en numerosas ocasiones en este blog ) , y como controlador, una placa para redes inalámbricas basado en el chip ESP8266, y luego haremos la integración mediante el software de Home Assistant.

Esta solución nos ofrecerá un medidor de corriente y de consumo muy útil ,ya que podemos medir no sólo el consumo general que tenemos de la red eléctrica, sino que también un sinfín de aplicaciones como por ejemplo para poder medir la producción de energia fotovoltaica, fluctuaciones de red, presencia de energia reactiva, etc.

Además a diferencia de otros proyectos que hemos tratado en este blog que vuelcan los datos sobre nubes publica ( por ejemplo Cayenne), en esta ocasión las medidas de nuestro consumo eléctrico quedan en nuestra propia nube privada garantizada por el sw de Home Assistant.

TASMOTA

Tasmota es un firmware de código abierto para dispositivos ESP desarrollado por Theo Arends (de los Países Bajos). También es el webmaster de un blog de tecnología con buenos tutoriales. Tasmota no está escrito en «lenguaje Arduino», sin embargo, no necesitará codificar con Tasmota. Se trata principalmente de cargar el código, apenas cambiando 1-2 líneas para una configuración personalizada. Su arduo trabajo le dará un sistema listo para producción para controlar los relés que está listo para IoT (es un tema aparte sobre cómo configurarlo) y se puede configurar desde un dispositivo móvil como cualquier «enchufe inteligente» comercial. Como hemos dicho, Tasmota es un firmware preescrito para placas ESP. Muchos de los lectores suelen usar ESP32 con Arduino IDE y pueden temer usar Tasmota. En esta guía, explicaremos qué herramientas necesitará para cargar el firmware de Tasmota.

Desde el repositorio de GitHub de Theo Arends ( https://github.com/arendst/Tasmota/tree/firmware/firmware/tasmota32 ) , obtendrá el archivo tasmota32.bin:

Necesita descargar ese archivo  tasmota32.bin

Desde techiesms.com ha creado un repositorio con todos los archivos necesarios (incluido el archivo anteriortasmota32.bin) que necesitará cargar. Lo podemos encontrar también en el repositorio de GitHub (aún no se he editado ningún archivo) de AbhishekGhosh (https://github.com/AbhishekGhosh/TASMOTA-on-ESP32 )

Necesitará la herramienta flasher oficial del sitio web de Espressif https://www.espressif.com/en/support/download/other-tools

Termite ayudará a agregar SSID y contraseña a la placa ESP: https://termite.software.informer.com/3.2/

Las anteriores son las herramientas que necesitaremos. Sin embargo, puedes usar Tasmotizer en su lugar: https://github.com/tasmota/tasmotizer

Inicie la herramienta intermitente de Espressif. Seleccione «Modo desarrollador». Luego haga clic en «Herramienta de descarga ESP32». Cuando se inicie el software flasher, deberá cargar:

BootLoader.bin
Parttion_Table.bin
SPIFFS.bin
tasmota32.bin

Seleccione el puerto COM correcto, la tasa de baudios correcta y haga clic para comenzar. Una vez que se complete el flasheo, se detendrá y saldrá de la aplicación. Abra la herramienta Termitas. Seleccione el puerto COM correcto, la tasa de baudios correcta.

 Ingrese estos comandos uno por uno:

SSID1 <name-of-hotspot># hit enter/command
Password1 <password-here># hit enter/command
## do not use <  >

En el resultado, obtendrá la dirección IP local del dispositivo.

 Puede abrir la dirección IP en un navegador y jugar con la configuración de GPIO (Configuración> Configurar módulo).

Cómo trabajar con Tasmota en ESP32

HOME ASSSITANT

Home Assistant es un software de código abierto que le permite monitorear dispositivos IoT en su hogar. Además, puede crear automatización fácilmente. Por ejemplo, cuando la temperatura es inferior a 21 grados, puede enviar una notificación a su dispositivo móvil. Además, puede hacer funcionar su calentador si tiene un calentador conectado.

En la mayoría de los casos, Home Assistant se instala en una Raspberry pi como se muestra en el documento oficial . Sin embargo, en este post explicará cómo instalar en su ordenador usando docker compose, lo cual hace la instalación muy sencilla.

Comencemos por crear el directorio myproject. En este directorio, cree un subdirectorio llamado config. Debería tener un árbol que se parezca a:

| myproject
| -- docker-compose.yaml
| -- config

Ahora agregue el archivo docker-compose.yam a la carpeta  myproject.

# docker-compose.yaml
version: "3.5"
services:
  homeassistant:
    container_name: home-assistant
    image: homeassistant/home-assistant:stable
    volumes:
      - ./config:/config
    environment:
      - TZ=Europe/Paris
    restart: always
    ports:
      - 8123:8123
    network_mode: host

Ejecute el asistente de inicio:

$ docker-compose up -d

Asistente de configuración del hogar

Enhorabuena, su Home Assistant ya se está ejecutando. Necesita configurarlo de la siguiente manera:

  • Vaya a http://localhost:8123
  • Cree su cuenta usando un nombre de usuario y contraseña
  • Agregue su ubicación si está interesado en ver datos meteorológicos
  • Luego haga clic en finalizar

Debería aparecer una página de inicio.Página de inicio del asistente de inicio

Configuración del asistente doméstico

  • Haga clic en Configuration, en la parte inferior izquierda.
  • Ir a Integrations
  • Haga clic en el +botón en la parte inferior derecha.
  • Aparecerá un modal con la lista de dispositivos compatibles, haga clic en esphome.
  • Agregue la dirección IP de su ESP32, deje el puerto en 6053.
  • Haga clic en finalizar.

Ahora tiene un ESPhome configurado correctamente.Integración de esphome asistente de hogar

Agregar datos a la página de inicio

Una vez que haya configurado un dispositivo ESPhome, ahora puede agregar los datos que proporciona a su página de inicio. Por ejemplo si su dispositivo está conectado al termómetro Xiaomi Mijia, el objetivo sería ver los datos de temperatura y humedad.

  • Haga clic en Configuration, en la parte inferior izquierda.
  • Ir a Devices
  • Haga clic en su dispositivo
  • En la parte inferior Entidades, haga clic en Add to Lovelace.

Finalmente, regrese a la página de inicio y controle la temperatura de su sala de estar desde la página de inicio.

Temperatura del asistente del hogar

Acceso a la temperatura desde el exterior

Vigilar su casa cuando está adentro es importante, pero también lo es cuando está afuera.

  • En primer lugar, abra el puerto 8123 en su enrutador y reenvíelo al host del asistente doméstico.
  • Descargue la aplicación Home Assistant para Android o iOS .
  • Obtenga la IP pública de su puerta de enlace doméstica usando https://www.showmyipaddress.eu/
  • Abra la aplicación y agregue la url de conexión http://yourpublicip:8123/

Felicitaciones por instalar Home Assistant con éxito.

Configuración de contador de energia

El Pzem004 es un módulo de prueba de monitorización eléctrica que incluye un transformador de corriente que viene además ya calibrado. El módulo puede usarse para medir la energía, el voltaje y la corriente, y luego mostrarlo en un PC u otros terminales ofreciendo una precisión del 1%. Existe una versión con display que incluye un botón de restablecimiento que puede restablecer los datos de energía simplemente pulsándolo. Además, puede almacenar datos cuando se apaga, y almacenar los datos de energía acumulados antes de apagarse, por lo que es muy conveniente usarlo.

Gracias a que todas las versiones equipan un interfaz de comunicación de datos serie TTL, puede leer y configurar los parámetros relevantes a través del puerto serie que podemos capturar con un microcontrolador como por ejemplo un ESP32.

En efecto usando la Biblioteca Arduino para Peacefair  en un ESP32 y un PZEM-004T-100A v3.0 podemos construir un Monitor de energía usando la interfaz ModBUS.

Antes de empezar debemos saber que la versión 3.0 PZEM es una versión mejorada de la anterior PZEM-004T (para la que puede encontrar la biblioteca aquí aunque las bibliotecas son incompatibles entre las dos versiones de hw).

Las principales características de este módulo son las siguientes;

  • Mide voltaje, corriente, potencia, energía, factor de potencia y frecuencia (nuevo en la versión 3.0)
  • 247 direcciones esclavas programables únicas
  • Contador de energía interna hasta 9999.99kWh
  • Alarma de sobrealimentación
  • Puesta a cero del contador de energía
  • Suma de comprobación CRC16
  • Mejor, pero no perfecto aislamiento de red

Especificaciones del fabricante

FUNCIÓNRANGO DE MEDICIÓNRESOLUCIÓNPRECISIÓN
Voltaje80~260V0.1V0,5%
Actual0~10A o 0~100A*0.01A o 0.02A*0,5%
Poder activo0~2,3kW o 0~23kW*0.1W0,5%
energía activa0~9999.99kWh1Wh0,5%
Frecuencia45~65Hz0,1 Hz0,5%
Factor de potencia0,00~1,000.011%

* Uso del transformador de corriente externo en lugar del derivador incorporado

Este módulo es una versión mejorada del PZEM-004T con funciones de medición de frecuencia y factor de potencia, disponible en los lugares habituales. Se comunica mediante una interfaz TTL a través de un protocolo de comunicación similar a Modbus-RTU, pero es incompatible con la biblioteca @olehs anterior que se encuentra aquí: https://github.com/olehs/PZEM004T&nbsp;. 

Compatibilidad con Arduino

A continuación mostramos la compatibilidad con diferentes microcontroladores:

Comunicación en serie


Este módulo está equipado con una interfaz de comunicación de datos en serie TTL, puede leer y configurar los parámetros relevantes a través del puerto en serie; pero si desea comunicarse con un dispositivo que use USB o RS232 (como un ordenador), debe estar equipado con un adaptador TTL diferente (la comunicación USB debe estar equipada con una placa adaptadora de conexiones TTL a USB y la comunicación RS232 debe estar equipada con un adaptador TTL a niveles RS232)

En la siguiente tabla se encuentran los protocolos de comunicación de este módulo:

NOFUNCIÓNCABEZADATOS1- DATOS5SUMA
1aRequerimiento de voltajeB0C0 A8 01 01 00 (La computadora envía una solicitud para leer el valor del voltaje)1A
1bRespuesta de voltajeA000 E6 02 00 00 (Respuesta del medidor, el valor del voltaje es 230,2 V)88
2aRequerimiento actualB1C0 A8 01 01 00 (La computadora envía una solicitud para leer el valor actual)1B
2bRepresentante actualA100 11 20 00 00 (Respuesta del medidor, el valor actual es 17.32A)D2
3aRequerimiento de potencia activaB2C0 A8 01 01 00 (La computadora envía una solicitud para leer el valor de potencia activa)1C
3bPotencia activa Resp.A208 98 00 00 00 (Respuesta del medidor, el valor de potencia activa es 2200w)42
4aLeer energía ReqB3C0 A8 01 01 00 (La computadora envía una solicitud para leer el valor de energía)1D
4bLeer energía Resp.A301 86 9f 00 00 (Respuesta del medidor, el valor de energía es 99999wh)C9
5aEstablecer la dirección del módulo ReqB4C0 A8 01 01 00 (La computadora envía una solicitud para configurar la dirección, la dirección es 192.168.1.1)1E
5bEstablecer la dirección del módulo resp.A400 00 00 00 00 (Respuesta del medidor, la dirección se estableció correctamente)A4
6aEstablecer el umbral de alarma de potencia ReqB5C0 A8 01 01 14 (la computadora envía una solicitud para establecer un umbral de alarma de energía)33
6bEstablecer el umbral de alarma de potencia RespA500 00 00 00 00 (El medidor responde que el umbral de alarma de energía se configuró correctamente)A5

Veamos ahora un ejemplo de protocolo de comunicación:

1-Configure la dirección de comunicación: 192.168.1.1 (el usuario puede configurar su propia dirección en función de sus preferencias y necesidades).

Enviar comando: B4 C0 A8 01 01 00 1E –>Datos de respuesta: A4 00 00 00 00 00 A4 .

Nota: El envío de comandos y la respuesta automática de datos son como se muestra arriba, los datos se expresan en hexadecimal; el último byte de los datos de envío y respuesta son 1E y A4, pertenecen a la suma acumulativa. En el envío de comandos: B4 + C0 + A8 + 01 + 01 + 00 = 21E (utilice la suma hexadecimal), los datos de suma acumulada son 21E, tome los dos últimos bytes 1E para utilizar los datos de suma acumulada en el envío de comandos; datos en respuesta: A4 + 00 + 00 + 00 + 00 + 00 = A4 (use la suma hexadecimal), la suma acumulada de datos es A4, que es la suma acumulada de datos en respuesta.

2-Configure el umbral de alarma de potencia: 20 KW
Comando de envío: B5 C0 A8 01 01 14 33–>Datos de respuesta: A5 00 00 00 00 00 A5
Nota : 14 en el comando de envío es el valor de la alarma (14 es una representación de datos hexadecimales, que se convirtió a decimal es 20). Lo que debe tener en cuenta es que el valor de alarma de potencia de este módulo se basa en unidades KW, lo que significa que el valor mínimo de alarma es 1 KW, el valor máximo es 22 KW.

3-Leer el voltaje actual
Enviar comando: B0 C0 A8 01 01 00 1A–>Datos de respuesta: A0 00 E6 02 00 00 88
Nota : Los datos de voltaje de respuesta son D1D2D3 = 00 E6 02, 00 E6 representa el bit entero del voltaje, 02 representa el decimal del voltaje, el decimal es un dígito, convierte 00 E6 en decimal es 230; convierte 02 a decimal es 2, por lo que el valor de voltaje actual es 230.2V.

4-Leer el comando de envío actual actual

Enviar comando: B1 C0 A8 01 01 00 1B–>Datos de respuesta: A1 00 11 20 00 00 D2
Nota : Los datos actuales de respuesta son D2D3 = 11 20, 11 representan el bit entero de la corriente, 20 representan el decimal del actual, el decimal actual es de dos dígitos, convierte 11 en decimal es 17; convierte 20 a decimal es 32, por lo que el valor actual actual es 17,32 A.

5-Leer el comando de envío de energía actual

Enviar comando:: B2 C0 A8 01 01 00 1C–>Datos de respuesta: A2 08 98 00 00 00 42
Nota : Los datos de energía de respuesta son D1D2 = 08 98, convierte 08 98 a decimal es 2200, por lo que el valor de voltaje actual es 2200W .

6-Leer el comando de envío de energía:

Enviar comando:B3 C0 A8 01 01 00 1D–>Datos de respuesta: A3 01 86 9F 00 00 C9
Nota : los datos de energía de respuesta son D1D2D3 = 01 86 9F, convierte 01 86 9F a decimal es 99999, por lo que la energía acumulada es 99999Wh .

Circuito Básico con ejemplo de código

Gracias a la biblioteca PZEM-004T v3.0 para el monitor de energía Peacefair PZEM-004T-10A y PZEM-004T-100A v3.0 utilizando la interfaz ModBUS y una placa ESP32, podemos monitorizar el consumo eléctrico junto a otras variables eléctricas como la tensión , la frecuencia , el factor de potencia, etc.

Es interesante destacar que debemos usar la ultima versión del modulo, pues la versión 3.0 PZEM es una versión mejorada del antiguo PZEM-004T 

Respecto a las conexiones eléctricas debemos tener especialmente cuidado en el conexionado de las clemas de BT , las cuales viene claramente especificadas en la hoja de característica del modulo PZEM que usemos, pues una parte es para la medida del voltaje ( la medición se hace en paralelo ) y la parte contigua es la parte de la medida de la Intensidad (la medida se toma en serie en versiones de menos intensidad máxima admisible, pero para la versión de 100A se suele tomar con una bobina toroidal o con un pinza amperimétrica)

¡Asegúrese de que el dispositivo esté conectado a la alimentación de CA! Los 5V solo alimentan los optoacopladores, no el chip real. Además, tenga cuidado, ¡la corriente alterna es peligrosa! ¡Si no sabe lo que estás haciendo, puede morir ! Es usted responsable de su propia estupidez. Así que no sea estúpido

Peor tanto ,debemos extremar el cuidado especialmente en estas conexiones (las que van con tornillo).

Observe por ejemplo las conexiones del módulo de 100 Amp. usado para escribir este post:

Esta versión PZEM tiene una UART Serial que funciona a 5V, por lo que se debe realizar una simple modificación soldando una resistencia de 1K a 1/4W para permitir que la comunicación funcione a 3.3v en los casos de placas como Raspberry Pi, ESP32 y esp8266, con esta modificación la UART funcionará a 5v o 3.3v.

Nota: Esta es la manera más sencilla y económica si no tienen al alcance un convertidor TTL de 5 a 3.3v, pero no se garantiza que funcione en todos los casos y con todos los medidores (en el prototipo probado funciona sin problemas).

Respecto a las conexiones del PZEM004 con una placa ESP32 , estas son las siguientes:

  • TX ->GPIO17 (pin 7)
  • RX ->GPIO16 (pin 6) (podemos conectar una resistencia de 1K entre este y GND ).
  • GND->GND DE SP32 (pin 2)
  • VCC->3.3 DE ESP32 (pin 1)


Vamos a seguir un esquema bastante sencillo que puede ser adaptado a distintas necesidades y montajes. Por ahora, y para realizar las pruebas podemos usar el siguiente simple esquema:

Por el interior del anillo tendremos que pasar el cable de Fase (Negro) sobre el que queramos realizar las mediciones, pudiendo ser el mismo, o no, que el que hemos usado para dar corriente al circuito.

Nota: Algunos módulos ESP permiten la salida de corriente 5V por el pin, otros no. Si vas a alimentar el módulo ESP con un cable USB y desde sus pines 5V/VCC y GND alimentar el módulo PZEM-004T comprueba que estos pines ofrezcan la corriente deseada.

Dado que realmente el módulo ESP funciona a 3,3V y si se desea alimentar el módulo PZEM-004T con este voltaje, se recomienda colocar una resistencia de 1K entre 5V y RX del propio PZEM-004T. La Web de Tasmota tiene mucha información al respecto.

Para ciertamente este montaje no conlleve ningún peligro debemos aislar ambas placas (por ejemplo en una caja de conexiones) para asegurarnos de que no recibimos ninguna descarga eléctrica fortuita tal y como podemos ver en el prototipo de abajo donde se usa un Arduino uno en lugar de un ESp32.

Compatibilidad

PRINCIPALES CARACTERÍSTICAS
  • Mide voltaje, corriente, potencia, energía, factor de potencia y frecuencia (nuevo en la versión 3.0)
  • 247 direcciones esclavas programables únicas
  • Contador de energía interno hasta 9999,99kWh
OTRAS CARACTERÍSTICAS
  • Alarma de sobrecarga
  • Reinicio del contador de energía
  • Suma de comprobación CRC16
  • Aislamiento de red mejor, pero no perfecto

En la configuración que vamos a ver a continuación, usaremos un ESP8266 en el lugar del ESP32, pero los pasos de configuración del menú de Tasmota es idéntico y por supuesto con el Home Assistant.

En el esquema se usan los puertos 5 y 6 ( eso son d5 y d6) conectados al modulo PZEM con sus respectivas masas . Entonces necesitamos luego suministrar 5 voltios para alimentar el nodemcu ( sirve por ejemplo un cargador de móvil que no usemos con salida micro-usb) y es tan simple como eso.

En este punto si hemos seguido los pasos comentados mas arriba para instalar el sw de Tasmota en el NodeMcu (donde como se ha comentado no hará falta instalar nada desde el ide de Arduino ) , nos iremos a la url de acceso creada para dar acceso al nuevo equipo Tasmota :

Deberemos configurar los pines que hayamos conectado al modulo PZEM pulsando sobre los desplegables de la derecha. Observe que el lado de transmisión es general para todos los PZEM y para el lados de RX deberemos seleccionar nuestro modulo especifico y por supuesto ambos en los GPIOS a los que estén conectados.

Guardaremos la información para que empiece Tasmota a procesar las mediadas.

Si to ha sido correcto. ya deberíamos ver en el menú de Tasmota los valores eléctricos referidos al módulo PZEM en tiempo real.

Solo nos queda comunicar el equipo Tasmota que acabamos de configurar usando el ESP y el PZEM con el Home Assistant, lo cual lo haremos a traves del menú MQTT. Para ello consultaremos en nuestro Home Assistant los valores de usuario/contraseña y el tópico que añadiremos desde en esta pantalla.


Una vez configurado el MQTT y tengamos arrancado el Home Assitant , ahora puede agregar los datos que proporciona a su página de inicio dado que ya se configurado un dispositivo ESPhome

  • Haga clic en Configuration, en la parte inferior izquierda.
  • Ir a Devices
  • Haga clic en su dispositivo
  • En la parte inferior Entidades, haga clic en Add to Lovelace.
Finalmente, regrese a la página de inicio y compruebe sus medidas eléctricas desde la página de Home Assistant:


En el siguiente video podemos ver todo el proceso completo:

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.