Como sustituir una mirilla normal por una digital


Las puertas con mirilla convencionales   de tipo óptico no ofrecen ninguna privacidad al usuario, porque desde el exterior es posible ver dislumbrar  actividad o presencial ,  por ejemplo cuando se enciende la luz   o  bien se  se acerca una persona a mirar por el

Se   puede  pues  mejora la seguridad del hogar con una mirilla digital que  ofrece una visión amplia y clara  mejorando nuestra privacidad  siendo especialmente  útil para niños, personas mayores o con alguna discapacidad.

mirilla

Con las mirillas digitales electrónicas se garantiza la seguridad, ya que se trata de cámaras mirilla y no hay visión desde el exterior  siendo ademas mucho mas cómoda   y sencilla la visualización  pues basta pulsar un botón para poder visualizar lo que esta ocurriendo al otro lado de la puerta  sobre la propia cámara.

Normalmente las mirillas electrónicas son muy fáciles de usar: basta con presionar el botón para ver la imagen exterior durante unos segundos, ofreciendo una gran visibilidad desde cualquier ángulo, incluso con poca luz exterior.

Algunos aspectos a tener en cuenta a la hora de valorar una mirilla digital son, el tamaño del display, la resolución de la minicámara ,el ángulo de visión que cubre y su sensibilidad a la luz ya que se desenvolverá en un entorno oscuro. Otros extras son el sensor de movimiento, el timbre inalámbrico, grabación de vídeo y/o fotografías,etc .

Otras consideraciones pueden ser el color de la mirilla que encaje por ejemplo con el color del pomo  o los adornos  que lleve al puerta, pues al margen de las consideraciones estéticas   tenga en cuenta  que lo que buscamos es que pase  lo mas desapercibida posible  para no delatar su naturaleza

Asimismo al elegir un modelo , aunque suelen llevar diferentes conos roscados para diferentes espesores , debe comprobar que se adapte al grosor de la puerta donde será instalada.

Reemplazar la mirilla antigua por una nueva  einstalarla en una puerta sin mirilla es una tarea sencilla como vamos    a ver pues solo se necesita un destornillador de estrella, una moneda y por supuesto la nueva mirilla .

Un modelo con buena relación calidad-precio (unos 35€) y que pasara desapercibido su visor en una puerta clásica  es el modelo VI.TEL. E0426 40 , apto   para marcos de ancho de 38 a 110 mm con  orificio standard (de 14 a 22 mm).

Esta unidad cuenta con pantalla LCD 2,6″, encendido táctil,alimentación 2 pilas LR06 AA y   su angulo de Visión es de 105 °C

Los pasos  para instalar  la mirilla son muy sencillos:

Lo primero que tenemos que hacer es quitar la antigua para lo cual nos bastara el dorso de una moneda.

IMG_20180111_162821[1]

Ahora elegiremos el tubo roscado en función del grosor  de la puerta

IMG_20180111_162858[1].jpg

Colocaremos la cámara  con la flechita hacia arriba pero todavía no elimine el adhesivo

IMG_20180111_162910[1].jpg

Tendremos que liberar   el soporte del cuerpo de la pantalla con ayuda de un destornillador de estrella pues ambos van unidos

IMG_20180111_162838[1]

Ahora queda roscar por el otro lado el tubo teniendo en cuenta que debe colocar el soporte  metálico autoadhesiva por el interior y con el rotulo Up hacia arriba

Tampoco esta mal pegar dos tiras autoahesivas extra  por los extremos para mejorar la posición de la pantalla:

IMG_20180111_162813[1].jpg

Ahora tendremos que conectar el extremo del cable de la cámara con la pantalla metiendo un poco en el interior  del tubo para que no haya tanto cable que pueda doblarse al colocar sobre el la pantalla.

IMG_20180111_162940[1].jpg

Fijaremos la pantalla en la parte de la lengueta superior del soporte

IMG_20180111_163111[1].jpg

No debemos olvidar poner dos pilas AAA  respetando la polaridad de estas:

IMG_20180111_163023[1].jpg

Ya solo queda  atornillar la pantalla a  la base con un tornillo philips

IMG_20180111_163331[1].jpg

Por ultimo   leiminaremos  el protector de la pantalla

IMG_20180111_163715[1].jpg

Asimismo eliminaremos   también el protector de la mirilla

IMG_20180111_163842[1].jpg

La instalación como hemos visto es muy sencilla, pues se ajusta al hueco universal de cualquier rejilla o mirilla de puerta convencional y funciona con 4 pilas AA, que permiten unas 2000 visualizaciones, en la pantalla LCD .

Control de GPIO de Raspberry Pi sobre MQTT usando ThingsBoard


ThingsBoard es una plataforma de servidor de código abierto que le permite monitorear y controlar dispositivos IoT. Es gratuita tanto para uso personal como comercial y puede implementarlo en cualquier lugar.

