Cerradura RFID conArduino


RFID o identificación por radiofrecuencia (del inglés Radio Frequency Identification) es un sistema de almacenamiento y recuperación de datos remoto que usa  transpondedores RFID con el  propósito de transmitir la identidad de un ente  mediante ondas de radio. Las tecnologías RFID se agrupan dentro de las denominadas Auto ID (automatic identification, o identificación automática).

Las etiquetas RFID  son  dispositivos pequeños, similares a una pegatina que contienen antenas para permitirles recibir y responder a peticiones por radiofrecuencia desde un emisor-receptor RFID.

Una de las grandes ventajas de esta tecnología   es que las etiquetas   son pasivas ,no necesitando por  tanto  alimentación eléctrica   así como tampoco  requieren visión directa entre emisor y receptor.

En el post de  hoy  vamos    a ver como se implementa  establecer un pestillo de puerta que puede abrirse mediante una tarjeta  RFID  programando  una lista de las tarjetas ‘claves’ aceptables que podrían  abrir  la puerta durante un período determinado de tiempo.

Este es proyecto es  sencillo  pero requiere que alterar la  jamba de la puerta lo cual requiere mucha pericia   pero como podemos  en el siguiente vídeo  el resultado  es muy espectacular.

 

 Electrónica necesaria

Estas son las partes recomendadas para este proyecto. Puede usar otro relé de variante, Arduino, o etiqueta RFID compatibles, pero se recomienda el escudo RFIDuino para que el código que veremos funcione sin problemas.

 

Note que usando un solenoide de cierre de puerta recta necesita energía para abrir la puerta. Si pierde energía, usted se eficazmente bloqueará hacia fuera y no se puede abrir la puerta hasta que la energía se devuelve al sistema pero si usa una  placa electrónica , todavía puede utilizar su clave normal para abrir la puerta en el caso de un apagón.

Obtener sus datos de etiqueta RFID

  1. Conecte su RFIDuino como se muestra en la imagen teniendo en cuenta que el escudo RFdui9no deberá colocarlo encima de su Arduino en la posición exacta en que coinciden ambas placas .De la placa no olvide que ira la antena  RFID  al exterior y  por su puesto su Arduino ira conectado  por usb a su pc para poer  instalarle el firmware
  2. Abra su tablero. Usted puede encontrar este bosquejo bajo RFIDuino_helloworld
    File>Examples>RFIDuino>RFIDuino_helloworld
  3. Usted necesitará asegurarse de que el código se ajusta para el hardware del RFIduino.
    v1.2 escudos (2 pin antena, ‘REV 1.2’ impreso en el tablero) se necesita el siguiente código escudos v1.1 (antena de 4 pines, ningún número de versión impresa en la placa) tendrá el siguiente código

    RFIDuino myRFIDuino(1.2);     //initialize an RFIDuino object for hardware version 1.2
    RFIDuino myRFIDuino(1.1);     //initialize an RFIDuino object for hardware version 1.1

    Ambas líneas de código están disponibles en el dibujo, simplemente quite el comentario de que no necesita.RFIDuino_helloworld

    Si tiene aún dudas sobre qué hardware está usando, vea esta página

  4. Conecte un cable micro del USB de su ordenador  a su Geekduino
  5. Cargue  RFIDuino_helloworld3  en su tarjeta usando el botón de carga en el IDE de Arduino.
  6. Una vez cargado, puede dejar la placa conectada al ordenador  pues  necesita esta conexión para alimentar el tablero y para comunicarse con la computadora
  7. Abra al Monitor serie.
    Tools -> Serial Monitor

    El serial monitor debe ajustarse a los valores predeterminados (‘Fin a No Line’, 9600 baudios)

  8. Pase una etiqueta por la antena de RFIDuino. La luz verde se iluminará y el zumbador hará un ruido.
  9. El Serial Monitor mostrará 5 números. Estos números representan el ID de la etiqueta.
  10. Copie abajo estos números para uso futuro. Puede ser útil escribir el ID en una nota adhesiva y se adhiere a la etiqueta. Nota: se necesita el ID por al menos una etiqueta para el siguiente paso.

 Cableado y programación

  1. Conecte sus componentes como se muestra en le imagen  de arriba  donde como  se puede apreciar se ha añadido una placa de rele  en cuya salida conectaremos un solenoide que alimentaremos con una tensión exterior  y el alimentador  dedicado para suministrar energía  a la placa   Arduino y el Escudo .
  2. Abierta sobre su tablero. Usted puede encontrar este bosquejo bajo RFIDuino_demo3_lockbox_multi
    File>Examples>RFIDuino>RFIDuino_demo3_lockbox_multi
  3. Usted necesitará asegurarse de que el código se ajusta para el hardware del RFIduino.
    v1.2 escudos (2 pin antena, ‘REV 1.2’ impreso en el tablero) se necesita el siguiente código escudos v1.1 (antena de 4 pines, ningún número de versión impresa en la placa) tendrá el siguiente código

    RFIDuino myRFIDuino(1.2);     //initialize an RFIDuino object for hardware version 1.2
    RFIDuino myRFIDuino(1.1);     //initialize an RFIDuino object for hardware version 1.1

    Ambas líneas de código están disponibles en el dibujo, simplemente quite el comentario de que no necesita.RFIDuino_demo3_lockbox_multi

     

  4. Modifique el código para el número de tarjetas que desee por línea edición 58. Por ejemplo, si tienes tres tarjetas, utilice el código
    #define   NUMBER_OF_CARDS 3     //total numer of key cards that the system will respond to.
  5. También necesitará modificar el bosquejo para incluir los identificadores de las etiquetas que desea incluir. Estos identificadores pueden encontrarse usando el bosquejo. Encontrar el bloque de código a partir de en línea 62 – se parece a esto. Ahora inserte el ID para sus etiquetas. Si tenemos tres etiquetas clave, nuestro código podría ser algo así como Hello World
    byte keyTag[NUMBER_OF_CARDS][5] ={
    {0,0,0,0,0},  //Tag 1 //commenting each tag with a description can help you keep track of them
    {0,0,0,0,0},  //Tag 2
    {0,0,0,0,0}, //Tag 3
    {0,0,0,0,0},//Tag 4
    };
    byte keyTag[NUMBER_OF_CARDS][5] ={
    {77,0,44,22,242},  //Tag 1 //commenting each tag with a description can help you keep track of them
    {200,1,4,98,236},  //Tag 2
    {23,64,4,25,1}, //Tag 3
    };
  6. Conecte un cable micro del USB de su ordenador  a su Geekduino
  7. Cargar en su tarjeta usando el int del botón de subir el IDE de Arduino. RFIDuino_demo3_lockbox_multi
  8. Una vez cargado, desconecte el cable USB del ordenador…
  9. Ninguna de las etiquetas ‘clave’ pase por la antena de RFIDuino. La luz verde se iluminará y el zumbador tocar tres notas diferentes. Además, el solenoide se dispara.
  10. Pase cualquier etiqueta que no es la etiqueta de ‘clave’ a través de la antena de RFIDuino. La luz roja se iluminará y el zumbador tocar tres notas monótonos. El solenoide no reaccionará.

 Montaje final

 Una vez que este seguro que lo tiene programado y el seguro libera cuando usted pase la correcta etiqueta de RFID, ya puede montarlo en el marco de una  puerta. En el video  de hecho podemos ver en una puerta de marco de metal con ventanas de cristal, por lo que es mas sencillo instalar  el lector de RFID tras el cristal.
