Medidas sincronizadas mediante un GPS


Un equipo del Instituto de Automatización de Sistemas Eléctricos Complejos (ACS) de la Universidad RWTH de Aquisgrán lleva un tiempo trabajando en el análisis de sistemas eléctricos ampliamente distribuidos. En su afán por alejarse de las plataformas electrónicas altamente especializadas (y costosas), han producido una instrumentación diseñada para funcionar con la plataforma Raspberry Pi y una pila de software de código abierto. La plataforma se llama SMU (Unidad de Medición Sincronizada) y consiste en un HAT situado en una RPi3, dentro de una caja impresa en 3D que está pensada para fijarse a un carril DIN (al fin y al cabo, se supone que es una plataforma industrial) .

Por supuesto el proyecto es abierto , tanto es asi que incluso está disponible los ficheros para imprimir en 3d la caja en https://git.rwth-aachen.de/acs/public/automation/smu

La tendencia al alza de los ordenadores de placa única (SBC), baratos y de alto rendimiento, ofrece cada vez más oportunidades sin precedentes en diversos ámbitos, aprovechando el amplio soporte y la flexibilidad que ofrece un entorno de sistema operativo (SO). Lamentablemente, los sistemas de adquisición de datos implementados en un entorno de SO se consideran tradicionalmente no adecuados para aplicaciones industriales fiables. Esta posición se apoya en la falta de manejo de interrupciones por hardware y de control determinista de las operaciones temporizadas. En este trabajo los autores llenan este vacío proponiendo una innovadora y versátil plataforma de código abierto basada en SBC para la adquisición de datos independiente de la CPU. La unidad de medida sincronizada (SMU) es un dispositivo de alta precisión capaz de realizar un muestreo simultáneo multicanal de hasta 200 kS/s con una precisión de sincronización de sub-microsegundos con una referencia de tiempo GPS. Presenta errores de offset y ganancia muy bajos, con un ancho de banda mínimo superior a 20 kHz, niveles de SNR superiores a 90 dB y THD tan bajos como -110 dB. Estas características hacen que la SMU sea especialmente atractiva para el ámbito de los sistemas de energía, en el que cada vez se requieren más mediciones sincronizadas para la supervisión geográficamente distribuida de las condiciones de funcionamiento de la red y los fenómenos de calidad de la energía. Presentamos la caracterización de la SMU en términos de precisión de las medidas y de la sincronización temporal, demostrando que este dispositivo, a pesar de su bajo coste, garantiza unas prestaciones que cumplen los requisitos de las aplicaciones basadas en sincrofasores en los sistemas de potencia.

En cuanto al hardware, la estrella del espectáculo es el ADS8588S de Texas Instruments, que es un ADC de 16 bits y 8 canales de muestreo simultáneo. Es un dispositivo bastante bueno, con un rendimiento de 200 kSPS y un frontal programable por canal, empaquetado en un QFP de 64 pines fácil de usar. Sin embargo, lo que hace que este proyecto sea interesante es cómo han resuelto el problema de controlar la adquisición de datos muestreados y la sincronización.

Programando el ADC en modo byte-paralelo y utilizando el bloque de interfaz de memoria secundaria (SMI) del BCM2837 junto con el DMA, las muestras se transfieren a la memoria con una sobrecarga mínima de la CPU. Un módulo GNSS U-Blox Max-M8 integrado proporciona una señal de 1PPS (pulso superior al segundo), que se combina con la señal de ocupación del ADC de forma muy sencilla, lo que permite tanto el control de la velocidad de muestreo como la sincronización entre múltiples unidades repartidas en una instalación. Calculan que pueden conseguir una sincronización con una precisión de 180 ns de la parte superior del segundo, lo que debería ser suficiente para medir sistemas de potencia que cambian con relativa lentitud. La placa de circuito impreso del HAT se creó en KiCAD y se puede encontrar en la sección de hardware de SMU GitHub, lo que hace que sea fácil de modificar según tus necesidades, o al menos ajustar el diseño para que coincida con las piezas que puedes conseguir.

