josep.mencion
Posts: 4
Joined: Tue Jul 30, 2019 11:00 am

Sistema domótico Raspberry Pi 3 B+

Mon Aug 26, 2019 5:57 pm

Buenas tardes,
En primer lugar, muchas gracias por leerme, escribo aquí porque necesito ayuda con un proyecto complejo que quiero desarrollar, agradeceré cualquier ayuda,

Estoy realizando un proyecto de investigación en Bachillerato para tecnología industrial. Mi idea es crear un sistema domótico con Raspberry Pi 3 B+ (aunque sea con dos).

Quiero crear una plataforma web, y si es posible, también una aplicación para Android.

He comprado sensores de movimiento, sensores de luz (LDR con la placa), sensores de temperatura y humedad (DHT-11), sensores de ultrasonidos, pantallas LCD, sensores de sonido, LEDs, un relay hat, un sense hat. Dispongo también de motores, pulsadores, etc. Tengo también, y de lo más importante, un módulo relé de 8 canales, y uno de 4.

Lo estoy instalando todo en un plafón. He comprado un sistema de alarma cableado con activación de sirena y de relé al detectar una intrusión.

Entonces, me falta la parte de definir el proyecto y cómo llevar a cabo mi idea.

Es muy compleja, pero no sé si hay algún proyecto ya en marcha para ampliar o definido.

Mi idea es:
- Poder controlar relés a través del móvil (algunos encender/apagar, otros pulsador para, por ejemplo, una puerta de garaje).
- Activar relés a través de la información de la temperatura (como si controlara un sistema de calefacción, sería un sistema de termostato). Pero que a la vez, manualmente y con el móvil lo puediera desactivar.
- Enviar notificaciones al móvil/correos e-mail al cerrarse el relé de la alarma por detectar una intrusión.
- Poder activar la alarma a través del móvil (la alarma tiene un sistema que al cerrar un interruptor queda activada, y al abrirlo queda desactivada, la idea sería que el móvil recibiera a través de una salida de la alarma [podría ser otro relé a conectar con un switch a la Raspberry] si está activada o no, y en caso de estar desactivada, poder activarla, y en caso de estar activada, poder desactivarla.
- Poder ver en tiempo real la temperatura y humedad que marcan los sensores.
- Instalar una cámara CCTV, IP o bien la nativa de la Raspberry y poderla ver en tiempo real/fotos a través de la aplicación o la web.
- Recibir una notificación a la aplicación, o bien un correo electrónico si el sistema deja de ser alimentado (dispongo de un Powerbank para la Raspberry). Yo había pensado de alimentar la R.Pi con el Powerbank y alimentar un relé con un transformador conectado directamente a los 220V conectado a la R.Pi como un switch y que avisara al activarse ese relé.

En fin, y más posibles ampliaciones,

¿Alguien que tenga algo en mente?
Mi problema es que mis conocimientos en R.Pi y Python son muy básicos, pero soy de rápido aprendizaje y mis ganas son infinitas, mi ilusión básica es ver funcionar el sistema.

¿Creéis que con una R.Pi ya haré, o tendré que utilitzar las dos que tengo 3 B+?
Tampoco sabría interconectarlas.

Muchas gracias por todo,
Cordiales saludos,
José

User avatar
lmarmisa
Posts: 1230
Joined: Thu Feb 14, 2013 2:22 am
Location: Jávea, Spain

Re: Sistema domótico Raspberry Pi 3 B+

Thu Aug 29, 2019 10:50 am

Creo que la información que solicitas excede de la ayuda puntual que contienen las respuestas de los posts del foro.

Estás intentando crear una plataforma de IoT/domótica. Es un tema muy bonito que puede ampliar tus conocimientos en muchos campos: programación, redes tcp/ip, protocolos, cotrol de sistemas, tiempo real, sensores, seguridad, etc.

Aunque es difícil contestarte en unas pocas líneas, hay un asunto de primer nivel (arquitectura) que deberías volver a considerar: parece que piensas en un sistema "centralizado" con una o dos RPis controlando todo. Entiendo que, si hablas de usar tal vez dos RPis, será por temas de prestaciones o porque necesitas más puertos GPIO.

Creo que esa aproximación no es la adecuada. Los sistemas IoT deben ser sistemas distribuidos en los que puedan colocarse múltiples sensores/actuadores en los lugares que se precisen y en donde haya uno o más centros de control que sean los cerebros de la plataforma. Tanto los sensores como el centro de control estarán interconectados mediante redes de datos: IP (wifi/ethernet), BT, redes radio 433MHz, IR, etc.

Creo que una RPi es una buena elección para centro de control de la red, pero no estoy seguro de que sea una elección adecuada para controlar sensores, principalmente si presentan requisitos exigentes de tiempo real (p. e. interrupciones). Raspbian (gnu/linux) es, sin duda, el mejor sistema operativo, pero no es adecuado para tiempo real exigente.

¿Qué solución te propongo para sensores?. Particularmente yo uso el ESP8266 (https://www.luisllamas.es/wemos-d1-mini ... n-esp8266/) que cuesta unos 2€ pero hay muchas más posibilidades como Arduino, ESP32 y otros muchos.

Así que tenemos sensores/actuadores en red baratos y de bajo consumo y un centro de control muy potente que es el cerebro que da la inteligencia al sistema. ¿Cómo se comunican?. Un método muy versátil y sencillo es usar el protocolo MQTT. Es del tipo publish & subscribe basado en topics y dispone de un servidor (denominado broker) que reparte los mensajes entre los clientes que estén conectados en cada momento. Los clientes publican mensajes en topics y a su vez pueden suscribirse a los topics que deseen. La comunicación se hace entre clientes, siendo el broker un intermediario entre todos ellos. El broker recibirá los mensajes MQTT enviados por los clientes y entregará una copia de cada mensaje a los clientes que se hayan suscrito al topic del mensaje enviado. Es un protocolo sencillo, intuitivo y potente, fácilmente integrable en los sensores y en el centro de control. Puedes integrar clientes MQTT en tus programas python en el centro de control con el módulo paho-mqtt (https://pypi.org/project/paho-mqtt/).

El servidor/broker de MQTT se instala fácilmente en la RPi mediante el paquete mosquitto.

Espero que estos comentarios te sirvan de ayuda.

Un saludo,

Luis

Return to “Español”