También se  puede montar la antena en una caja resistente a la intemperie para la accesibilidad y mantener el Arduino y otros aparatos electrónicos en el interior por seguridad.

Hay instrucciones con la placa electrónica de apertura que puede ayudar en el montaje  Se recomienda mantener la placa tan al ras como puedas a la pared se monta en y tener cuidado al pasar los cables a través de una pared.

Fuente : instructables.com

 

Anuncios

Servidor para Netduino+


NeonMika.Webserver es un servidor web preconfigurado  para Netduino+  yNetduino 2+   fácil de extender de modo que con un código mínimo (o incluso nulo), puede obtener excelentes resultados controlando todos  los puertos de  su Netduino +, accediendo y cargando archivos, creando servicios web ¡y algunas cosas  más!

El código  fuente esta disponible aun en codeplex en  :https://neonmikawebserver.codeplex.com/documentation  aunque hay  una version para Netduino 3+ en  Github .  A pesar de que el foro  de Netduino se ha mudado al sitio widernesslab.co  se mantiene  información  de NeonMika.Webserver  en el antiguo  foro de Netduino ( http://forums.netduino.com/index.php?/topic/2889-neonmikawebserver/)  asi que tiene más preguntas o desea  mas explicaciones  sobre el código le recomiendo que se dirija a ese sitio.

Si usa el esquema de la cafetera conectada  del que hablábamos  en un post anterior     únicamente puede   usar el pin digital  D2  como salida  y al que  conectaremos  una economica placa de un relé   compatible  con Arduino (5V)

 

Como se puede apreciar en el esquema del circuito , este no puede ser mas simple pues solo hay que alimentar el circuito del rele con la tensión  de 5V procedente de la placa Netduino, conectar el pin de datos  D2 a la entrada IN de la placa del  relé  y finalmente conectar la carga ( en este caso un cafetera)  a los contactos de salida del relé

 

Gracias  a neomikaserver podremos controlar fácilmente la cafetera   de una manera muy facil  y rapida pero ademas este servidor destaca por la siguientes  funcionalidades:

  • Acceso a la tarjeta microSD
  • Control de todos  lso puertos GPIO
  • Lectura de todos los puertos GPIO
  • Control   de  su Netduino+  usando métodos existentes como setPWM o setDigitalPinState
  • Permite agregar sus propios métodos similares al servicio web para que pueda expandir NeonMika.Webserver a sus propias necesidades para cada proyecto.

Hay dos directorios de interés para usted:

  • Framework :contiene el código de la biblioteca para un nuevo proyecto usando NeonMika.Webserver. Consulte esta carpeta si desea agregar NeonMika.Webserver a un proyecto existente.
  • Executeable:  contiene un pequeño proyecto creado usando NeonMika.Webserver. Consulte este si desea obtener una primera experiencia con el servidor. ¡Puede ejecutarlo sin escribir ninguna línea de código!

Para probar NeonMika.Webserver y tener algún código de muestra, simplemente siga estos pasos:

  • Simplemente descargue el código y vaya a “Executeables”.
  • Implemente el proyecto en su Netduino Plus. Debería comenzar a funcionar.
  • Este proyecto de ejemplo que utiliza NeonMika.Webserver tiene el siguiente método xml agregado al servidor web en tiempo de ejecución: netduinoplus / wave … Conecte los LEDs al Pin 0,1,4,5,8,9 y verá que su LED se enciende uno después el otro.

 

Setup

Como puede ver, solo necesita llamar al constructor para iniciar NeonMika.Webserver.

Server WebServer = new Server(PinManagement.OnboardLED, 80, false, "192.168.0.200", "255.255.255.0", "192.168.0.1", "NETDUINOPLUS");

Los parámetros necesarios son  autoexplicativos:

  • El puerto 
  • DHCP encendido / apagado
  • Dirección IP
  • Máscara de subred
  • Gateway
  • Nombre de red

¡No necesita nada más para ejecutarlo!

Métodos sopurtados?

