Simple modificación de un mando dual para automatización del hogar


En el post de hoy vamos a ver como con una  simple  modificación del circuito comercial (concrétamente el kit jm80) de un receptor de un mando dual podemos convertir el circuito de radio control de un sistema eléctrico del hogar ( persiana eléctrica,puerta eléctrica, etc)  en un elemento  que nos abra la puerta a la automatización del hogar gracias  a que nos va a ser posible el control por tres vías posibles:

  • A distancia por el mando
  • Por control manual   por si perdemos el  mando o deseamos inhibir este
  • Por control mediante  un circuito auxiliar (Arduino).

 

conjunto.PNG

El circuito que vamos a usar es un económico kit  de 12€ que se puede comprar en Amazon aqui  .Sus características mas importantes son las siguientes:

  • 433 MHz, 2 Relay, alrededor de 150 metros
  • Incluye palanca/momentáneo/Latching chip
  • Min Voltaje/Corriente de conmutación: 5VDC 100 mA.
  • Max conmutación Voltaje: 110 VDC 240 VAC. Max Corriente de conmutación: 15 A.
  • Potencia de conmutación nominal: 1,875 va 360 W para cada relé
  • Canal: 2 canales
  • Voltaje de funcionamiento: DC 12 V
  • Corriente estática: < = 7ma electrónico contacto
  • Capacidad: 7 A 240 V AC, 10 A 24 V DC
  • distancia de transmisión: 150 – 200 metros (sin obstáculos)
  • codificación tipo: soldado modificar DIP chip de cambio de modo de control
  • Frecuencia de operación: 433 MHz
  • Modos de control: Elija con cierre o non-latching por el cambio un chip DIP carga nominal: 2000 W
  • Dimensión (LWH) (mm): 55 x 40 mm

 

Un  característica interesante para el caso de que montemos varias unidades es que es posible configurar receptor  y transmisores para otras combinaciones modificando los puentes de la combinación de acceso (por fiabilidad han sustituido el conmutador por puentes)

 

placas.PNG

Este kit incluye ingeniosamente tres chips que insertando alguno de estos  en el zócalo DIL del CI  del receptor permiten operar el receptor en tres  modos muy diferentes:

  • Tipo  Latch : al pulsar un botón,el relé interesado se conecta  hasta que pulse el otro. Muy parecido a los botones de velocidad de los ventiladores  que conectan otro bobinado ( y desconectan el anterior ) al activarlo
  • Tipo de non-latch (momentáneo): al pulsar un botón el relé interesado se conecta hasta que  usted lo libera. Al igual que el botón de claxon, si usted pulsa el claxon suena hasta que lo libera ;
  • Tipo de auto-latch (botón): al pulsar un botón el relé interesado se conecta  hasta que usted pulsar una vez más para desconectarlo.Este modo esta claramente ideado por ejemplo para abrir o cerrar la persiana eléctrica completamente sin necesidad de tener que estar pulsando el botón .También es útil para activar  o desactivar a distancia cualquier dispositivo como por ejemplo una TV, un equipo hifi,etc   funcionando en resumen como  la clave de potencia de mando a distancia de TV: al pulsar  TV, se enciende pero si se pulsa  de nuevo, TV se  apaga. Es esta configuración la que viene predefinida en el kit ,por lo que si necesita modificar el tipo de operación en non-latch o latch tendrá que cambiar el chip  que acompaña el kit

placareles1.png

Centrándonos en el receptor que  como vemos opera a 12 V DC, este cuenta con dos reles de  7A (220V).Cada relé cuenta con  un contacto común  y dos contactos móviles : uno abierto (correspondiente a la operación ) y  otro  cerrado (correspondiente al reposo).

En el siguiente esquema podemos ver claramente su significado:

esquema reles.PNG

Aunque el contacto en reposo(CB)   puede servir para muchas aplicaciones, para el  uso “normal ” se  utilizaran los contactos de trabajo( AB) para activar o desactivar las cargas a las que los conectemos estos , como por ejemplo el motor de una persiana eléctrica que tiene dos bobinados ( uno para subida y otro para bajada)