En cuanto al software, la pila completa se proporciona desde el módulo del kernel que se ocupa de las cosas de bajo nivel, ofreciendo /dev/SMU, hasta el demonio de gestión y una interfaz gráfica de usuario basada en QT. Se puede encontrar una descripción completa del sistema en el artículo de acceso abierto asociado.

Anuncio publicitario

Fácil monitorización energética


IotaWatt es un proyecto que surgió de un esfuerzo informal para producir un medidor de energía eléctrica versátil que fuera más fácil de configurar y usar. Al emplear el popular y potente chip nodeMCU ESP8266, tiene un entorno operativo con un enfoque modular para la recopilación, almacenamiento y la generación de informes de datos junto con un servidor web WiFi integrado. El firmware resultante, después de más de un año de desarrollo, es por tanto muy robusto. Los primeros esfuerzos se concentraron en el uso de placas y escudos en forma de kit con un mínimo de hardware personalizado. Eventualmente, se hizo evidente que se necesitaba una sola placa personalizada para proporcionar la plataforma necesaria para que el software fuera útil ( de hecho el diseño actual de hardware abierto se produce comercialmente).

Aunque los esquemas y el diseño de PCB están abiertos y disponibles en el proyecto Git, hay mucho más para hacer un producto comercial viable. IoTaWatt, Inc. es una entidad legal que se estableció en respuesta a la demanda de hardware de producción. El dispositivo básico, así como el equipo relacionado, se pueden comprar utilizando en su sitio web https://stuff.iotawatt.com/ ( ellos afirman que los costos para desarrollar y certificar el hardware fueron sustanciales y, con suerte, se compensarán con las ventas). Para ellos, los objetivos a corto plazo del proyecto son desarrollar más aplicaciones analíticas locales y desarrollar la infraestructura de soporte de la comunidad.

Veamos un poco más en detalle esta interesante solución abierta para monitorización del consumo energético.

Photo by Constantine Kim on Pexels.com

Sistema abierto IotaWatt

No es que otros monitores de energía sean malos, pero sí son diferentes en que en su mayoría son sistemas cerrados que brindan datos limitados y requieren que use sus plataformas de aplicaciones de teléfono y nube. IoTaWatt recopila muchas más métricas y almacena ese historial de uso localmente. Con su servidor web integrado, puede administrar la configuración, ver el estado en tiempo real o crear gráficos detallados usando el navegador en su computadora, tableta o teléfono. Son sus datos, en su propio hogar, y sujetos únicamente a su propia política de privacidad y retención.  Sin embargo, IoTaWatt puede cargar fácilmente datos de uso en cualquiera de varias bases de datos de terceros con aplicaciones asociadas y herramientas analíticas. Por ejemplo, PVoutput es un servicio gratuito que se conecta fácilmente con IoTaWatt y proporciona análisis de energía solar de clase mundial. Hay soporte completo para cargar a influxDB. También hay una interfaz API para aquellos que desean consultar datos para sus propias aplicaciones o para usar en hojas de cálculo, y hay integraciones disponibles para software de automatización del hogar como Home Assistant.

IotaWatt tm es por tanto un monitor de energía eléctrica conectado WiFi de 14 canales de hardware abierto. Se basa en la plataforma IoT ESP8266 que utiliza ADC de 12 bits MCP3208 para muestrear el voltaje y la corriente de CA. Ademas puede registrar datos localmente en la tarjeta SD integrada y publicarlos directamente en Emoncms.org a través de WiFi.

No hay planes para descontinuar el emonTx. Tanto IoTaWatt como emonTx tienen ventajas en áreas clave que se complementan entre sí.

IoTaWatt es completamente de código abierto y ha sido desarrollado por Bob Lemaire @overeasy en asociación con OpenEnergy