Aquí hay una lista con todos los métodos web precodificados que puede usar en su navegador o en cualquier otra aplicación para comunicarse con su Netduino:

  • echo (devuelve el valor enviado) ,    ejemplo   netduinoplus / echo? value = [a-Z] , por ejemplo http://192.168.0.2/echo?value=markus devolveria “markus”
  • switchDigitalPin (Cambia el pin seleccionado de verdadero a falso y vis-a-vis) ,ejemplo : -> netduinoplus / switchDigitalPin? pin = [0-13]  es decir  por ejemplo para encender la cafetera seria http://192.168.0.2/setDigitalPin?pin=2&state=true y para apagarla http://192.168.0.2/setDigitalPin?pin=2&state=flase
  • setDigitalPin (Establece el pin digital seleccionado al estado seleccionado), ejemplo -> netduinoplus / setDigitalPin? pin = [0-13] & estado = [verdadero | falso]
  • pwm (establece el PWM del pin para el período y duración enviados, ejemplo -> netduinoplus / pwm? pin = [5 | 6 | 9 | 10] & period = [int] & duration = [int]
  • getAnalogPinValue (Devuelve el valor del pin analógico seleccionado),ejemplo-> netduinoplus / getAnalogPinValue? pin = [0-5]
  • getDigitalPinState (Devuelve el estado de su pin seleccionado (on / off)),ejemplo -> netduinoplus / getDigitalPinState? pin = [0-13]
  • getAllAnalogPinValues ​​(Devuelve el valor de cada pin analógico), ejemplo-> netduinoplus / getAllAnalogPinValues
  • getDigitalPinState (Devuelve el estado de cada pin digital).ejemplo-> netduinoplus / getAllDigitalPinStates
  • getAllPWMValues ​​(Devuelve los valores para todos los puertos PWM), ejemplo-> netduinoplus / getAllPWMValues
  • fileUpload (Carga un archivo en la ruta de la tarjeta SD mediante POST. Debe escribir los datos de archivo (bytes) en el cuerpo POST),ejemplo  -> netduinoplus / upload? path = [a-Z]
  • Respuesta de archivo y directorio: Simplemente escriba netduinoplus / [pathtomyfile] y podrá ver / descargar su archivo. Si la ruta dada es un directorio, se devolverá una vista de directorio

 

Más para fines de prueba, pero también como parte de NeonMika.Webserver:

  • xmlResponselist (le da una lista de todos los métodos XML) , ejemplo -> netduinoplus / xmlResponselist
  • jsonResponselist (Te da una lista de todos los métodos JSON),ejemplo -> netduinoplus / jsonResponselist
  • multipleXML (Ejemplo sobre cómo usar XML anidado), ejemplo -> netduinoplus / multixml

Algunos  ejemplos de uso

Como expandirlo con servicios XML

WebServer.AddResponse(new XMLResponse("wave", new XMLResponseMethod(WebserverXMLMethods.Wave)));

No se ve tan complicado? Eso porque no es complicado.

Este es un ejemplo de cómo escribir un XMLResponse

private void Echo(Request e,Hashtable results)
{
  if(e.Request.GetArguments.Contains("value") == true)
    results.Add("Echo",e.Request.GetArguments["value"]);
  else
    results.Add("ERROR", "No 'value'-parameter transmitted toserver");
}

Todas las XMLResponses deben tener este formato:

  • Valor de retorno:vacío
  • Parámetro: Solicitud (con esto puede acceder al parámetro escrito en la URL)
    Hashtable (aquí usted agrega la respuesta)
  • Si necesita XML apilado, eche un vistazo al método MultiXML en Server.cs

 

Cómo escribir una respuesta JSON:

 

private void ResponseListJSON(Request e, JsonArray j)
{
   JsonObject o;
   foreach(Object k in _Responses.Keys)
   {
     o = newJsonObject();
     o.Add("methodURL", k);
     o.Add("methodName", ((Response)_Responses[k]).Name);
     j.Add(o);
   }
}

Server setup:

Server WebServer = new Server(PinManagement.OnboardLED,80,false,"192.168.0.200","255.255.255.0","192.168.0.2","NETDUINOPLUS"); 
WebServer.AddResponse(newXMLResponse("echo", new XMLResponseMethod(Echo))); 
WebServer.AddResponse(newJSONResponse("jsonResponselist", new JSONResponseMethod(ResponseListJSON)));

 

Cómo acceder a los últimos datos POST:

PostFileReader post = new PostFileReader ();

byte [] postData = post.Read (bufferSize);

 

Mostrar el directorio de archivos:

http://192.168.0.2/SD

 

Archivo de acceso:

http://192.168.0.2/SD/folder/file.txt

 

 

 

Monitorización de consumo energético con Raspberry pi


Con el fin de intentar optimizar el uso  domestico que hacemos de la energía eléctrica  ,  un seguimiento estadístico del consumo energético nos puede ayudar a conocer nuestro consumo y con ello intentar optimizarlo,   ya que  existe un máxima que afirma que no se puede optimizar  algo que no se pueda medir . Para semejante objetivo  se  pueden utilizar contadores de energía para medir   el consumo del  cuadro  de distribución de corriente alterna de une vivienda   y enviar esta información  en tiempo real  a  un logger de datos basados en una Raspebrry pi 3 por medio del protocolo RS485 (sistema de bus diferencial multipunto, ideal para transmitir a altas velocidades sobre largas distancias y a través de canales ruidosos) permitiendo enviar la información  gracias a este protocolo ,  no solo de un watimetro sino de muchos  todos  operando sobre la misma linea .

El medio físico de transmisión  de  la salida de  dichos contadores  es un par trenzado , el cual admite 32, 128 o 256 estaciones en 1 solo par, con una longitud máxima de 1200 metros operando entre 300 y 19 200 bit/s y la comunicación half-duplex (semiduplex) dependiendo del consumo de cada driver  debido   a que la transmisión diferencial permite alcanzar mayor distancia con una notable inmunidad al ruido, siempre que el bus de comunicación conserve las características de bus balanceado (dando incluso la posibilidad de una configuración multipunto).

Gracias al  sistema de bus diferencial multipunto del protocolo  RS485  , se puede  transmitir únicamente con dos  hilos   a altas velocidades incluso sobre largas distancias (10 Mbit/s hasta 12 metros y 100 kbit/s en 1200 metros)  a través de canales ruidosos (es decir compartiendo las canalizaciones eléctricas  )  , ya que el par trenzado reduce los ruidos que se inducen en la línea de transmisión.

 

En cuanto al  software necesario  para procesar la información de los watimetros   se   pueden utilizar los  siguiente  componentes de código abierto:

  • Minimalmodbus -Leer los parámetros de los contadores de energía
  • InfluxDB -Tiempo base de datos de la serie para almacenar datos
  • Grafana -Herramienta de visualización de datos basada en web

Respecto al  hardware se pueden usan los siguientes elementos:

 

Escudo RS485 SparkFun Linksprite RS485/GPIO Shield

Este  escudo ,como puede adivinar,  es el elemento estrella de esta configuración pues precisamente permite  soportar el  protocolo RS485 en  la Raspberry Pi,  de modo que  podrá tener un puerto de comunicación para su bus de campo directamente conectado a su RPi.

Aunque el RS485 a veces se considera un protocolo “arcaico”, permitirá que hasta 32 dispositivos se comuniquen a través de la misma línea de datos a lo largo de una longitud de cable de hasta 1200 mt con una velocidad de datos máxima de 10Mbit / s.  (lo cual no son malos números)

Este escudo viene premontado, así que todo lo que tiene que hacer es ajustarlo directamente a tu Raspberry Pi y obtener la programación. El RS485 Shield V3 es compatible con Raspberry Pi B, B + y Raspberry Pi 2.

Nota: El escudo tiene una huella despoblada para un conector DB9. Verifique a continuación si necesita agregar el conector. De lo contrario, puede usar los terminales de tornillo.

Se ha verificado que funciona con una Raspberry Pi 3 con un escudo Linksprite RS485 y valores de lectura de un SDM120 y SDM630. Al cambiar el archivo [model].yml y crear un archivo .yml [modelo] correspondiente, debería ser posible usar otros modelos habilitados para modbus (agregar el conector). De lo contrario, puede usar los terminales de tornillo.

Cableado

Conecte un cable de par trenzado al escudo Linksprite RS485  , teniendo en cuenta que debe diferenciar el significado de cada hilo ( por ejemplo diferenciando con dos colores) y  teniendo en cuanta que cada  color que deberían ir   a la A y la B.

Conecte el otro extremo del cable al terminal de Modbus del metro de la energía. Asegúrese de que el mismo color va a la A como uno conectarse A en el escudo y lo mismo para B. Si más metros van a conectar, seguir conectando los medidores de la serie: A A, B a B. Un cable de encadenamiento puede ser útil.

 

Se recomienda utilizar resistencias de terminación al final de la cadena.  Para asegurar una conexión buena puede ser una buena idea para soldar un cable de encadenamiento para conectar todo A terminales en serie y todos los terminales B en serie.

Consulte esta documentación para obtener más información: https://www.maximintegrated.com/en/App-Notes/index.MVP/ID/763

Requisitos previos

Descargar tramo de Raspbian Lite y Flash en tarjeta SD, por ejemplo mediante el uso de grabador. Monte el protector de RS485 de cabecera de GPIO de la Raspberry Pi. Poder Rasberry Pi y contraseña de configuración (passwd) y SSH, localización, etc. utilizando la red:

$ sudo raspi-config

Con la configuración abierta  de   raspi-confi, ir a: Opciones de la interfaz 5 -> Serie P6 y Deshabilitar el shell de login serial y Habilitar hardware de puerto serie (es decir NO y luego sí)

Para poder utilizar el UART es necesario deshabilitar el Bluetooth incorporado ya que comparte el UART. Para ello, agregue las siguientes líneas a /boot/config.txt

# Disable built in Bluetooth 
dtoverlay=pi3-miniuart-bt

fuente

Para deshabilitar la consola serie, necesita editar la /boot/cmdline.txt archivo para parecerse a la siguiente línea:

dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait

fuente

Instalar Python Package Manager PIP si no ya instalado (no instalado en Raspbian Lite):

$ sudo apt-get install python-pip

Instalar Git si no ya instalado (no instalado en Raspbian Lite):

$ sudo apt-get install git

Instrucciones de instalación

Puede seguir las instrucciones de GitHub para instalar código fuente InfluxDB, Grafana y medidor registrador de energía, resumidamente son las siguintes:

Instalar InfluxDB *

Instrucciones paso a paso
  • Agregue el repositorio InfluxData
      $ curl -sL https://repos.influxdata.com/influxdb.key |  sudo apt-key add -
     $ source / etc / os-release
     $ test $ VERSION_ID = " 9 " && echo " deb https://repos.influxdata.com/debian stretch stable " |  sudo tee /etc/apt/sources.list.d/influxdb.list
  • Descargar e instalar
      $ sudo apt-get update && sudo apt-get install influxdb
  • Comience el servicio de influxdb
      $ sudo service influxdb start
  • Crea la base de datos
      $ afluencia
     CREAR BASE DE DATOS db_meters
     salida

*fuente

Instalar Grafana *

Instrucciones paso a paso
  • Añadir repositorio APT
      $ echo " deb https://dl.bintray.com/fg2it/deb-rpi-1b jessie main " |  sudo tee -a /etc/apt/sources.list.d/grafana.list
  • Añadir clave de Bintray
      $ curl https://bintray.com/user/downloadSubjectPublicKey ?  nombre de usuario = bintray |  sudo apt-key add -
  • Ahora instala
      $ sudo apt-get update && sudo apt-get install grafana
  • Comience el servicio usando systemd:
      $ sudo systemctl daemon-reload
     $ sudo systemctl start grafana-server
     $ systemctl status grafana-server
  • Habilite el servicio systemd para que Grafana comience al arrancar.
      $ sudo systemctl enable grafana-server.service
  • Vaya a http: // localhost: 3000 e inicie sesión usando admin / admin (recuerde cambiar la contraseña) * source

Instalar Energy Meter Logger:

  • Descargue e instale desde Github
      $ git clone https://github.com/samuelphy/energy-meter-logger
  • Ejecute el script de configuración (debe ejecutarse como root (sudo) si la aplicación necesita ser iniciada desde rc.local, ver abajo)
      $ cd energy-meter-logger
     $ sudo python setup.py install
  • Hacer que el archivo de script sea ejecutable
      $ chmod 777 read_energy_meter.py
  • Edite meters.yml para que coincida con su configuración
  • Pruebe la configuración ejecutando:
      ./read_energy_meter.py
     ./read_energy_meter.py --help # Muestra todos los parámetros disponibles
  • Para ejecutar el script python al inicio del sistema. Agregue a las siguientes líneas hasta el final de /etc/rc.local pero antes de salir:
      # Start Energy Meter Logger
     /home/pi/energy-meter-logger/read_energy_meter.py --interval 60 > /var/log/energy_meter.log &

    El registro con posibles errores se encuentra en /var/log/energy_meter.log

Configuración del medidor de energía

En este proyecto energía Modbus activado se utilizan wtimetros de la marca  Eastron. El autor ha usado dos modelos  :uno normales  de una sola  fase y otro de tres fases . Para capturar los datos muchos de los registros y los registros de interés se especifiquen en dos archivos de configuración: SDM120.yml y SDM630.yml. Los parámetros de estos registros se almacenan como 32 bits flotante  (tamaño de 2 registros) y deben ser leídos por código función 04, fuente : code = 4, 2 registers)