Este equipo , aun como vemos es muy versátil ,sin embargo  no incluye operación manual en el propio receptor ,ni tampoco  ningún tipo de tele-operación para poder activar los reles por medio  de algún automatismo  (Arduino ;Netduino ,Raspberry Pi,etc),lo cual puede ser un inconveniente  con vistas a automatizar nuestro hogar

La  modificación que se propone a este estupendo Kit es la posibilidad de operarlo via diferente a la de radio ,pero al no tener terminales específicos con objeto de no dañar la electrónica de RF ,el latch o los transistores de salida, lo  mejor es operar directamente  con los bobinados de los reles.

La modificación probada para este kit , no puede ser mas sencilla pues simplemente consiste en localizar los bobinados de los reles (diferentes del positivo)   y  soldar  a estos  sendos cablecillos  permitiéndonos  usarlos si lo conectamos a la masa general  tanto para operar manualmente los reles como para tele-operacion por otro circuito

En la siguiente imagen podemos ver dos cablecillos grises soldados a la placa para el control manual de los reles:

 

IMG_20160904_185521[1].jpg

 

En cuanto a las conexiones de los hilos de control  obtenidos, el conexionado no puede ser mas sencillo ,pues  sólo conectaremos los hilos a dos pulsadores (normalmente abiertos)  y después uno  común  que ira a ambos pulsadores  y a la masa común de la alimentación(ov)

 

IMG_20160904_185441[1].jpg

Obviamente los hilos obtenidos  de la conexión de los bobinados de los relés no solo sirven para la operación por pulsadores , también puedes ser utilizados para la tele-operación del circuito vía un circuito auxiliar( por ejemplo constituido un Arduino con un  transistor de pequeña potencia )

Finalmente  para terminar el montaje se recomienda usar dos regletas de terminales  diferenciadas:

  • Una de muy baja tensión para los tres terminales ( los dos relés y la masa) para el tele-control   o para  el accionamiento manual de los pulsadores
  • Una de Baja Tensión  de  al menos 5 terminales para la alimentación del montaje y para apoyar las conexiones de  utilización del receptor ( en la imagen se ve como se alimenta desde ahí a  la fuente del receptor)

 

IMG_20160904_191156[1].jpg

 

Si le interesa hace esta mejora  , el kit que hemos usado en este post lo puede conseguir en Amazon por menos de 12€  , aunque como se ha comentado tendrá que soldar dos cablecillos a la placa ( puede perder la garantía del producto así que se recomienda probarlo antes de emprender esta sencilla modificación) ,pero la mejora sera bastante ostensible pues abre un abanico inmenso de posibilidades

 

 

Anuncios

Proyecto en c# para Raspberry pi


 

En efecto , aunque hemos hablado en muchísimas ocasiones de múltiples ejemplos en c# usando la plataforma Netduino  es poco frecuente ver aun ejemplos que usen la plataforma de desatollo de Microsoft de IoT  en otros entornos.

Precisamente  en el siguinte  ejemplo  de como implementar  una estación  meteorológica  en una Raspberry Pi , se demuestra cómo aprovechar la potencia de Windows 10 IO Core, y crear una estación meteorológica con  un escudo de Sparkfun(Sparkfun DEV-12081)  en una Raspberry pi que corre Windows 10 (puede ser la versión  2 o también la  3).

Este proyecto forma parte de la iniciativa de Microsoft llamada  Hack the Home , que proporciona componentes de código abierto para minimizar  el esfuerzo en la creación de  interfazes con los dispositivos y servicios a  usar para enfrentarse a sus hogares.

Antes de describir   como lo han hecho en el vídeo podemos ver  una introducción a la plataforma de windows IoT;

 

El nuevo espacio de nombres Windows.Devices de las API de Windows Plataforma universal (UWP) en Windows 10, permite a los desarrolladores aprovechar la potencia de Windows  en la interacción con el mundo real a través de sensores y actuadores utilizando el bus I2C y los puertos de uso general de entrada / salida (GPIO) disponibles en el Raspberry Pi 2, para crear una estación meteorológica conectada a Internet utilizando la protección contra la intemperie Sparkfun.

