It was ok to receive payload from gataway but does not reveive anymore after new bootloader and using new rui.h for generate bin file in online compiler. I thing there is a bug in the compiler.
Also I keep getting error message from function when received uplink msg, what is that mean of error? Attached function code:
“at+recv=A,B,C,D”:A -> port,B -> RSSI,C -> SNR,D -> datasize.
This message “at+recv=0,-40,30,0” instruction no downlink data(datasize=0).
So you need verify that the server whether send the data.
I have followed example from app_5202.c in the RAK811 version app_RAK811.c to send data with auto sleep.
The issue is that after a successful send, the RAK811 is not entering sleep mode.
I am sending every 60 seconds, is this too short for the unit to sleep?
If I issue the AT command to make unit sleep, I get the response
“radio status is busy,can’t sleep.”
Any ideas how to make it sleep between data transmissions? What could I be missing?
I have already added in the logic the same way that app_5205.c is doing it.
When the message is sent, I receive the Lora call success call back and process the case, calling this code
case RUI_AUTO_ENABLE_SLEEP:
RUI_LOG_PRINTF("[LoRa]: Setting next event with Sleep\r\n");
rui_lora_set_send_interval(RUI_AUTO_ENABLE_SLEEP,app_lora_status.lorasend_interval); //start autosend_timer after send success
rui_delay_ms(5);
break;
So I see,
[LoRa]: send out
[LoRa]: Confirm data send OK
[LoRa]: Setting next event with Sleep
Which means that the command
rui_lora_set_send_interval(RUI_AUTO_ENABLE_SLEEP,app_lora_status.lorasend_interval);
has been called, but the rui_lora_set_send_interval does not make unit sleep.
I don’t see what else is different with app_5205.c
After the RAK has been running for about 2 hours, I start getting a Send Error of 91, which according to the documentation is RUI_LORA_STATUS_NO_CHANNEL_FOUND
Is this perhaps something to do with the unit not sleeping when it is sending ok because the radio is still busy? Maybe the radio is not finishing correctly after the send and it runs out of channels or something like that?
Hi,@John_NZ
AS923 don’t support lower DR2,so you must insure that no less than DR2.Server maybe modify it, you could query current DR by AT command “at+get_config=lora:status”.Query channel by AT command “at+get_config=lora:channel”.more AT commands could be query by AT command “at+help”.
Thank you. ADR was on and DR was down to 1. I changed DR to 2 and turned off ADR and it is now communicating to the server.
Below is the complete log of a cycle of communication, is what you wanted me to send you?
Reading 2 Temperature(s):
Temperature 1: 23
Temperature 2: 21
Done Reading Temperature(s)
[LoRa]: send out
[LoRa]: Confirm data send OK
[LoRa]: Setting next event with Sleep
at+recv=0,-61,31,0:
As per my above post, I set DR to 2 and turned off the ADR, however the DR still went back to 1
Is this a problem with the RAK, or is the DR ultimately controlled by the gateway/server?
@John_NZ,
app_RAK811 actually don’t support auto_send mode,because there is no data to send with app_RAK811.
Unless you add the data you want to send to the code and recompile it. Like as app_5205.c or app_7204.c.
Use “at+get_config=lora:status” command to query current lora status to ensure ADR is disable.If AdrEnable is false, the DR will not be modified by the server.