Go Down

Topic: Proyecto seguridad vivienda (Read 569 times) previous topic - next topic

xavidoo

Buenas tardes a todos, me estoy embarcando en la realización de un nuevo proyecto para el control de las puertas y ventanas de mi vivienda.

Ya os adelanto que tengo poco conocimiento y experiencia en microchip y electrónica, pero con esto, además de que me sea útil para el día a día, quiero que me sirva de aprendizaje. He hecho algunos proyectos como control de motores, leds etc ya que tengo buen nivel de programación.

Tras darle vueltas, me he decantado por realizarlo con el procesador tiny85 y esp-01 para el control de puertas y la Raspberry para el control y gestión de las peticiones.

La idea es la siguiente.

Para el control de la apertura de las puertas voy a utilizar el esp-01 por tener wifi, ya que me manejo muy bien con eso y me siento "cómodo". Tras mucho leer, veo que el problema que tengo es el que me esperaba, el consumo. Aquí es donde entra el tiny85, que a su vez es mi mayor preocupación, ya que tras poner en deepsleep el esp-01 quiero utilizar el tiny85 para hacer el wake up, ya que esté tambien tiene deepsleep y puede despertarse por interrupción externa, cosa que el esp-01 no puede. ¿Me podéis confirmar si voy por buen camino? ¿El tiny85 sería capaz de despertarse por un cambio en ambos estados del pin, es decir, high y low? Por lo que he leído de su documentación si, y con eso podría controlar tanto la apertura y cierre de la puerta.

La Raspberry entra en juego para la centralización de todo, con la idea de que funcione con win10 y C#, escuchando y registrando el envío de los esp-01 y facilitando la información vía web de cómo esta cada uno de los dispositivos.

Sobre el tema del wake up del esp-01 he visto varias opciones por internet, pero todas muy complicadas para mi por el tema del conocimiento en electrónica, cómo por ejemplo los circuitos de Flip flop que soy incapaz de entender.

Además de las dudas que os he planteado, quiero que me digáis que os parece el planteamiento general y por su puesto que opinéis sin ningún compromiso. La idea es iniciar la discusión y tomar una dirección antes de iniciar el proyecto y meter la pata.

Mil millones de gracias por adelantado.

_jose_

No es demasiado lio para una simple alarma?Cada dispositivo diferente que implementes requerira su propia programacion y cableado a otro dispositivo ,con la consecuente complicacion en programacion y su mantenimiento.Las mejoras y/o cambios en el codigo afectaran tambien a varios dispositivos.

xavidoo

Hola José,

Si, parece mucho lío, pero la programación de ambos sería independiente, el tiny85 despierta al esp-01 por un pulso y el segundo es el que realiza la identificación de si está abierto o cerrado el circuito y realiza el envío de la información, ambos compartirían el interruptor.

Cómo os he comentado, esto lo he pensado partiendo de lo que conozco y buscando información, pero mi conocimiento es limitado.

Partiendo de la base del proyecto, que es saber en todo momento el estado de las puertas (abierto, cerrado) y que quiero consultar esta información por internet. ¿Cómo lo plantearías?

surbyte

Y para que un ATtiny despertando un ESP01?

Que necesidad de usar dos micros para la tarea que puede cumplir solo el ESP01?
A ver si necesitas pines para el control de puertas usa un nodemcu pero si con los 2/4 pines que dispone el ESP01 no te aclanza considera un ESP07 por ejemplo.

xavidoo

Buenas tardes surbyte, la razón de usar el tiny85 es que por lo que he leído, el esp-01, por un lado, hay que modificarlo para que esté pueda entrar en modo deepsleep, pero una vez entra en ese modo, no se puede despertar con una interrupción externa por si solo en un pin, lo que hay que hacer es despertarlo por un impulso al reset (ojalá me digas que estoy equivocado) y ahí es donde entra el otro. Por pines voy sobrado con 1, y con el mcu, veo que es como comprar un Ferrari para ir a por el pan.

Si me dices que el esp-01 es capaz de despertar por interrupción externa me haces feliz, pero no he encontrado nada al respecto.

tauro0221

