Hi, guys!
I have a very interesting situation with RAK811. I created a very simple program: RAK811 should send data to the base station and should fall asleep for 1 minute, then it should wake up, send the data to the base station and so on …
In fact, RAK811 does this …
First, RAK811 sends data every minute!
I make the module fall asleep like this:
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
SX1276SetSleep();
SX1276Write(REG_OPMODE,SX1276Read(REG_OPMODE)& 0xF8);
//__HAL_RCC_RTC_DISABLE();
//__HAL_RCC_LSE_CONFIG(RCC_LSE_OFF);
BoardDeInitMcu();
SysEnterUltraPowerStopMode();
BoardInitMcu();
//__HAL_RCC_LSE_CONFIG(RCC_LSE_ON);
//__HAL_RCC_RTC_ENABLE();
SX127X_INIT();
GPIOIRQ_Enable();
rw_LoadUsrConfig();
UartFlush(&Uart1);
///////////////////////////////////////////////////////////////////////////////////////////////////
before going to bed I set up the RTС for 1 minute:
RtcSetTimeout(60000);
RAK811 send data to the base station every minute for exactly 1 hour, then started sending every 2 minutes…there is clearly something wrong with the RTC
By the way, guys, I see a lot of people complaining because of duty cycle limitations. Those are there for a reason. You might get away with it for testing, but when you go into production, please consider that the duty cycle is there to manage the channel usage so we have a fair policy.
Precisely, in order to scale at least for about a 100 devices you need to ha e some kind of governing mechanic to deal with collisions. As LoRa is ALOHA based there is no detection or avoidance of collisions, so only way to make it work up to a point is not to transmit too often for too long. Hopefully this way you do not clock the channel time wise. This is a poor bandaid though in my opinion and there will eventually have to be some kind of scheduling to enable collision detection and avoidance. Kind of happened with wifi over time.
That is what I think, I tend to be wrong most of the time
The 868MHz EU band is free to use but subjected to duty cycle.
The firmware enforces the duty cycle but if you disable the duty cycle limitation, you might violate it.
This is against the regulations, please avoid to do that.
If we all do that, we will not be able to send anything on this frequency band.
If you want to send data every minutes, you should lower the SF and send at SF7
If you need to get higher distance and needs to send at SF12 then try to send data every 5 or 10 minutes