ThingsBoard es pues  una plataforma de IoT de código abierto que permite el desarrollo rápido, la gestión y la ampliación de los proyectos de IoT  de modo  que  puede:

  • Crear dispositivos de provisión y control.
  • Recopilar y visualizad datos de dispositivos.
  • Analizea datos del dispositivo y disparae alarmas.
  • Entregar datos del dispositivo a otros sistemas.
  • Habilitar las funciones específicas de casos de uso usando reglas y complementos personalizables.
  • Proporcionar la nube IoT lista para usar o ser la solución en las instalaciones que habilitará la infraestructura del lado del servidor para sus aplicaciones de IoT.

ThingsBoard es escalable pues es una plataforma escalable horizontalmente y compilación utilizando tecnologías líderes de código abierto, tolerante a errores  pues  no hay punto único de fallo ya que  cada nodo en el clúster es idéntico,es personalizable pues permite agregar nueva funcionalidad es fácil con widgets personalizables, motor de reglas y sistema de complementos, es s duradero  y es robusto y eficiente  pues  el nodo de servidor único puede manejar decenas o incluso cientos de miles de dispositivos según el caso de uso (un cluster ThingsBoard puede manejar millones de dispositivos). Asimismo también puede conectar dispositivos existentes a la plataforma usando ThingsBoard Gateway .

 

ThingsBoard le permite enviar llamadas de procedimiento remoto (RPC) desde aplicaciones del servidor a dispositivos y viceversa. Básicamente, esta característica le permite enviar comandos a dispositivos y recibir resultados de ejecución de comandos. Similarmente, puede ejecutar la solicitud desde el dispositivo, aplicar algunos cálculos u otra lógica del lado del servidor en el back-end y enviar la respuesta de regreso al dispositivo. Esta guía cubre las capacidades de ThingsBoard RPC. Después de leer esta guía, se familiarizará con los siguientes temas:

  • Tipos de llamadas RPC
  • Casos de uso de RPC básicos
  • Las API RPC del lado del cliente y del lado del servidor
  • Widgets RPC

Tipos de llamadas RPC

La característica de RPC de Thinsboard se puede dividir en dos tipos según el originador: llamadas RPC originadas en el dispositivo y originadas en el servidor. Para utilizar nombres más conocidos, denominaremos llamadas RPC originadas en el dispositivo como llamadas RPC del lado del cliente y llamadas RPC originadas en el servidor como llamadas RPC del lado del servidor .

Las llamadas RPC del lado del servidor se pueden dividir en un solo sentido y bidireccional:

  • La solicitud RPC unidireccional se envía al dispositivo sin confirmación de entrega y, obviamente, no proporciona ninguna respuesta del dispositivo. La llamada RPC puede fallar solo si no hay una conexión activa con el dispositivo objetivo dentro de un período de tiempo de espera configurable.
  • La solicitud de RPC bidireccional se envía al dispositivo y espera recibir una respuesta del dispositivo dentro del tiempo de espera determinado. La solicitud del lado del servidor está bloqueada hasta que el dispositivo de destino responda a la solicitud.

Vamos  a  ver una  aplicación de ejemplo    que  permitirá controlar GPIO de su dispositivo Raspberry Pi utilizando la interfaz de usuario web de ThingsBoard y observaremos el control de GPIO utilizando  un Led conectado a uno de los pines. El propósito de esta aplicación es demostrar las capacidades de ThingsBoard RPC .

Dispositivo RPC API

ThingsBoard está diseñado para ejecutarse y utilizarse en la mayoría del hardware, desde Raspberry PI local hasta potentes servidores en la nube. Las formas de configurar un cluster de ThingsBoard soporta los  siguientes sistemas operativos:

  • Windows : instale el clúster Thingboard en cualquier máquina preexistente que ejecute Windows.
  • Linux (Ubuntu y CentOS) : instala el clúster Thingboard en cualquier máquina preexistente que ejecute Linux.
  • Raspberry Pi 3 Modelo B (Raspbian Jessie) : instala el servidor Cassandra y Thingboard en una Raspberry Pi 3 modelo B.
  • Docker (Linux o Mac OS) : instala un clúster ThingsBoard de un nodo en tu máquina Linux o Mac OS para su desarrollo y prueba.
  • Docker (Windows) : instala un clúster ThingsBoard de un nodo en tu máquina con Windows para su desarrollo y prueba.
  • Instalación de AWC EC2 utilizando AMI : instale un clúster ThingsBoard de nodo único con AWI AMI público.

Asimismo , sin instalar nada ,también si esta es su primera experiencia con la plataforma, puede usar una demostración en vivo para ahorrar tiempo en la instalación (vea la página de documentación de demostración en vivo para más detalles).Ejempl

 

Ejemplo  control de un  led

En  este ejemplo  «hello world»   orientado a controlar un led usaremos  una   Raspberry Pi con una aplicación simple escrita en Python , que se conectará al servidor ThingsBoard a través de MQTT y escuchará los comandos RPC.

El estado GPIO actual y el widget de control GPIO se visualizaran utilizando el panel de control incorporado personalizable.