IoTaWatt se puede usar para monitorear cualquier sistema de energía estando en uso en más de 60 países en todo el mundo. La fase dividida de EE. UU. 120V/240V es fácil, pero también la monofásica de 230V como en Europa, la trifásica de 230V como en los hogares de Australia, Alemania y Noruega, por nombrar algunos. A la mayoría de las personas solo les importa si funcionará en su situación. La respuesta es un sí rotundo.

También hay muchos usuarios comerciales/industriales que monitorean sistemas trifásicos de alto voltaje, incluidos los industriales de 277 V/480 V con un servicio de 600 amperios que usan varios megavatios-hora por día, más de lo que la mayoría de los hogares usan en un año. Luego hay un sitio en Uganda que mide el voltaje y la potencia que se usa para cargar motocicletas eléctricas de alquiler usando energía solar.

Todo esto es posible porque IoTaWatt utiliza sensores externos simples que están disponibles para cualquier combinación de voltaje/potencia. Simplemente instálelo, conéctelo a IoTaWatt y seleccione el tipo de sensor en un menú desplegable en la aplicación de configuración.

Cómo funciona

IoTaWatt mide cada circuito usando un sensor pasivo que se engancha alrededor de uno de los cables aislados. La salida de cada uno de estos transformadores de corriente es de muy bajo voltaje y se conecta a cualquiera de las 14 entradas de IoTaWatt. 

Un transformador de pared insertado en un receptáculo ordinario convierte el voltaje local en un voltaje de referencia estándar y permite que IoTaWatt determine el voltaje y la frecuencia de la línea.

Desde la aplicación de configuración basada en navegador, simplemente seleccione el modelo de sensor que está conectado. IoTaWatt sabe cómo interpretar las señales para producir una medida muy precisa de la energía que se utiliza en cualquier momento.

Los conectores estéreo estándar facilitan la conexión de los sensores de corriente. Cada una de las 14 entradas es típicamente un transformador de corriente que mide un circuito, pero se puede usar una sola entrada para monitorear varios circuitos y/o se pueden combinar varios CT en una sola entrada.

Todas las entradas se enumeran con nombre, tipo de sensor y varias opciones. Para editar, haga clic en el número de entrada.

Cambie el nombre o especifique un modelo de sensor diferente de la lista desplegable. Guarde e IoTaWatt comenzará a usar la nueva configuración de inmediato.

El IoTaWatt se configura a través de una interfaz web servida directamente desde el IoTaWatt ESP8266. Visite IoTaWatt.com para ver una demostración en vivo de la interfaz.

IoTaWatt admite actualizaciones de firmware automáticas por aire (OTA).

El estado de las entradas y salidas se actualiza continuamente. Las salidas se pueden definir para que los detalles adicionales estén disponibles. El estado de las cargas del servidor y el contexto de los registros de datos están disponibles en las pestañas desplegables.

Herramientas analíticas integradas

Las herramientas analíticas integradas permiten ver el uso gráficamente. Muestre el uso de energía total junto con los circuitos individuales seleccionando de un menú.


La aplicación Graph+ se ejecuta directamente desde el servidor web de IoTaWatt. Se puede usar desde una PC, teléfono o tableta.

Cargas a influxDB y Emoncms

Los usuarios más sofisticados pueden configurar la carga de datos en influxDB y usar Grafana o una de varias otras herramientas de visualización para crear impresionantes tableros.

También hay una opción para cargar al sistema Emoncms con sus propias herramientas gráficas integradas.

Panel de control de Emoncms

Tablero de grafana con fuente de datos influxDB

Ambas bases de datos externas son de software abierto y están disponibles como servicios comerciales o alojadas en varias plataformas personales, incluidas Windows y RaspberryPi.

Pantalla de estado en vivo de salida PV

Cargas a PVoutput

PVOutput es un servicio en línea gratuito para compartir y comparar datos de salida de paneles solares fotovoltaicos. 
Los datos de salida se pueden graficar, analizar y comparar con otros contribuyentes de pvoutput durante varios períodos de tiempo.