Las instrucciones proporcionadas darán un desarrollador de primera mano la configuración del hardware requerida junto con la escritura y depuración de Windows recientemente disponible en  windows 10 llamada UWP Windows.Devices API’s.

En este ejemplo,  también se demostrará cómo agregar sus datos en la nube utilizando el Azure Event Hub y  ConnectTheDots API.

Para  empezar , lo primero es conexionar   los  pines desde la Raspberry Pi 2 a la placa Sparkfun(Sparkfun DEV-12081)

Este es el conector de la Raspberry Pi 2:

GPIO esquemática (pata 1 está marcada con una almohadilla de soldadura cuadrada)

El diagrama de conexiones de  la Raspberry Pi  hacia la placa de Sparkfun   es el siguiente:

  •  GND (negro) —— GND
  • 5V (rojo) ——— VIN
  • 3V3 ——- (marrón) —— 5V (escudo truco; no es un error)
  • GPIO2 —– (amarillo) —- SDA
  • GPIO3 —- (naranja) —- SCL
  • GPIO5 —– (verde) —– D8
  • GPIO6 —– (azul) ——- D7

Cableado de cerca del carril exterior (negro, rojo)

 

Con la placa Weather Shield es muy fácil de hacer funcionar con Arduino  ofreciendo  de por sí la presión barométrica, humedad relativa, luminosidad y temperatura. También hay conexiones para sensores opcionales tales como la velocidad del viento, dirección, pluviómetro y GPS para la ubicación.

Utiliza el sensor de humedad HTU21D, de presión barométrica MPL3115A2, un sensor de luz ALS-PT19 y se basa en la librería HTU21D y MPL3115A2 para Arduino. Dispone de dos posiciones para soldar conectores RJ11 (para sensores opcionales de lluvia y viento) y un conector GPS de 6 pines (para conectar un GPS opcional). Puede funcionar desde 3.3V hasta 16V y tiene un regulador de voltaje integrado.

 

En cuanto al sw de  la estación meteorológica  en realidad se compone de  dos aplicaciones:

  • La primera es una bucle largo por tiempo indefinido, que trabaja  de fondo leyendo el estado de los sensores y actúando como un servidor de estación meteorológica.
  • La segunda, una interfaz de usuario que realiza una solicitud al puerto 50001 del servidor mostrando los datos. La aplicación de interfaz de usuario es universal y se puede implementar en cualquier dispositivo Windows desde el Raspberry Pi 2 hasta el final a un PC de escritorio – y en cualquier lugar en el medio!

Es necesario encontrar la siguiente línea en el archivo `Mainpage.xaml.cs` del proyecto` build2015-tiempo-station`, y vuelva a colocar el nombre del equipo, “MINWINPC”, en la dirección URL con el nombre de su dispositivo IO.

//TODO: On the following line, replace "minwinpc" with the computer name of your IoT device (ie "http:// :50001").

private Uri weatherUri = new Uri("http://minwinpc:50001");

 

1-Seleccione la rama “lab_ConnectTheDots”, si desea aprender a utilizar connectthedots y completar el código manualmente

2-Abrir “WeatherStation \ WeatherStation.sln” en Visual Studio 2015

3-Vaya a “WeatherStationTask.cs” en el panel “Explorador de soluciones”

4-Utilice la “Lista de tareas” para saltar a cada “TODO //:” y escribir el código necesario

Los archivos AppSettings, ConnectTheDotsSensor, y ConnectTheDotsHelper son parte del código creado para ayudarle a utilizar la interfaz connectthedots al Hub Evento Azure.

AppSettings: Guarda los ajustes para la conexión al hub de eventos

Esta información se puede encontrar bajo su ServiceBus en Azure.

5-Vaya a su “* ns” instancia ServiceBus -> Evento Ejes -> ehdevices -> Información de conexión -> Busca el SAS “D1”

6-Copiar la cadena de conexión que debe tener este aspecto (Contiene información para sus AppSettings)

