Hi,
I build a low power MySensor network with PIR, Humidity and Temperature monitors based on 2AA battery, an Arduino Pro Mini connected via NRF24 to Raspberry with EasyIot installed.
Everything works good. After 2 months batteries still show 99% capacity.
Recently I added a InfraRed trasmitter to command my TV and led strips.
The node loop around
gw.process();
to catch the change submitted by the server.
The node works fine but of course if never sleep so the consumption is really high.
Adding a deep sleep will save power but will create delay from the moment the server send the command and the node apply for it. I suspsect that on top if the delay is long the command could be even be loat (not sure, I still need to test).
Do you have any idea how to manage it? Can NRF24 generate a sort of interrupt to wake arduino?
hi hjfabius,
NRF24 have an IRQ output on pin 8.
it should work just for this purpose, but i never used before and i'm not sure if MySensor can manage it.
take a look here
I suspsect that on top if the delay is long the command could be even be loat (not sure, I still need to test).
yes, that's possible. nrf24 have a FIFO register where payload is stored. it's deleted each time a new payload is received.
As far as I know MySensors does not support interrupts on NRF24L01.
If I understand NRF24L01 spec. right you can put processor in sleep and then wake processor with NRF24L01 interrupt, but NRF24l01 is not in sleep mode.
EasyIoT wrote: As far as I know MySensors does not support interrupts on NRF24L01.
maskIRQ method i linked above is included in mysensors, but as Mr.Easyiot said, the nrf24 must be awake to receive packets.
i was confused by stand-by modes that can be used only in trasmit mode.
from datasheet, power consumption in receive mode is about 12 mA, so battery power isn't a good idea.
i'm sorry for mistake.