Si bien pvoutput se enfoca principalmente en monitorear la generación de energía, también proporciona instalaciones igualmente capaces para cargar y monitorear datos de consumo de energía. Tanto la generación solar como los datos de consumo de energía se pueden combinar para proporcionar una vista ‘Neta’ de la energía que se genera o se consume en vivo.


La «calculadora» es la interfaz simple de IoTaWatt para crear scripts para combinar y exportar datos. Especifique las unidades para calcular (amperios, vatios, voltios, etc.) y luego ingrese la función para calcular el valor. Es tan fácil como usar una calculadora básica de cuatro funciones.

Capacidad trifásica

IoTaWatt puede manejar energía trifásica de varias maneras. La forma fácil utiliza solo un transformador de referencia de tensión/fase enchufado en cualquiera de las tres fases. Las mediciones de potencia en las otras dos fases se realizan utilizando una señal de referencia trifásica «derivada».

Para obtener la máxima precisión, se pueden conectar dos transformadores adicionales a las entradas para el voltaje «directo» y la referencia de fase de todas las fases.

IoTaWatt ha sido probado para cumplir con los estándares regulatorios y de seguridad de América del Norte y Europa, que incluyen:

  • Cumplimiento con FCC parte B
  • Conformidad con CE, incluida la Directiva de emisiones de radio (RED) y la Directiva de bajo voltaje
  • Estándares de seguridad de bajo voltaje para EE. UU. (UL) y Canadá (CSA). Prueba y certificación por Intertek y lleva la marca de certificación ETL.
  • Los accesorios vendidos por IoTaWatt, Inc están listados por UL o reconocidos por UL y listados para su uso con IoTaWatt.

Seguridad

IoTaWatt admite la conexión cifrada de extremo a extremo a Emoncms mediante el nuevo cifrado de capa de transporte API de Emoncms . Debido a los recursos limitados del microcontrolador ESP8266, la conexión HTTPS no es posible. Sin embargo, Emoncms ofrece una solución de cifrado de capa de transporte integrada en la que la clave de acceso de emoncms se utiliza como clave precompartida para cifrar los datos con AES-128-CBC.

Las actualizaciones automáticas de firmware OTA garantizan que IoTaWatt siempre esté ejecutando la última versión más segura, por ejemplo, se lanzó una actualización de firmware y se implementó automáticamente para corregir la vulnerabilidad KRACK WPA . Las actualizaciones de firmware están firmadas digitalmente.

Comparación de emonTx vs. IoTaWattio

No hay planes para descontinuar emonTx. El IoTaWatt no está diseñado para reemplazar el emonTx, sino para complementarlo. Cada unidad tiene ventajas en áreas clave:

Ventajas de emonTx

  • Bajo consumo: energía de la batería/adaptador AC-AC único
  • No se requiere configuración
  • Admite múltiples sensores de temperatura DS18B20
  • Admite sensor de pulso óptico (entrada de interrupción) para interactuar directamente con medidores de servicios públicos
  • Trifásico aproximado con actualización de firmware
  • Múltiples emonTx pueden comunicarse con un solo emonPi / emonBase
  • No se requiere conexión WiFi

Ventajas de IoTaWatt

  • Gran número de entradas de sensores CT
  • Configuración flexible (se admiten muchos tipos diferentes de CT)
  • Registro de tarjeta SD integrado
  • Actualizaciones de firmware OTA
  • Publicación directa a través de WiFi en Emoncms.org

La ventaja obvia del IoTaWatt sobre el emonTx es la cantidad de entradas del sensor CT. Otra ventaja clave es la flexibilidad de IoTaWatt, cada canal de entrada (voltaje y corriente de CA) se puede configurar y calibrar individualmente. IoTaWatt es compatible con varios tamaños diferentes de sensores CT con preajustes de calibración para sensores CT, por ejemplo , 20A , 100A (estándar) y 200A .

Es posible usar un IoTaWatt junto con un emonPi / emonBase, el IoTaWAtt puede publicar en cualquier servidor de Emoncms, incluido emonPi, a través de una red local.

RESUMEN