Por tanto tendrá que tener el servidor ThingsBoard en funcionamiento. Use Live Demo o la Guía de instalación para instalar ThingsBoard.

Lista de hardware y pinouts

  • Raspberry Pi : utilizaremos Raspberry Pi 3 Model B pero puede usar cualquier otro modelo.
  • Led y resistencia correspondiente
  • 2 cables de puente hembra a macho

Dado que nuestra aplicación permitirá controlar el estado de todos los pines GPIO disponibles, recomendamos conectar algunos LED a esos pines para mayor visibilidad. Puede usar culquier  instrucción básica u otra para cablear algunos LED.

Instalación de la biblioteca MQTT

El siguiente comando instalará la biblioteca MQTT Python:

sudo pip install paho-mqtt

La aplicación consiste en un único script python que está bien documentado. Tendrá que modificar la constante THINGSBOARD_HOST para que coincida con su dirección IP de instalación del servidor ThingsBoard o nombre de host. Utilice «demo.thingsboard.io» si está utilizando el servidor de demostración en vivo .

El valor de la constante ACCESS_TOKEN corresponde al dispositivo Raspberry Pi de muestra en datos de demostración preaprovisionados . Si está utilizando un servidor de demostración en vivo , obtenga el token de acceso para el «Dispositivo de demostración Raspberry Pi preaprovisionado».

 

resources/gpio.py 
import paho.mqtt.client as mqtt
import RPi.GPIO as GPIO
import json

THINGSBOARD_HOST = 'YOUR_THINGSBOARD_IP_OR_HOSTNAME'
ACCESS_TOKEN = 'RASPBERRY_PI_DEMO_TOKEN'

# We assume that all GPIOs are LOW
gpio_state = {7: False, 11: False, 12: False, 13: False, 15: False, 16: False, 18: False, 22: False, 29: False,
              31: False, 32: False, 33: False, 35: False, 36: False, 37: False, 38: False, 40: False}


# The callback for when the client receives a CONNACK response from the server.
def on_connect(client, userdata, rc, *extra_params):
    print('Connected with result code ' + str(rc))
    # Subscribing to receive RPC requests
    client.subscribe('v1/devices/me/rpc/request/+')
    # Sending current GPIO status
    client.publish('v1/devices/me/attributes', get_gpio_status(), 1)


# The callback for when a PUBLISH message is received from the server.
def on_message(client, userdata, msg):
    print 'Topic: ' + msg.topic + '\nMessage: ' + str(msg.payload)
    # Decode JSON request
    data = json.loads(msg.payload)
    # Check request method
    if data['method'] == 'getGpioStatus':
        # Reply with GPIO status
        client.publish(msg.topic.replace('request', 'response'), get_gpio_status(), 1)
    elif data['method'] == 'setGpioStatus':
        # Update GPIO status and reply
        set_gpio_status(data['params']['pin'], data['params']['enabled'])
        client.publish(msg.topic.replace('request', 'response'), get_gpio_status(), 1)
        client.publish('v1/devices/me/attributes', get_gpio_status(), 1)


def get_gpio_status():
    # Encode GPIOs state to json
    return json.dumps(gpio_state)


def set_gpio_status(pin, status):
    # Output GPIOs state
    GPIO.output(pin, GPIO.HIGH if status else GPIO.LOW)
    # Update GPIOs state
    gpio_state[pin] = status


# Using board GPIO layout
GPIO.setmode(GPIO.BOARD)
for pin in gpio_state:
    # Set output mode for all GPIO pins
    GPIO.setup(pin, GPIO.OUT)

client = mqtt.Client()
# Register connect callback
client.on_connect = on_connect
# Registed publish message callback
client.on_message = on_message
# Set access token
client.username_pw_set(ACCESS_TOKEN)
# Connect to ThingsBoard using default MQTT port and 60 seconds keepalive interval
client.connect(THINGSBOARD_HOST, 1883, 60)

try:
    client.loop_forever()
except KeyboardInterrupt:
    GPIO.cleanup()

Este simple comando lanzará la aplicación:   python gpio.py

Visualización de datos

Para simplificar esta guía, en  «Raspberry PI GPIO Demo Dashboard» vemos los datos de demostración que están disponibles en cada instalación Thingboard. Aún puede modificar este panel: sintonizar, agregar, eliminar widgets, etc. Puede acceder a este panel iniciando sesión como administrador de inquilinos.

Utilizar en caso de instalación local de ThingsBoard.

 

Una vez que haya iniciado sesión, abra la página Dashboards-> Raspberry PI GPIO Demo Dashboard . Debe observar el tablero de demostración con el panel de control y estado de GPIO para su dispositivo. Ahora puede cambiar el estado de los GPIO usando el panel de control. Como resultado, verá que el estado de los LED cambia en el dispositivo y en el panel de estado.

A continuación se muestra la captura de pantalla del «Tablero Demo de Raspberry PI GPIO».

imagen

 

 

El vídeo a continuación  resume  todo el proceso  citado llegando  hasta el resultado final :.