I faced similar issue and @TMRh20Projects replied in arduino forum. My issue was beacuse of cheap NRF modules chinese clones. After I replaced with good genuine ones, everything worked like a charm. Please check the NRF modules you are using. I wasted three days to figure out if there was some code issue, when at the end it was the NRF which created all the mess
@Shivanand-Chanderbally I recently finished a node using the acs712 and found it to be very sensitive to nearby magnetic fields. It is best to have it as far away from these as you can.
FYI: RadioHead library 1.34 has some specific initialization code for RFM73 in the nRF24 driver (e.g. ACTIVATE command).
See https://github.com/Yveaux/RadioHead/commit/f895ba933950681234d714fd7c3d3c18658b8ed5
@dzungpham0703
I buy them on Aliexpress:
https://www.aliexpress.com/wholesale?catId=0&initiative_id=SB_20180706102504&SearchText=HTTM
If you apply hot air it is easy to take off the white "double sided tape" and the plastic.
@xefil said:
Thanks @hek and @kalle
Sorry, but I'm not good to understand the debug of the scanners.
In the RF24/examples/scanner/ the range is between 0000->->->7777
Those are the high order nibble of the channel byte. The low order nibble is just below it.
The 125 channel numbers are printed "sideways" in hex.
I would expect a list of channels between 1 and 13.
You're thinking of wi-fi. This isn't wi-fi.
In the second scanner (wiFi scanner found on arduino forum) It's more accurate. It seems noisy between channel 3 and 9.
So, the questions are:
What does default channel 76 mean? 2476Mhz?
yes
Would mean above channel 13, on channel 14. In this case these channels are free, based on the results. I've seen I can use:
#define RF24_CHANNEL 76 //RF channel for the sensor net, 0-127
How to interpret the scanners result? Most of all the "RF24/examples/scanner/" which has an output I cannot identify in a channel.
The bigger the number below the channel, the more active it is.
I would like to understand the result and so choose the right channel, not only trying without knowing what I'm doing
Thanks a lot for the support!
Simon
In the BACnet protocol, the messages are not sent directly, but pushed into an internal state machine that remembers (some) of the previously messages sent (i.e. memorize(_msg); send(_msg); ).
The state machine also peeks incoming messages and can trigger a message re-send in case of a missed ACK.
the difference with MySensors is that all the messages are numbered, otherwise you would not know which message of the last N sent previously was ACKed,
but well.. ACKing the last similar message might be good enough.
Anyway @SiLeX : if you want to try, this is not that complicated, (if you don't take into account the STREAMs) it will just costs about (1 status byte + 1 timestamp + 1 frame size) x N ; for N frames memorized.