Es de destacar que en esencia este sistema de iotaWatt usa amplificadores operaciones de instrumentación para la medida de la corriente por medio de sensores magnéticos enviando las medidas por medio de un convertidor analógico digital con salida SPI, lo cual es muy similar a la propuesta que nos da lechacal.com ( en UK) pero en vez de usar un NodeMCU usa una Raspberry Pi ( aunque tienen una versión para una Orange Pi).

Como detalle interesante sin duda es que tanto el hw como como el sw son abiertos lo cual lo hace muy atractivo para mejorar o incluso replicar esta solución, pero sin duda se echa de menos más rigor en la precisión de las medidas

Más información en https://iotawatt.com/index.html

Midiendo nuestro consumo eléctrico con una Raspberry Pi


Con la crisis actual energètica se hace imprescindible optimizar nuestro consumo de la forma más precisa posible, y desde luego no se puede monitorizar nada que no se pueda medir. Además es interesante saber que muchos analistas opinan que se puede llegar a reducir desde un 15% en adelante nuestro consumo global, así que lo primero es obtener el hardware necesario para monitorizar nuestro consumo.

¿Y qué necesitamos para monitorizar dando un toque de domótica a nuestro Hogar? Quizás lo más económico sea poner un pequeño HAT a la Raspberry del fabricante LeChacal (por cierto con domicilio en Edimburgo), pues cuenta con diferentes escudos que cumplirán cualesquiera sean nuestras necesidades, ya que a ellos podremos conectarles desde 1 sensor no intrusivo hasta 8, dependiendo del HAT que queramos cuanto más sensores acepte dicho escudo mayor será su coste (pero adelantamos que el precio es más que asumible). Además este fabricante no ofrece la posibilidad de apilar de modo que si queremos meter más sensores no intrusivos, montamos tantas HAT como necesitemos una sobre otra! Así que recomendamos repasar esta lista de sensores para que cada cual escoja el que más le interese: http://lechacal.com/wiki/index.php/Main_Page siendo el más barato apto para 3 sensores y cuesta unas 12 librashttp://lechacal.com/wiki/index.php/RPICT7V1_v2.0 y luego ya sería adquirir tantos sensores no intrusivos como necesitemos ( SCT-013-000). Los tenemos en la misma web o en Amazon o eBay por unos 4€ cada uno.

El hardware

La serie RPICT es una gama de escudo (o también llamados sombreros ) para la Raspberrypi como sensor de corriente CA (CT) y de temperatura. Todas las placas RPICT se conectan al conector GPIO y proporcionan datos a través del puerto serie . Un microcontrolador programable Arduino (ATtiny84 o Atmega328) opera la placa. El código fuente del microcontrolador está disponible gratuitamente.

Como veremos hay varias opciones para registrar y ver los datos. Los más utilizados son Emoncms e Influxdb con Grafana. También es posible usar su propio script de Python. Algunas de las aplicaciones de este hw: Medidor inteligente Raspberrypi, Internet de las Cosas, Registro de datos, Monitoreo en tiempo real, Automatización del hogar, Rpi,

Los escudos disponibles son:

  • RPICT3T1 – 3 CT 1 Temperatura.
  • RPICT3V1 – 3 CT 1 Voltaje CA.
  • RPICT4T4 – 4 CT 4 Temperatura.

Placas apilables Raspberrypi V 2 y 3

  • RPICT4V3 versión 2 y 3 – 4 CT 3 Voltaje CA.
  • PICT7V1 Versión 4
  • RPICT7V1 Versión 5
  • RPICT4V3 Versión 5
  • RPICT8 Versión 5
  • RPICT4T4 Versión 5
  • RPICT4W3T1

Solo temperatura : RPI_T8 – 8 temperaturas.
Raspberrypi para TC de salida 5A

  • RPI LCT3V1 – 3CT 1 Tensión para TC grandes.
  • RPI LCT4V3 – 3CT 3 Voltaje para TC grandes.
  • RPI_LCT8 – 8CT para CT grandes.