De la documentación Eastron obtenemos el siguiente mapa de registro para configurar nuestros archivos de configuración.

Si se utiliza un medidor de energía diferentes, simplemente deberá configurar  su propio archivo de configuración y añadir a meters.yml donde también se define la configuración modbus para cada metro.

meters: 
   - name : Meter Group 1 
     type : SDM120.yml 
     id : 1     # this is the slave address number 
     baudrate : 9600   # Baud 
     bytesize : 8 
     parity : even # none | odd | even 
     stopbits : 1 
     timeout  : 0.5   # seconds 

Grafana

Grafana abierto (e.g. http://raspberrypi.local:3000) y entrar con admin / admin.

Empezar por crear un origen de datos:

  • Nombre: Dar un nombre de su elección
  • Tipo: Seleccione InfluxDB
  • Acceso: proxy
  • Base de datos: db_meters
  • ¡Agregar!

Añadir un panel de control y haga clic en gráfico. Haga clic en “Panel de título” y edición. Haciendo clic en “seleccionar medición”, “+”, “valor de campo” etcetera puede seleccionar los parámetros que interesa analizar.

Una cosa vale la pena destacar es en “Opciones” donde debe ingresar el “intervalo de tiempo mínimo” que debe ser el mismo que el tiempo entre mediciones.

En la pestaña de “Ejes” puede la unidad para la medición.

NOTAS:

En caso  de  que no se registren las lecturas   en la Raspberry Pi  ,lo mejor es empezar por investigar el archivo de registro. El nivel de registro puede establecerse como parámetro cuando se ejecuta el script:

read_energy_meter.py --log DEBUG | INFO | WARNING | ERROR 

Al registro de configuración para depuración usted obtiene más información. Si usted ha de  escribir el registro en un archivo puede buscar en el registro de error usando este comando:--logfile

$ cat energy.log | grep -in 'error' | awk -F: '{print $2" - Line number : "$1}' 

Asimismo asegúrese de que todos sus medidores conectados en el mismo están configurados con la misma velocidad en baudios.  También es  muy   importante definir un tiempo de espera corto, aproximadamente 10 ms,(con entre parámetro así definido  se puede hacer que se tolere  si se produce errores de CRC al azar).

 

Mas información en  https://www.hackster.io/samuelphy/energy-meter-logger-6a3468

 

 

Consiga su Raspberry Pi 3 por 34€ con la carcasa gratis


Con  más de ocho millones de unidades vendidas , incluyendo tres millones de unidades de Raspberry  Pi 2 , nadie duda  que Raspberry es una plataforma  muy exitosa ,  tanto que de hecho la Fundación Raspberry Pi ha crecido de unos pocos  voluntarios a llegar a más de sesenta empleados a tiempo completo, ! e incluso  han enviado una Raspberry Pi a la Estación Espacial Internacional !

Destaca de la familia  Raspberry pi la ultima  Raspberry Pi 3 Modelo B   ,la última placa de la familia de Raspberry Pi  ,una placa 10 veces más potente que la original (es decir la primera versión) ,  donde   lo mas destacable  es que se ha añadido   conectividad inalámbrica integrada, tanto por wifi (soportando los estándares  802.11 b/g/n) ,  como  por  Bluetooth ( versión 4.1).

El precio  normalmente de esta versátil   placa con gastos de envíos,  ronda  los 50€  ,pero ahora de forma puntual  su precio es de 34.20 €  en Amazon

Hablando de conectividad ,la nueva placa  incorpora el chip de Broadcom BCM2837 junto el chip inalámbrico “combo” BCM43438 . Gracias  a esta combinación de CI,  ha permitido  adaptar la funcionalidad inalámbrica en casi el mismo factor de forma de los modelos anteriores como  Raspberry Pi Modelo B + 1 y Raspberry Pi 2 Modelo B. De  hecho ,  el único cambio es que la posición de los LEDs los  han trasladado al otro lado de la ranura de la tarjeta SD para hacer espacio para la antena. Respecto al nuevo SoC, el  BCM2837, este   conserva la misma arquitectura básica que sus predecesores BCM2835 y BCM2836, por lo que todos los proyectos y tutoriales que se basan en este  hardware de la Raspberry  Pi continuarán funcionando.

broadcom 

Esta nueva placa  a diferencia de todas la anteriores  usa un procesador   de  64  bits : un  ARM Cortex-A53  de  cuatro núcleos  a una velocidad de reloj  de 1,2 GHz  en lugar de un  Quad-Core Cortex A7 de 32 bits  a 900 MHz de su antecesor ( Raspberry Pi  2 modelo B), por lo  que vemos que el cambio de procesador  ha sido espectacular no solo por la velocidad de reloj superior (de 900 Mhz  a   1,2 GHz) ,  sino básicamente  por el cambio de arquitectura también ARM ,pero  de 64 bits en lugar de la antigua de 32 bits .

La combinación final   de un aumento del 33% en la velocidad de reloj con varias mejoras en la arquitectura,  permitiendo  proporcionar un aumento del 50-60% en el rendimiento en el modo de 32 bits frente a la Raspberry Pi 2, o aproximadamente un factor de diez sobre la original Raspberry Pi.

Sobre la memoria  RAM cuenta  con 1GB LPDDR2 ( la versión anterior también contaba con 1GB)  y a nivel de gráficos también han mejorado   pues cuenta con  un Dual Core VideoCore IV ® Multimedia Co-procesador.

Sobre los conexiones disponibles, sin embargo ,  no ha cambiado sustancialmente  , contando  como en la versión anterior  con las siguientes posibilidades:

  • 4 Puertos  USB 2.0
  • Puerto de  GPIO de 40  pin,
  • Salida HDMI rev 1.3 y 1.4
  • Toma  Ethernet
  • Jack de audio de 2  1/2″ ,
  •  Interfaz de cámara (CSI)
  • Interfaz de Pantalla (DSI)
  • Lector  micro SD

 

Todos los conectores anteriores  están en el mismo lugar y tienen  la misma funcionalidad, y para alimentar la placa  todavía se puede usar un  adaptador de alimentación de 5V micro-USB, pero en esta ocasión, están recomendando un adaptador 2.5A por si desea conectar dispositivos USB que consuman mucha energía  de la Raspberry Pi.

Caja

Una  de las ventajas  de la Raspberry Pi es que es fácilmente  personalizable, no solo por dentro gracias a  las múltiples distribuciones  compatibles ( incluso W10) , sino también por fuera, por ejemplo  con la carcasa , que esta abierta   completamente a nuestra  creatividad.

Si dispone de una impresora  3D  una de la las mejores opciones   gratuitas     es  el diseño con soporte VESA   de  0110-M-P   compatible con los siguientes modelos de Raspberry Pi: Raspberry Pi 3 ,Raspberry Pi 2,Raspberry Pi Modelo B +,  Además, para facilitar la impresión  cuenta con dos mitades para ajustar facilmente  uy  que ademas  se puede ajustar el diseño para su propio uso.

Esta esta nueva carcasa para la Rasperry Pi 3 presenta:

  • Ranura de acceso para la cámara Pi
  • El diseño es atornillable  por dentro (la pcb )  y por   fuera
  • Atornille el montaje de Raspberry Pi al estuche usando agujeros en PCB
  • Construido en pestañas de montaje VESA de 75 mm
  • Diseño de ventilación del motor rotatorio (triángulo reuleaux)
  • Malla STL de alta resolución

Este es el aspecto de como queda  la pcb atornillada    a la base inferior del diseño , donde se puede apreciar claramente el radiador  pasivo, el cual   aunque no es obligatorio , si lo es de forma muy   recomendable para evitar calentamientos excesivos  a la placa  y así alargaremos la vida de esta versatil  placa

Y este es el aspecto de como queda ya montada y cerrada :

 Usos  Y Aplicaciones

Usted necesitará una imagen reciente NOOBS o de Raspbian  que puede descargar desde la pagina  de  descargas . En la pagina de descargas  esta  disponible  la versión de 32 bits Raspbian usada en otros dispositivos Raspberry Pi, pero se suponen que próximamente   deberían crear  una nueva imagen con soporte al modo de 64 bits.

La forma de instalar el sw en la sd no puede ser mas sencillo ,pues una vez descargada la  ISO de  la distribución que nos  interese   , solo necesitamos la utilidad Win32DiskImager d( se puede descargar desde la página del proyecto en SourceForge como un archivo zip),seleccionar el archivo de imagen que ha extraído anteriormente de Raspbian, seleccionar la letra de la unidad de la tarjeta SD en la caja del dispositivo . hacer  clic en Escribir y esperar a que la escritura se complete.(mas detalles  aqui )

 

La nueva placa no es solo un dispositivo estupendo para programar sino que también es   ideal para jugar  usando directamente la distribución de Raspbian citada  o  bien por medio de la distribución RetroPie

Especialmente interesante  para experimentar  para sus futuros proyectos de IoT  tal y como hemos visto  en este blog , es e usar la Raspberry Pi    a través de la plataforma Cayenne

Asimismo en este blog también hemos hablado de las posibilidades de la Raspberry Pi para emular el sistema Ambilight de Philips gracias a la distribución LightBerry

 

Hay infinitas posibilidades  muchas de las cuales hemos intentado  hablar en este blog   de modo que seria  pretencioso intentar condensarlas todas en un único post, sin duda el limite solo esta  en nuestra imaginacion

 

Por cierto, no sabemos  hasta cuando se mantendrá el precio , pero  si le   interesa este modelo   por unos  de 34€  con gastos de envío incluido ,  no se lo piense pues puede conseguirlo  todavia en Amazon facilmente

Como montar su propio cable de red y no morir en el intento


Es evidente  que conectar cualquier  dispositivo  por cable ethernet es mucho mas eficiente, seguro, robusto , confiable , etc   que hacerlo de modo inalámbrico  a pesar de la mejoría notable en la tecnologia WIFI  en la  que se ha dado con el Wiifi+ que usa la banda de 4G.

Aunque  prácticamente con cualquier dispositivo que compremos suele venirnos un pequeño  cable ethernet  de unos escasos metros  , normalmente la longitud de este no es suficiente la mayoría de las veces,  así  que nos vemos obligados a comprar cables ya hechos ( unos 9€  por 20mt  es la opción mas habitual )  , lo cuales casi siempre   son por el contrario  demasiado largos para la longitud deseada , y  una molestia    sobre todo si hay que pasar el cable bajo canalizaciones   ( por  el problema de pasar los conectores ) así como desde luego muy poco eficiente si no se necesita cubrir esa distancia.

NanoCable 10.20.0130 - Cable de red Ethernet RJ45 Cat.5e UTP AWG24, Gris, latiguillo de 30mts

Actualmente los cables ethernet  con estándares 10Base-T, 100Base-TX y 1000Base-T sólo garantizan su funcionamiento con longitudes menores de 100 metros, pero para conseguir velocidad Gigabit en nuestra red, no sólo es necesario tener un cable de calidad y con una categoría Cat5 o superior, sino que el cable debe tener 4 pares de hilos para proporcionar 1.000Mbps, además de por supuesto   de soportarlo nuestro router  , y por ende la placa ethernet del equipo al que conectemos , que  deben ser ambos  Gigabit.

La categoría mínima de cable por la que deberíamos optar para cada tipo de conexión es:

  • Para  viejas conexiones de cobre Tipo  ADSL convencional :Suponiendo que las conexiones ADSL / VDSL alcancen unas velocidades máximas de 30 Mbps   y  no vayamos a hacer un uso intensivo de la red local, con un cable de categoría 5 pero con 4 pares debería ser suficiente ,pero dado que prácticamente cuesta los mismo un cable cat5 que uno cat5e  deberíamos optar or  un cable  de categoría 5e que  puede ofrecer velocidades de hasta 1Gbps,  
  • Para conexiones de fibra  FTTH :Para velocidades de 200/300 Megabits por segundo un cable de red de categoría 5 ya no nos serviría si queremos obtener el máximo ancho disponible ,   por lo deberíamos optar al menos por  un cable  de categoría 5e que  puede ofrecer velocidades de hasta 1Gbps,    aunque no las garantiza .

 

NanoCable 10.20.0302 - Cable de red Ethernet rigido RJ45 Cat.5e UTP AWG24, gris, bobina de 100mts

Respecto el precio  en rollos  no es descabellado si optamos por uno sin blindaje  : unos 20€  por una bobina nada menos que de 100 mt.   , pero, dado que es susceptible de  que baje mucho el ancho de banda por las interferencias ,merece la pena  optar por uno con blindaje de alumininio (unos 30€ la bobina ) ,

  • Para conexiones de fibra  FTTH   exigentes : si queremos  asegurarnos la máxima velocidad podemos plantearnos la categoría 6, donde fácilmente tendremos una velocidad de 1Gbps e incluso más si el cable, las condiciones y el hardware lo permiten ,  pero a cambio necesitaremos pagar algo mas (unos 33€ por la bobina de 100 mt) .

Valueline VLCR85291E100 - Cable de red (100 m, CAT 6, UTP), color gris
Igual que el cable, también necesitaremos conectores RJ45   para ambos  extremos de cada cable de red que construyamos. Como todo en este mundo, en el mercado  podemos encontrar una gran variedad de clavijas RJ-45 para nuestros cables, desde sencillas pero funcionales  conectores de plástico  por unos 2€  unos 50 unidades, hasta conectores con acabados metálicos, ideales para cableados profesionales.

 

 

Sin duda una herramienta que no puede faltar para hacer posible las conexiones  entre los conectores  y el cable es  la crimpadora, o el alicate para cables de red.  Realmente no es nada complejo con esta herramienta poder hacer uniones limpias y confiables  pero siempre  debe tener en cuenta que  ambos lados del cable de empezar por el mismo color  y por supuesto ir en el el mismo orden .

Como  es  fácil que un cable no se haya crimpado correctamente, o que en el último momento, al entrar al conector, un cable se haya movido,para comprobar que todo ha salido correctamente conexionado podemos usar  un  comprobador de cables, . lo cual no es mas que un dispositivo muy sencillo que envía señales eléctricas por cada uno de los hilos del cable y comprueba si, al otro extremo, llega correctamente la señal y corresponde al pin que debe corresponder.

En el siguiente video podemos ver el proceso completo en acción:

 

Es cierto que si busca  adquirir estas herramientas puede que  desmoralice sobe todo porque están pensadas para un uso profesional . Afortunadamente parar un uso puntual no profesional  existen  estuches con todas las herramientas citadas  a un precio mas que adecuado de unos 15€ en Amazon .

Este  tipo  de estuches suelen incluir  una   grimpadora para bastidores rack, con  gancho para extraer los cables de forma segura y  un clip para introducirlos dentro de las ranuras. ,un  tester de cables y  un pelador de cables ajustable para evitar dañar los cables interiores.

 

 

 

 

Tal vez  con este pequeño post  al menos nos hayamos dado de cuenta de las posibilidades de las conexiones por cable las cuales por su seguridad , robustez, calidad ,  y bajo precio  son un excelente opción para muchísimas aplicaciones  que se nos ocurran como  videvigilancia, video a demanda, alarmas , multimedia ,etc

 

 

 

El futuro del IoT


Estamos empezando a ver es un mundo donde todo está conectado y todo es accesible  impulsado por la gran revolución propiciada por el  Iot  (Internet de las Cosas ) , es decir la tecnología que permite a  cualquier dispositivo simple o complejo,  gracias a la conectividad a internet ,ser capaz  no solo de enviar de información en tiempo real de su estado  y de ingentes diferentes variables físicas,   sino también interactuar con el medio .

En este breve vídeo podemos vemos  prototipos de  tecnología ya existente  como la maleta que nos sigue , el coche autónomo.   o las notificaciones complejas en  nuestro smartwatch , todas ellas en fase muy avanzada de diseño y   que sin duda   inundaran nuestras vidas en un futuro muy próximo,

Ya no hablamos del “Internet de las Cosas”, sino del IoE (Internet of Everywhere), de una nueva economía donde convivan más de 100.000 billones de dispositivos conectados   (aproximadamente allá en el horizonte de  2025)  donde, no solo  nuestro hogar sera accesible por nuestro propio smartphone  sino cualquier cosa que nos rodee como wereables , medios de transporte ,  etc.

Según analistas en unos años  asistiremos  a que cerca del  10% de la población mundial contara  con algún tipo de prenda de vestir comunicada con Internet, ( incluso incluyendo gafas graduadas)  así que la hipótesis   del smartphone   en el centro de nuestra vida digital incluso cambie , porque las cosas aun pueden cambiar mas , por ejemplo sustituyéndo  nuestro compañero inseparable  por  implantes, algún nuevo wereable   o cualquier otra nueva tecnología  que aparezca,

 

Sin duda  ,la carrera  solo acaba de empezar y ya se deslumbran sus enormes  posibilidades  , así que  la carrera  no acaba mas que empezar   y sin duda  veremos cada  vez mas  como el   IoT conectará a personas de todo el mundo para ayudarnos a concentrarnos en las cosas que más importan: familia, amigos, salud y felicidad.

Sencillo contador de energía para hogar


Desde que cambió la normativa que regulaba el uso de limitador  de la potencia contratada , gracias a los contadores inteligentes  con tele-gestión que van instalados aparte ( normalmente centralizados en una parte de edificio aparte)y que integran ademas  la habilidad de limitar ( o mejor dicho interrumpir) el suministro la potencia desde estos en función de la potencia contratada , en muchos casos  y  en muchas viviendas ha quedado libre el hueco  donde residía el antiguo  ICP magnetotérmico  que hacia de limitador  y que  instalaba la compañía suministradora

Este hueco  en la caja ICT  que ha quedado vacante normalmente ubicado a  la derecha de la caja de distribución de corriente alterna , es ideal  para instalar  un sencillo panel  muy económico que nos va ayudar muchísimo a concienciarnos de nuestro consumo energético en tiempo real   y por supuesto realizar las acciones correctores

El panel digital ,como se observa en la imagen superior ya montado,   encaja en la parte del hueco dejado por el antiguo magnetotérmico , aunque según el tipo de caja habrá que rebajar algo mas el hueco  con una lima para que encaje perfectamente en el hueco ,   y como se puede  apreciar ,es bastante llamativo visualmente gracias  a su luz de fondo azulada  mostrando en tiempo real   las siguientes medidas:

  • Tensión en voltios de la red de suministro ca
  • Intensidad en amperios del
  • Potencia instantánea consumida en Watios
  • Acumulado de  energía consumida wn Kw/h

 

 

 

El instrumento calcula la potencia activa usando la formula  P = U * I * (Cos ) donde  (Cos ) indica  el factor de potencia .

El factor de potencia o coseno de “fi” (Cos ) representa el valor del ángulo que se forma al representar gráficamente la potencia activa (P) y la potencia aparente (S), es decir, la relación existente entre la potencia real de trabajo y la potencia total consumida por la carga o el consumidor conectado a un circuito eléctrico de corriente alterna. 

En los circuitos inductivos, como ocurre con los motores, transformadores y la mayoría de los dispositivos o aparatos que trabajan con algún tipo de bobinado, el valor del factor de potencia se muestra siempre con una fracción decimal menor que la unidad ,lo cual realmente indica  el retraso o desfase que produce la carga inductiva en la sinusoide correspondiente a la intensidad de la corriente con respecto a la sinusoide de la tensión o voltaje.

Por ejemplo un  motor de corriente alterna con un  factor  de  potencia  o  Cos  = 0,95 ,  por  ejemplo,  será  mucho  más  eficiente  que  otro  que  posea  un  Cos  = 0,85 .

Instalación 

Como panel hemos elegido el modelo  Elegiac AC        de bajo coste (18,99€ )  que  tiene un tamaño muy compacto (90x50x25mm), alimentándose directamente a la red 110V-220V ( frecuencia de trabajo: 45-65Hz) ,y  que  soporta  hasta 100A / 22000W con una precisión de  1.0.

Ademas de  presentar parámetros eléctricos función de medición (tensión, corriente, potencia activa, potencia) cuenta con una función de alarma de sobrecarga cuyo  umbral de alarma se puede preseleccionar.

Una ventaja de este panel es que no necesita  fuente  de alimentación externa al llevarla integrada  en esta , lo  que significa en la practica  que únicamente habrá que alimentarla con 220 V c.a. .

La instalación es muy sencilla :

  • Cortamos la alimentación general ( normalmente desde el mangenetotermico de entrada de la red)
  • Insertaremos el panel digital  bien en la caja ICT en los huecos libres del limitador o bien con un belcro en cualquier punto que nos resulte atractivo visualmente
  • Alimentamos el panel  directamente  con 220oV , eso si , !con mucho cuidado de no equivocarnos donde  se conectan los hilos del  toroide!  (en la foto de bajo los bornes serian los dos inferiores)
  • Se hacer pasar uno de los cables de alimentación  general  ( o circuito  a medir  ,preferiblemente la fase ) por el interior del toroide
  • Se conectan  los dos hilos del toroide a los bornes correspondientes del panel(en la foto de bajo los bornes serian los dos superiores)
  • Restituimos el suministro de ca
  • Ajustaremos los parametros de luz

Conviene recordar que por seguridad cuando trabaje en cuadros de baja tensión siempre trabaje cortando la alimentación general y asegúrese después con un polimetro o un buscapolos que efectivamente no hay tensión

Obviamente si no se tiene experiencia en cableados de baja tensión o no esta seguro de la instalación , le  recomendamos encarecidamente  que este tipo de trabajos lo realice un instalador  o un electricista pues  manejar por error tensiones de ca puede ser peligroso  .

 

 

Ajustes
1. Luz de fondo

El control de luz de fondo se puede ajustarse presionando brevemente el botón para encender o apagar la luz de fondo,de modo que quedara almacenado  el estado de retroiluminación de almacenamiento automático.

2. Reseteo de las lecturas

  • Paso 1: Pulse el botón de encendido durante 5 segundos hasta que la pantalla digital parpadee, luego suelte el botón;
  • Paso 2: Si vuelve a pulsar el botón, los datos de consumo se borran y se borran para dejar de parpadear;
  • Paso 3: Si vuelve a pulsar el botón durante 5 segundos hasta que no parpadee, los datos de carga no se borran y la salida se borra.
  1. Ajustes del valor de la alarma
  • Paso 1: Pulse el botón, cuando la pantalla LCD muestre “SET CLr” después del botón de liberación, ajuste el valor en el informe de estado de energía;
  • Paso 2: El área de potencia muestra el valor actual de la alarma de alimentación y el dígito más bajo comienza a parpadear, entonces puede presionar el botón del +1 digital, cuando no haya operación de tecla más de tres segundos, cambia automáticamente por ajuste digital corto como encima;
  • Paso 3: Después de la configuración, presione el botón más de cinco segundos para guardar y salir automáticamente, el alcance del umbral de potencia activa establecido para el 0.0 ~ 22.0kW.