"Endpoint=sb://iotbuildlab-ns.servicebus.windows.net/;SharedAccessKeyName=D1;SharedAccessKey=iQFNbyWTYRBwypMtPmpfJVz+NBgR32YHrQC0ZSvId20="

  • servicio de espacio de nombres de autobús (Ej: “iotbuildlab-ns”)
  • nombre del evento cubo (Ej: “ehdevices” – siempre usar esto)
  • nombre de la clave (Ej: “D1”)
  • clave (Ej: “iQFNbyWTYRBwypMtPmpfJVz + NBgR32YHrQC0ZSvId20 =”)
  • nombre de visualización (Ej: “WeatherStation1” – Esto le da un nombre a los datos del dispositivo)
  • organización (Ej: “Construir la IO Lab” – Cambio de personalizar)
  • ubicación (Ej: “EE.UU.” – Cambio de personalizar)

ConnectTheDotsSensor: Contiene la información de un sensor

  • GUID
  • mostrar nombre
  • organización
  • ubicación
  • nombre de la medida
  • unidad de medida
  • hora de creación
  • valor

ConnectTheDotsHelper: Las funciones auxiliares para inicializar el Hub de eventos

  • establece la conexión
  • crea los tokens de autenticación

Si desea iniciar su propio concentrador de sucesos de servicios de fondo, siga las instrucciones del connectthedots GitHub repositorio:https://github.com/msopentech/connectthedots/blob/master/Azure/AzurePrep/AzurePrep.md

.

7-Una vez que haya que desplegado, debe iniciar el envío de datos al cubo evento y los datos debe ser visible en http://iotbuildlab.azurewebsites.net/ o en su propio sitio web.

 

Fuente  aqui

Alarma casera usando Raspberry Pi, Netduino Plus y ATtiny85


En el post de vamos a tratar un interesante sistema de monitoreo de alarma para el hogar de código abierto ,que como peculiaridad  usa tres plataformas  completamente diferentes   como son una  Raspbery Pi , Netduino Plus , ATtiny 85   para mejorar  un típico sistema de alarma para el hogar  basada en  los controles  PC5010 Digital Security Controls (DSC) PowerSeries Security System control panel   y sensores.

Concretando un poco el hardware empleado el creador  ha usado un Netduino Plus 1 ejecutando  .NET Micro Framework 4.2 (o QFE1 qfe2) y una  Raspbery Pi Modelo A con Debian GNU / Linux 7.0 (wheezy).


El autor  Gilberto Garcia  empezó el  proyecto  HomeAlarmPlus en febrero de 2012 con la intención de tener un simple sistema de monitorización de alarma para el hogar  y aprender más acerca de los microcontroladores usando como base una placa Netduino. A medida que fue mejorando sus  conocimientos, también lo hizo la complejidad de los circuitos, el sistema y los requisitos.Entonces apareció la idea de usar  una placa  Raspbery Pi para complementar el proyecto existente mediante el uso de la capacidad total del servidor Web Apache. Esto implicó cambios masivos en el código  del  proyecto original  como lo refleja  incluso el nombre final: HomeAlarmPlusPi.

El Objetivo por tanto del proyecto fue utilizar las capacidades completas de Raspbery Pi y Netduino Plus para controlar el sistema de alarma de una casa y reportar cualquier actividad de sensor o detector de movimiento a través de correo electrónico (mediante simple de transferencia de correo (SMTP)), un servidor web local, notificaciones (usando PushingBox ) y Pachube (despues  Cosm  y ahora xively) .


Dada la diversidad de plataformas empleadas , también lo fueron los  lenguajes de Programación  empleados para este proyecto, los cuales  fueron  los siguientes:

En Netduino Plus

  • C # para Netduino Plus
  • HTML para Web Server con hojas de estilo en cascada (CSS)
  • JavaScript para Web Server

En Raspbery Pi

  • HTML5
  • PHP
  • Java script
  • JSON
  • jQuery
  • El tiempo en API
  • Python (en desarrollo: uso de GPIO)

En ATtiny85

  • C / C ++ para programar el ATtiny85. Programado gracias a un escudo ArduinoISP, que construyo siguiendo las instrucciones  del  MIT High-Low Tech Group.
Arduino “programador en-sistema” (ISP) escudo ATtiny programador.

 