Raspberry pi cero

  • RPIZ_CT3V1 – 3 CT 1 Voltaje CA. Raspberrypi Cero.
  • RPIZ_CT3T1 – 3 CT 1 Temperatura. Raspberrypi Cero.
  • RPIZCT4V3T2 – Rpi Cero 4 CT 3 Voltaje CA 2 Temperatura (RTD y DS18B20)

con relés

  • RPICT3T1_RLY2 – 3 TI 1 Temperatura 2 Relés
  • RPICT3V1_RLY2 – 3 CT 1 Voltaje CA 2 Relés

Este es el resumen del hw disponible por este fabricante:

Model#CT#Volt*#TempStackable
RPICT3T131No
RPICT3V131No
RPICT4T444No
RPICT4V3_v2.043Yes
RPICT7V1_v2.071Yes
RPICT88Yes
RPIZCT4V3T1431n/a
RPI_T88Slave 1 only
RPI_LCT4V343One board stack only
RPI_LCT88One board stack only

Uso por primera vez

Inserte la placa RPICT en Raspberrypi GPIO como se muestra arriba. La imagen es una RPI3B pero todas las demás Raspberrypi también son compatibles (las placas RPICT obtienen energía de Raspberrypi). Simplemente conecte el adaptador de corriente USB a la Raspberrypi como de costumbre.

Estas placas se venden lista para funcionar con el firmware y la configuración ya cargados. Asegúrese de probar todos los sensores con el comando cat antes de cambiar la configuración.

Primera configuración RPICT

Cualquier sensor de corriente con salida de corriente es compatible. Tenga en cuenta que hay consideraciones para la resistencia de carga que escala el rango de corriente medida. Estos son algunos de los sensores recomendados con conector de 3,5 mm que podemos usar según la corriente que vaya a circular por el circuito a medir:

  • SCT-013-000 100A/50mA
  • SCT-019 200A/33mA
  • SCT-006 20A/25mA
  • SCT-024 400A/100mA
  • SCT-031 600A/100mA

El rango está determinado por la resistencia de carga instalada en la unidad RPICT. En el momento de la compra, esto se selecciona utilizando la calificación del parámetro en la tienda. El rango predeterminado es de 100 A en todas las series RPICT, lo que corresponde a una resistencia de carga de 24 o 27 ohmios. Se pueden seleccionar otras clasificaciones (o rangos) en el momento de la compra.

En los enlaces a continuación se proporcionan más detalles sobre el rango de entrada y la resistencia de carga:

  • Para RPICT3T1 RPICT3V1 RPICT4T4v2.5 y RPICT8/RPICT7V1/RPICT4V3 en versión 3

Gen3 Passive Component Setup

  • Para RPICT7V1 RPICT8 and RPICT4V3 en versión 4

Gen4 Passive Component Setup

  • Para RPICT7V1 RPICT8 RPICT4V3 en version 5

Gen5 Passive Component Setup

Los sensores CT solo miden corrientes alternas (CA). Consulte el sensor ACS715 para la corriente CC.

Solo RPICT7V1 versión 4 y RPI_DCV8 pueden admitir CT de salida de voltaje. SCT-013-xxx que no sea SCT-013-000 y cualquier CT de salida de voltaje no son compatibles con todas las demás placas .

Sensor de voltaje
Para evaluar la potencia de una instalación no es estrictamente necesario un sensor de tensión. La potencia se puede estimar utilizando un voltaje fijo estimado (generalmente 240 o 110 V). El sensor de voltaje se vuelve necesario si desea medir con mayor precisión la potencia real, la potencia aparente y el factor de potencia. La combinación de un sensor de voltaje con un sensor CT también proporcionará la dirección de la energía (importación/exportación).

En cualquier caso, las lecturas de potencia con sensor de voltaje son más precisas y consistentes. También tienen mucho menos ruido y son mejores para lecturas de baja potencia.

La serie RPICT se envía con una calibración básica para el puerto de voltaje. Sería necesaria una calibración si cree que el voltaje medido no es lo suficientemente preciso en comparación con otro dispositivo de medición confiable (alcance, multímetro).

