¿Cómo despertar ESP8266 con un cambio de luz?

2

Quiero enviar información al servidor cuando la luz cambia (se enciende o se apaga). En cuanto a ahora, tengo un fotoresistor conectado al pin ADC de ESP8266. Estoy midiendo el voltaje y envío información a un servidor cuando cambia mucho. ESP permanece siempre encendido.

Aquí está mi circuito actual:

Sin embargo, me gustaría hacerlo de una manera un poco más eficiente energéticamente.

El sensor se utilizará en un baño, por lo que la luz generalmente se apaga.

¿Tal vez podría hacer que el ESP8266 se active de alguna manera con el fotorresistor y luego enviar una solicitud al servidor y esperar a que la luz se apague de nuevo y luego enviar la segunda solicitud e ingresar al modo de suspensión profunda? O tal vez hay una mejor manera?

Estoy buscando ayuda para crear un circuito. ¿Qué debo usar? ¿Cómo debería ser el circuito?

    
pregunta Defozo

3 respuestas

1

La funcionalidad de sueño profundo del ESP8266 se administra al vincular el pin 16 con el pin RESET y, cuando llama a la función de sueño profundo, pasa la cantidad de microsegundos que desea dormir. Luego el microcontrolador pone el pin 16 en alto y se pone en reposo. Después de la cantidad de tiempo especificada, el pin 16 baja, lo que causa que el ESP8266 se reinicie. Consulte el pdf de "soluciones de bajo consumo" de Espressif para ver los detalles de la API, incluidas algunas notas de la aplicación.

Por lo tanto, su plan de conexión al pin 16 no va a funcionar exactamente. Necesita un circuito que detecte que el pin 16 está alto y luego genera un pulso bajo en RST cuando su condición se dispara. Sin saber más detalles sobre su circuito y la condición de activación exacta, es difícil proporcionar una respuesta detallada.

    
respondido por el billbo
1

Ingrese a deepsleep sin conectar los archivos GPIO16 y RESET a un tiempo de sueño infinito, ¡a menos que se reinicie el pulso con un circuito externo!

Eso es lo que tienes que hacer. Conecte su fotoresistor a un amplificador diferencial con monoflop en serie para garantizar pulsos limpios en el pin de reinicio o use un mcu de potencia ultra baja para hacer eso. Así que cada vez que la luz cambia, el amplificador diferencial detecta la pendiente alta y activa el Monoflop.

El Pin 16 de lectura no es un instrumento, puedes usar un tiempo de espera en monoflop, pero agregar un AND-Gate tampoco es realmente difícil de hacer.

    
respondido por el Jan Rosum
0

Usted podría simplemente poner el esp en modo de suspensión de luz, y atar un pin de gpio como una interrupción para despertarlo. Haga que su fotorresistor active el esp cada vez que se encienda la luz, luego envíe al servidor. Eso debería ahorrar mucho poder

Consulte

Lea otras preguntas en las etiquetas