El hardware necesario

  • Raspbery Pi Modelo A o B
  • Netduino Plus
  • ATtiny85 (ATTINY85-20PU).
  • Tarjeta de memoria SD de 4 GB o superior (clase 10 preferido).
  • 5V 1A (1000mA) puerto USB fuente de alimentación .
  • Tarjeta Micro SD de 2 GB
  • Wi-Fi (802.11b / g / n) Módulo USB [1] , [2] o [3]
  • Adaptador de tarjetas SD
  • 3mm verde diodo emisor de luz (LED) por zona de alarma y detector de movimiento.
  • 330 ohmios para cada LED.
  • Transistor NPN
  • 10k ohmios resistencia variable
  • Resistencia de 1k ohmios para la base del transistor.
  • 5600 ohmios por resistencia de la zona de alarma y detector de movimiento.
  • Diodo Schottky por zona de alarma. Diodo Schottky debe tener baja caída de tensión como el SBR10U40CT .
  • ScrewShield (Proto-Screwshield (Wingshield) Kit de [1] o [2] ).
  • Conexión WiFi a Internet utilizando cualquier adaptador Wi-Fi. Probado en NetgearWNCE3001 y IOGEAR GWU627 .
  • 16×2 carácter básico LCD [1] u otros [2] .
  • Interruptor DPDT [1] u otros [2] para la selección de voltaje LCD.
  • Registro de desplazamiento 74HC595

Hardware opcional

 

  • Robusto, USB / Panel de conectores a prueba de agua ( RR-211300-30 )
  • Receptor RF Toggle Type para armar / desarmar [1] .
  • Cable USB 2.0, tipo A macho a un varón (10 pies o más arriba). Se utiliza para acceder alNetduino Plus tabla en el panel de alarma.
  • 200 vatios / 350 VA UPS ( APC Sistema UPS BE350G o similar ).
  • Pulsador de rearme externo.
  • Arduino Proto Escudo R3. Más espacio para componentes adicionales. [1] o de otros [2] ,[3] .
  • Bajo perfil adaptador de tarjetas microSD para Raspberry Pi [1] .
  • Caja  Raspbery Pi [1] u otros [2]
  • Interruptor de encendido en la línea de 2,1 mm jack barril [1] o [2] .
  • Raspbery Pi conjunto de disipador de calor [1] .
  • Ventilador de 12 V CC Micro se enfríe Raspbery Pi [1] .

 

Ajustes
Para HomeAlarmPlus y HomeAlarmPlus Pi el símbolo condicional ALARM_DEBUG permite depurar alarma en Visual Studio. Para habilitar la depuración en la correcta proyecto presione AlarmByZones, seleccione propiedades, seleccione la pestaña Build de Visual Studio y añadir ALARM_DEBUG en “símbolos de compilación condicional”.

configuración de depuración

Más capacidades de depuración se llevarán a cabo para Raspbery Pi y ATtiny85.

Circuitería
El  siguiente Fritzing diagrama muestra cómo se conectan el Netduino además, los LED y las zonas de alarma (o detector de movimiento). En comparación de la aplicación anterior ( HomeAlarmPlus ) se ha añadido un  ATtiny85 con el fin de reducir los hilos en el Netduino Plus 1. De esta manera se han salvado 2 KB de RAM y dando  más espacio de código.

HomeAlarmPlus Pi diagrama de conexión I. Rev

 

circuitos HomeAlarmPlus Pi
HomeAlarmPlus Pi detalles de circuitos

Tenga en cuenta que una o más zonas consisten en lo siguiente:
a) 1 normalmente abierto de contacto y 1 Contacto normalmente cerrado con resistencia de fin de línea (EOL).
b) Doble circuito EOL, 1 contacto normalmente cerrado con una resistencia EOL 5.6kohm y el diodoSchottky. Esto hará que la protección necesaria para el Netduino o Arduino.
c) Cada zona de tierra debe ser conectado a la ProtoScrewShield GND.