Sensor de voltaje CA/CA
Ofrecen un conjunto de transformadores AC/AC para medir voltaje. Estas unidades se pueden enchufar fácilmente en un enchufe de pared principal. No se requiere cableado.

Los tres modelos diferentes que recomiendan son:

Sensor ZMPT

Módulo ZMPT101B :El módulo ZMPT101B es un módulo de tensión para cablear. Mide voltajes hasta 250V y se puede montar en carriles DIN.

No utilice estos módulos ZMPT vendidos en el mercado. No escalan contra las unidades RPICT y la presencia de un potenciómetro los hace poco confiables.

Sensor de temperatura
El sensor de temperatura que se usa s el DS18B20.Los sensores de temperatura vienen con varios conectores:

  • Molex de 3 pines :Esto aplica para la placa RPIZCT4V3T1 y RPIZCT4V3T2.
  • Cables desnudos: Esto aplica para las placas RPICT3T1 RPICT4T4 y RPIZ_CT3T1. Los conectores son terminales de tornillo. La sonda de temperatura debe presentar cables desnudos para la conexión.

Fuente de alimentación
El raspberrypi debe usar la fuente de alimentación micro-usb habitual. La serie RPICT no necesita ninguna fuente de alimentación adicional. La energía para el RPICT se toma del Raspberrypi GPIO.

PUESTA EN MARCHA

Conectaremos pues el HAT a la Raspberry Pi y los sensores que tengamos; en las pinzas de los sensores tendremos en cuenta de pasar únicamente un cable, eh! Y nada, con eso podremos saber el consumo en Vatios (W) que hace cada ‘cosa’ que tengamos pinzada. Podremos medir de cualquier aparato eléctrico, así como lo dicho, poner esto en el cuadro eléctrico de casa y medir los consumos desde ahí, si lo tenemos bien etiquetado, no nos costará medir el consumo General o el del Alumbrado, consumos de los enchufes, de la nevera, horno, lavadora, etc.

En el uso más básico, la serie RPICT solo genera una cadena en serie. Depende del usuario recopilar esta cadena de datos y registrar/ver según sea necesario. Hay varias formas de lograr esto.

  • Usando el comando cat.
  • Usando Influxdb y Grafana.
  • Usando una solicitud Json.
  • Usando la herramienta Emonhub de Emoncms.
  • Usando un script de Python.

Nota: Este es el uso más básico. Recomendamos encarecidamente hacer uso de esto primero antes que cualquier otra cosa.

De antemano , asegúrese de haber seguido esta guía si está utilizando la imagen de Rasbian.
Usemos el RPICT3T1 como ejemplo. El formato de la salida es como se muestra a continuación. Potencias en W. Temperatura en grados Celsius. Para cualquier otra unidad RPICT, consulte su página específica para conocer el formato de salida predeterminado.

nodeid power1 power2 power3 temperature

Inicie sesión en Raspberrypi usando ssh y emita los comandos

stty -echo -F /dev/ttyAMA0 raw speed 38400
cat /dev/ttyAMA0

El terminal debería mostrar algo como esto a continuación

[email protected] ~ $ cat /dev/ttyAMA0
11 46.23 52.25 126.56 19.46
11 47.43 52.28 129.60 19.54
11 48.90 53.88 131.22 19.89


Para averiguar qué canal corresponde a qué valor medido, consulte la página dedicada a la placa específica.

Nota. Si usa la imagen emonpi, ejecute el siguiente comando antes del comando stty.

sudo /etc/init.d/emonhub stop

Con este comando podremos conectarnos por serie al HAT y ver qué escupe. Verá que dependiendo del HAT que haya adquirido podrà ver la corriente, el voltaje o la temperatura, que es lo que os escupirá este comando separado en comas.

1stty -F /dev/ttyAMA0 raw speed 38400
cat /dev/ttyAMA0

