Hi,
When trying to send data using at+send=lora , I get the message : String over max length <256 Bytes>
The string is larger than 256 bytes but every 2 bytes (hex value) ferom this AT command convert later to one byte and in Lora DR3 you might send 242 bytes which is 484 bytes in the AT+SEND command.
Why do you have the limitation of 256 bytes(128 bytes payload) ?
Thanks
When the length of the data you send exceeds the length specified in the protocol, you will be prompted that you have exceeded the range of the sent length by returning String over max length <256 Bytes >. when you send the data, the mac command will occupy a part of the data length of the uplink data, so the length in the protocol cannot be sent through at version command and 2 characters represent a number, 256bytes=512 characters.
Iâm trying to send 220 bytes and from the US band spec (pg 15-16 here - https://lora-alliance.org/sites/default/files/2018-05/lorawan_regional_parameters_v1.0.2_final_1944_1.pdf) it seems that for data rate 3 the application payload size should be greater.
The max length of the FOpt could be 15 bytes so the size for the app payload should be 242-15=227
What Iâm missing here?
What is the allowed size for app payload for US band in DR3?
Thanks!
When dr=3, does sending 220 bytes indicate that it is out of range? Is it the first time it will be successfully sent, and will it be prompted to exceed it the second time?
If I want to send 220 bytes âin the airâ I have to sent 440 characters in the Serial port tool.
This exceed the max range (which is not limitation of the protocol) and it also happened in the first time.
Any way you could you try it?
Thanks!
I probably didnât reply clearly before. Due to the limitation of RAM, transmission through AT command can only reach 128 characters, but transmission through rui interface can reach the length of the protocol.
Do you have any work around for that?
I have to send ~1500 bytes and this limitation will double the number of packages I have to send.
BTW I intend to use Python to send the âsendâ at command.
Thanks
Due to the limitation of RAM, we will increase its length later.
Hi @Nicholas,
I limit the package size to 118 bytes and it fix the failure that was on long package.
The problem now is that the âsendâ AT command response return corrupted and I couldnât verify that the package send succeeded.
In the RAK serial port tool the âsendâ looks ok but I need to run it from script so Iâm using the âserialâ library of python 2.7 to send the AT commands.
What is your recommended way to send AT commands from script?
Thanks
The send command:
The âsendâ response:
Did you do a better job of driving gps? I saw the printing of GPS in the reply, but I didnât see the reply sent to the data. Can I cut more content and show it? Thank you
Thanks @Nicholas.
Following screenshot of 4 retries. The logic -
- Wake up - send âat+set_config=device:sleep:0â
- Read the âwake upâ response
- Send the package - 'at+send=lora:2:
- Wait for 6 seconds
- Read the send response
- The response for the first âsendâ command not full
- The response of the second try include return status 80 (busy) and 101 (size error)
- The response of the third try include error code 87 (length error)
and another question - how could I check that there is connection with the Lora gateway? I need indication that the GW is on because I intend to send it to sleep state and to sync the waking up time
Thanks
at+set_config=lora:send_interval:0:5 You first turn off the automatic sending data through this AT command, because RAK5205 has its own sensor, if it is turned on, it will automatically send the sensor data, and then you send it again.
The interval is 0 but some time no âsuccessâ appears and no âerrorâ (see below).
What should be the indication to success (or failure)?
What is the indication for live connection with the gateway?
Send the first message you must send via the AT command and after you get a successful reply from your graph, send the second data.I think you can judge before the second number when it comes upThe following data is sent after âŚsend successâŚ
Iâm not sure I understand correctly when I can be sure that the package sent. The only indication for success is the âsend successâ response? When no âerrorâ received and no âsend successâ received (see example in the last screanshot ââŚ02,ROMâ) what it means?
Thanks
He will have a retransmission mechanism. When the previous data was not successfully transmitted, he will continue to try to retransmit it, and an error message will appear after several consecutive times.