Netduino / ProtoScrewShield Pin
Descripción
A0 Zona # 1
A1 Zona # 2
A2 Zona # 3
A3 Zona # 4
A4 Sensor # 1 [detector de movimiento]
D0 XBee RX
D2 LED de zona # 1
D3 LED de zona # 2
D4 Zona LED # 3
D5 Zona LED # 4
D6 LED Sensor # 1 [detector de movimiento]
D7 RF pasador articulado (Receptor RF)
D8 ATtiny85 poder
D9 Alarma antirrobo o Mini zumbador
D10, D11 y D13 LCD registro de desplazamiento

Opciones de servidor Web en Netduino Plus

opciones
Descripción
/ página raíz formato de escritorio.
/open Abrir último archivo en la tarjeta SD.
/ sdcard Lista los archivos en la tarjeta SD.
/ Do superusuario. Muestra opciones adicionales.
/ Pachube Muestra la actividad Pachube por zona / Datastream.
/about créditos de la aplicación y la versión. [Versión desktop]
/ about-mobile créditos de la aplicación y la versión. [Versión móvil]
/ delete-confirm Eliminar último archivo en la tarjeta SD [ventana de confirmar].
/ delete-last Eliminar último archivo en la tarjeta SD [ninguna ventana de confirmación].
/ diag Muestra la memoria disponible en Netduino y fuerzas para despejar el recolector de basura. [Versión de escritorio]
/ diag-mobile Muestra la memoria disponible en Netduino y fuerzas para despejar el recolector de basura. [Versión móvil]
/date Obtiene fecha y hora de Raspbery Pi.
/mobile página raíz formato móvil.

 

HomeAlarmPlus [Versión de escritorio]
HomeAlarmPlus [Versión móvil]

Opciones de servidor Web en Raspbery Pi

opciones
Descripción
/ página raíz formato de escritorio.
/index.php página raíz formato de escritorio.
/weather.html los datos de tiempo en Wunderground. [Versión desktop]
/móvil página raíz formato móvil.
/mobile/index.php página raíz formato móvil.
/references.htm Proyecto enlaces de referencia.
/about créditos de la aplicación y la versión.
/NetduinoPlus/setNetduinoTimer.php Configuración / Actualización Netduino Plus hora / fecha.

 

servidor web HomeAlarmPlus Pi [Versión de escritorio]
HomeAlarmPlus Pi servidor web [Versión móvil]

 

HomeAlarmPlus Pi [pantalla móvil Apple]

Arquitectura de software

HomeAlarmPlus Arquitectura de Software Pi

 

Arquitectura de Software detallada

Producto final

Producto final mostrando el acceso móvil, Raspbery Pi, Netduino Plus 1, escudo personalizados para el panel de alarma Netduino y Home

En desarrollo

  • Interfaz web para dispositivos basados en tabletas. [Pruebas, no publicado]
  • Las cámaras con sensor de movimiento integrado y la visión nocturna. Cámara debe integrarse con Raspbery Pi GPIO.
  • Más capacidades de depuración de Raspbery Pi y ATtiny85.
  • Explora las opciones de notificación adicionales como IFTTT. [Hecho. Lanzamiento 17 de de julio de, 2013]

Referencias muy interesantes para profundizar:

Repositorio de código y documentación
HomeAlarmPlusPi

Advertencia
El proyecto  contiene información relacionada con un típico sistemas de alarma. Por favor, tenga en cuenta que este procedimiento puede anular la garantía. Cualquier sistema de alarma o cualquier tipo puede ser comprometido deliberadamente o puede fallar al operar como se espera por una variedad de razones.

El autor, Gilberto García, no se hace responsable de los fallos del sistema, tales como: instalación inadecuada, el conocimiento penal, el acceso de intrusos, fallo de alimentación, el fallo de las baterías reemplazables, el compromiso de la radiofrecuencia dispositivos (inalámbricos), los usuarios del sistema, detectores de humo, movimiento detectores, dispositivos de alarma (sirenas, campanas, cuernos), líneas telefónicas, tiempo insuficiente, fallo de un componente, pruebas insuficientes, de seguridad y de seguros (de propiedad o de seguros de vida).

Una última cosa:Desconecte la alimentación de c.a.  y de teléfono antes de hacer cualquier cosa.

Fuente aqui