Ahora, lo que haremos será tratar esa salida en formato CSV. En el ejemplo de Hector devuelve la potencia de 7 sensores no intrusivos, cada uno de ellos conectado a un cable del cuadro de distribucion de ca (General, Enchufes de unas estufas, el Lavavajillas y la Lavadora, el Alumbrado, el Horno y la Vitrocerámica y enchufes)

Después podemos exportar dicha información a una tabla que hemos creado previamente en MySQL de modo quenecesitaremos tener MySQL instalado en alguna máquina (o lo instalamos en la propia Pi) y crearemos ahí la BD y la Tabla que queramos.

Por deferencia de Héctor (del blog bujarra.com) , él nos muestra un ejemplo de las sentencias SQL para ejecutar desde la consola de Mysql para crear dicha tabla que tiene una columna por cada sensor:

CREATE TABLE `corriente` (
`general` FLOAT NULL DEFAULT NULL,
`estufas` FLOAT NULL DEFAULT NULL,
`lavavajillas_lavadora` FLOAT NULL DEFAULT NULL,
`alumbrado` FLOAT NULL DEFAULT NULL,
`horno_vitro` FLOAT NULL DEFAULT NULL,
`enchufes` FLOAT NULL DEFAULT NULL,
`fecha` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
)
COLLATE='latin1_swedish_ci'
ENGINE=InnoDB
;
 

Y nada, ya sólo nos queda tener este maravilloso script en python que nos va a ir llenando la Tabla ‘corriente’ de nuestra Base de datos!

Creamos dicho script corriente.py:

#!/usr/bin/python
import serial
import urllib
import json
import MySQLdb
 
ser = serial.Serial('/dev/ttyAMA0', 38400)
 
response = ser.readline()
z = response.split(",")
if len(z)>=7:
 print "General: %s Watts" % z[0]
 print "Estufas: %s Watts" % z[1]
 print "Lavavajillas y Lavadora: %s Watts" % z[2]
 print "Alumbrado: %s Watts" % z[3]
 print "Horno y vitro: %s Watts" % z[4]
 print "Enchufes: %s Watts" % z[5]
 
general_valor=z[0]
estufas_valor=z[1]
lavavajillas_lavadora_valor=z[2]
alumbrado_valor=z[3]
horno_vitro_valor=z[4]
enchufes_valor=z[5]
 
db = MySQLdb.connect("localhost","root","xxxxxx","NOMBRE_BASE_DATOS")
cursor = db.cursor()
 
cursor.execute("""INSERT INTO corriente (general,estufas,lavavajillas_lavadora,alumbrado,horno_vitro,enchufes) VALUES (%s,%s,%s,%s,%s,%s) """, (general_valor,estufas_valor,lavavajillas_lavadora_valor,alumbrado_valor,horno_vitro_valor,enchufes_valor))
db.commit()

Y listo! Lo que nos queda es programar que se ejecute este script con el intervalo que nos interese, ejecutamos ‘crontab -e‘ y añadimos lo siguiente para que se ejecute por ejemplo cada minuto:

1* * * * * python /home/pi/corriente.py

¿Que sería lo perfecto para acabar? Pues lo de siempre, gracias a Grafana, podremos de una manera super sencilla y rápida trabajar cualquier dato, como en este ejemplo una tabla de MySQL.

Aqui algunos ejemplos:

Gráfica donde añadimos la metrica y nos la pinte, en este caso el consumo de los enchufes:

1SELECT enchufes as value, "Enchufes" as metric, UNIX_TIMESTAMP(fecha) as time_sec FROM corriente  WHERE $__timeFilter(fecha) order by time_sec asc

Gráfica donde añadimos la métrica del consumo del Alumbrado:

1SELECT alumbrado as value, "Alumbrado" as metric, UNIX_TIMESTAMP(fecha) as time_sec FROM corriente  WHERE $__timeFilter(fecha) order by time_sec asc

Con el plugin Singlestat podremos mostrar por ejemplo el gasto actual de la General:

1SELECT general FROM corriente order by fecha desc limit 1