Hi,
El problema con esp-1 es que vaz a tenerle que proveer energia con bateria o tirando cable para proveer esta. Una que cosa que puedes probar es en vez de tener la energia continue es de usar una bateria  desconectado por el switche y al este cerrar energizara el esp-01. Al aplicarle la energia al esp-01 le enviara la alarma al master. Solamente lo necesitas tener energizado por un corto teimpo. Otra cosa es de anadirle un condesador  y cuando la puerta se abra este se carga y te va a dar mas tiempo para que el programa en el master pueda leer que la puerta se abrio. Yo no he probado esta sugerencia pero he notado que las compania de alarma usan este metodo. El  modulo de alarma esta apagado y cuando el switche se activa el modulo manda la alarma.

Jopapa

#6
Dec 09, 2018, 10:38 pm Last Edit: Dec 09, 2018, 11:44 pm by surbyte
Te doy mi solución. Consumo cero en reposo. Lo programé en Lua, pero puede hacerse ahora con IDE Arduino. Avisaba por SMS, pero ahora lo hago por Telegram

http://www.jopapa.me/alarmasms.html
Jopapa
www.jopapa.me

_jose_

yo creo que se podria hacer con un esp32 nodemecu.si tienes acceso a wifi puedes enviar mail/telegram/twitter sin necesidad de tener una web.en cuanto al consumo,de verdad es tan decisivo el consumo que pueda tener un esp32 u otra placa ,que seguramente sea menor que el propio router??.

surbyte

#8
Dec 10, 2018, 12:10 am Last Edit: Dec 10, 2018, 12:10 am by surbyte
Esta es una posible solucion tmb



Sin embargo reconozco que confundí el ESP8266 con el ESP32 que si puede despertarse con una Interrupción externa

tauro0221

#9
Dec 10, 2018, 06:51 am Last Edit: Dec 10, 2018, 05:55 pm by tauro0221
Hi,
Aqui adjunto de una idea que se me ocurio para que la tenga en menta/consideracion en tu projecto.La idea es usar un esp8266-1  relay modulo para activar la alarma usando el wifi. La iddea es de usar el switch de alarma para energizar el modulo de wifi. Al energizar el wifi imediatamente este va a energizar el relay por cierto tiempo para que el wifi tenga suficiente tiempo para que el master reconozca la alarma. Una vez que el delay termine el programa apagara el relay desconectando la bateria. El lado del contacto es el que normalmente abierto. En otras palabras la bateria solamente estara activada cuando la alarma es activada. Ya lo probe usando mi modulo y me trabajo perfectamente. Adjunto el esquematico de como alarbrarlo y el sketch que use para probarlo. Si te decides a usarlo tienes que estar seguro que el modulo del relay es de 3 voltios ya que es el voltaje de las bateria.

Code: [Select]
//********************* variable assigments *************************
#include <ESP8266WiFi.h>
byte rly_enable = 0;
long rly_delay ;
//*******************************************************************
void setup() {
  // put your setup code here, to run once:
  Serial.begin(115200);
  pinMode( rly_enable, OUTPUT);
  digitalWrite(rly_enable, LOW); //Prendeel relay imediatamente
  rly_delay = millis();
}
//******************************************************************
void loop() {
  // put your main code here, to run repeatedly:
 //aqui puedes ir para enviar el mesaje usando el wifi.
 //

  //este delay es para ver si trabaja el systema cuando se cierra el contacto.
  //pues el led del modulo se predera por el tiempo del delay y por lo tanto
  //indicara si la alarma trabaja.
 
  if (millis() > rly_delay  + 5000) {
    digitalWrite(rly_enable, HIGH);
    Serial.println(" de-energiza el relay ");
    rly_delay = millis();
  }

}






//********************************************************************







xavidoo

#10
Dec 10, 2018, 08:40 am Last Edit: Dec 10, 2018, 08:53 am by xavidoo
Buenas de nuevo! lo primero agradeceros enormemente el tiempo dedicado a responderme, ¡es de agradecer!

Intento responderos a todos:


Quote
El problema con esp-1 es que vaz a tenerle que proveer energia con bateria o tirando cable para proveer esta. Una que cosa que puedes probar es en vez de tener la energia continue es de usar una bateria  desconectado por el switche y al este cerrar energizara el esp-01.
La idea es tenerlo conectado con una batería como comentas, tauro0221, ya que no siempre tengo una conexión a la red eléctrica cerca, por lo que tienen que ser con batería en el 80% de estos.

