Despues del paréntesis de los supercondensadores he seguido intentando resolver el problema que tenía con el mote. Como en otras ocasiones cambiar de problema ayuda a resolver el primero.
Recordando como teníamos el tema: Sensamos temperatura sin ningún problema, sensamos iluminación con un valor en lux sin ningún problema, dormimos y despertamos el mote de forma periódica, el consumo es razonable…. Al mote le hemos añadido un relé reed. Los relés reed consisten en unos coptactos en el interior de una capsula que se activan al acercar un imán. La idea es que con el mismo mote podamos hacer un sersor de puerta abierta (por ejemplo)
Lo lógico cuando tenemos un sensor de puertas no es averiguar su estado cada minuto, si leemos los datos de los sensores con una periodicidad de un minuto en ese periodo alguien podría abrir la puerta, acceder al lugar que pretendemos monitorizar y despues cerrarla, la primera lectura que obtendríamos sería de puerta cerrada y la siguiente también, no habríamos detectado la apertura.
Queda claro pues que, aunque la radio esté durmiendo, la apertura de la radio tiene que despertarlo y enviar la información, independientemente de que le toque en ese momento o no.
Ahi es donde vienen mis problemas, provocados por un prejuicio. Leyendo en la documentación de los módulos Xbee de Digi veo que hay un parámetro que permite definir que entradas van a provocar que se envíe el paquete con las lecturas cada vez que haya un cambio de estado. Mi prejuicio viene porque supuse que el micro se despertaría ante el cambio de estado y he tardado en descubrir que efectivamente el paquete se envia cuando hay un cambio de estado, pero solo si el micro está despierto. No nos podemos permitir dejar el micro despierto todo el tiempo por una cuestión de consumo energético.
La solución está en el pin 9 de la radio, que permite despertarla cuando se pone a nivel bajo. Si queremos que se active ante un cambio de estado deberíamos de poner un circuito detector de flancos, que debería de estar permanentemente alimentado (con el problema de autonomía de la batería), de momento desisto de detectar cualquier cambio de estado, he puesto la salida del relé a nivel alto habilitando las resistencias internas de la radio y lo pondremos a nivel bajo cuando detectemos el imán.
De esta forma sopo podemos despertar a la radio en caso de apertura, no de cierre, pero creo que es suficiente para lo que buscamos.
El mote ya está casi listo, como en los casos anteriores hay que hacer un rediseño completo de la placa, pero ya lo tenemos.