Quote
yo creo que se podria hacer con un esp32 nodemecu.si tienes acceso a wifi puedes enviar mail/telegram/twitter sin necesidad de tener una web.en cuanto al consumo,de verdad es tan decisivo el consumo que pueda tener un esp32 u otra placa ,que seguramente sea menor que el propio router??.
Sí, me he planteado hacerlo con el esp32 que por lo que he leído tiene las interrupciones externas, pero lo he descartado por varias razones, las principales, por precio y por tamaño (no encontre una placa similar a ESP01, o similares), hay ventajas, como por ejemplo la actualización por USB, pero cuanto mas disimulado quede mejor.

Quote
Esta es una posible solucion tmb
Esta solución la he visto y revisado, pero por lo que he interpretado en el esquema, este es unidamente para activarlo cuando se produce un estado, es decir por ejemplo la apertura o cierre y yo quiero que se produzca la activación en ambos casos, ¿Estoy en lo cierto o generaría el pulso en ambos cambios de estado en el interruptor?

Quote
Jopapa
Esta opción la descarte por el tema de la detección de ambos cambios de estado, pero te digo que he entrado en tu pagina y ya se me han ocurrido varios proyectos que copiarte, ¡¡Maldita sea!! jejejeje. Ademas, la idea de usar el componente ya del zumbador, ahora no lo recuerdo, pero lo vi estudiando esto y creo que lo saque de tu web :D y ya que estoy, ¡¡¡buenísima idea!!! felicidades.


Con carácter general, creo que nos hemos centrado en la idea de la alarma, y eso por el momento es "secundario" y estaría dentro del alcance del proyecto por si solo, ya que puedo controlarlo directamente desde la Pi si salgo de casa, por ejemplo.

Una de las razones por las que quiero saber tanto si están abiertas como cerradas es por el siguiente motivo, la casa tiene varias plantas, por lo que si voy a salir de casa o a dormir, puedo saber si hay ventanas o puertas abiertas sin necesidad de darme paseos, que tienen su parte buena, ya que no tengo que ir al gimnasio, pero cuando tienes prisa...

Este es el motivo principal de querer usar el ESP-01 y despertarlo con el Tiny85 (ademas de por el tamaño). He leído sobre el Tiny85 y RF, que es otra opción valida, pero creo que para mi es demasiado y me voy a complicar la vida mucho, a no ser que quede justificado por el consumo. Otro motivo por el que lo descarte, es que he leído que las RF da problemas por el ruido que hay.

Quote
¿El tiny85 sería capaz de despertarse por un cambio en ambos estados del pin, es decir, high y low?
¿Sabéis si el Tiny cumple con lo deseado y hay algún componente que realice la función?

La idea, es la siguiente:
  • Tiny85 (o similar) despierta por interrupción externa (de high a low o de low a high) y manda el pulso al ESP01 para realizar el wake up.
  • El ESP01 realiza la identificación del estado del interruptor.
  • El ESP01 manda el comando a la Pi con el identificador del sensor y el estado



xavidoo

Buenas de nuevo!!

Os actualizo la situación para ver si le sirve a alguien :)

Al final de todo he optado por usar el ATtiny85 y el nRF24, la verdad que he tenido bastantes problemas para comunicar este con la pi3 y C# pero al final me ha funcionado correctamente.

Descarte el tema del esp01 por el tiempo de conexión a la wifi. Al final, para que el consume fuese bajo lo que hice fue encender o apagar el esp desde el ATtiny85, ademas, me di cuenta que tenerlo a la wifi también era un problema, ya que el alcance en mi caso estaba limitado en ciertas zonas de la casa.

En este punto, lo mas importante es que conseguí despertar al ATtiny con un cambio en el pin, tanto de low-high como high-low y todo gracias a este vídeo que os dejo, la verdad es que es una maravilla y esta bien explicado.

https://www.youtube.com/watch?v=0aAwKT0YWJU

Lo único es que cambie la resistencia, ya que cuando el circuito estaba abierto, el consumo estaba en 0,68mA con una resistencia que indican en el video, y lo que he hecho gracias a la ayuda de un compi es cambiar la resistencia por una de 22M, con esto el circuito funciona perfectamente y mi multimetro me da 0,00mA, no lee mas, pero creo que ya tendría que ser un valor despreciable (no he hecho el calculo), pero con 100k bajo a 0,03mA.

Ahora estoy con problemas de consumo de nuevo, pero por el nRF... pero esto es otra batalla, voy a abrir un hilo independiente con esto y después actualizo la situación.

Si alguien tiene dudas, estoy a vuestra disposición!

Go Up