RAK5010 basic AT commands problems

yes the authentication is set to 1 because as you can see if it is set to 0 an error is returned.

cellular network information:
AT+COPS?

+COPS: 1,0,“Telekom HU Hologram”,8

OKAT+QNWINFO

+QNWINFO: “CAT-M1”,“21630”,“LTE BAND 20”,6350

Hi,

did you manage to review this issue?
We may not get ahead with this problem, it works for you, but unfortunately it doesn’t work for me. If you could send me the (at + send = hologram: user: XXX) command settings in the RUI v3.0.0.15 firmware, I can test them with manually entered commands.
Alternatively, you could send a manual command sequence to send the message to the hologram server.
e.g.:
at + send = cellular: XXX and at + set_config = cellular: (XXX)
and settings for the hologram server.

Thanks

Hi @JozsiKa ,

Here is the hologram:user routine and the full code is in this repo.

     if(strstr(cmd,"at+send=hologram:user")!= NULL)
     {
         ptr = NULL;
         memset(gsm_cmd,0,100);
         memset(gsm_rsp,0,256);
         memset(send_data,0,256);   
         memset(hologram_cmd,0,256);      
         index = 0;
         //get ip
         ptr = strstr(cmd,"user");
         for(index;index<5;index++)
         {
            ptr++;
         }
         index = 0;
         for(ptr;*ptr !='\r';ptr++)
         {
            send_data[index++] = *ptr;
         }
         hologram_cmd_packet(g_rui_cfg_t.g_cellular_cfg_t.hologram_card_num,send_data);
         //open tcp client with remote server
         rui_cellular_send("AT+QIOPEN=1,0,\"TCP\",\"cloudsocket.hologram.io\",9999,0,1");
         rui_cellular_response(gsm_rsp, 256, 500 * 2);
         memset(gsm_rsp,0,256);
         rui_cellular_response(gsm_rsp, 256, 500 * 10);       
         //send data
         memset(gsm_cmd,0,100);
         sprintf(gsm_cmd,"AT+QISEND=0,%d",strlen(hologram_cmd));
         rui_cellular_send(gsm_cmd);
         rui_delay_ms(10);
         rui_cellular_send(hologram_cmd);
         memset(gsm_rsp,0,256);
         rui_cellular_response(gsm_rsp, 256, 500 * 30);
         memset(gsm_rsp,0,256);
         rui_cellular_response(gsm_rsp, 256, 500 * 30);
         //close socket
         rui_cellular_send("AT+QICLOSE=0,30000");
         memset(gsm_rsp,0,256);
         rui_cellular_response(gsm_rsp, 256, 500 * 60);
         memset(at_rsp,0,1536);
         sprintf(at_rsp,"%s",cmd);
         rui_at_response(true, at_rsp, RAK_OK);
        return;
     }

Hello,

unfortunately I didn’t find anything in the code that could cause me a problem. Maybe I’m in the wrong place.
I would try to read the serial communications on the debug interface port. This requires TP1 TP2.
Could you send me the PCB drawing showing the part markings and dots?
If I still can’t get ahead here, I’ll try to use the BG96’s USB interface and send AT commands through it.
To do this, you also need to adjust a few things on the PCB, if I see it right, relocating the R30-R33 is the solution.
Please send me both sides of the PCB part drawing,
so I can find the connection points.

Thanks in advance.

Hi @JozsiKa ,

These are the details that you need.

Hi,

I was able to check the send parameters of the BG96 with the solution below.
I switched the USB port to the BG96 USB port and issued the send commands directly as follows:

AT+QICSGP=1,1,“hologram”,“”,“”,1
OK

AT+QIACT=1
OK

AT+QIOPEN=1,0,“TCP”,“cloudsocket.hologram.io”,9999,0,1
OK

AT+QISEND=0,40
OK

+QIOPEN: 0,0

{“k”:“********”,“d”:“KOPP”,“t”:“TOPIC1”}
SEND OK

+QIURC: “recv”,0,5
[0,0]

+QIURC: “closed”,0

AT+QICLOSE=0
OK

This worked successfully, the message arrived at the hologram server and was not empty. Contained the message “KOPP”:

This means that the at + send = hologram: user: XXX command is handling the entered data incorrectly somewhere in the firmware. The definition of “data” in place of (XXX) is not included in the string of the definition of “send”.
Conversely, with the command at + send = hologram: sensor, which in turn transmits the data perfectly.

There should be no error in setting the BG96 bad.
It gives the same error with two other motherboards. (motherboards not set yet)
Each of the motherboards I have handles this command incorrectly.
I don’t know what the error might be here because there is no problem with the source code in the firmware. Could the error be deeper?

Could you help with this?
Thanks in advance.

Hi @JozsiKa ,

I have to check with the R&D team what could be the possible issue in your device. It seems the RAK5010 is working ok based on your test via USB. However, the default RAK5010 FW can’t parse the data properly. Surprisingly, the hologram:sensor routine is working fine. I already check both routines and there is no real big difference other than printing logs on the hologram:sensor routine.

Btw, the data is being parse properly in my device and I can’t replicate your issue at the moment.

If you review the code, the send_data is actually updated.

You can follow the code starting on line ptr = strstr(cmd,"user"); then check the function hologram_cmd_packet(g_rui_cfg_t.g_cellular_cfg_t.hologram_card_num,send_data); where the hologram payload is being created.

         ptr = strstr(cmd,"user");
         for(index;index<5;index++)
         {
            ptr++;
         }
         index = 0;
         for(ptr;*ptr !='\r';ptr++)
         {
            send_data[index++] = *ptr;
         }
         hologram_cmd_packet(g_rui_cfg_t.g_cellular_cfg_t.hologram_card_num,send_data);

Hi carlrowan,

In the meantime, I tried downloading two older firmware to the motherboard.
RUI v3.0.0.14
then the
RUI v3.0.0.10
For both firmware, the error occurred similarly.
The at + send = hologram: sensor command successfully saved the data to the hologram server and was readable.
However, for at + send = hologram: user: test, “data” was left blank.
The error is already visible when the command is issued, so there is no problem with sending it. The “data” section is empty for the send command routine.
Where do we look for the error after that? :slight_smile:

at+version
at+version
Firmware Version: RUI v3.0.0.14
OK
at+send=hologram:sensor
AT+QIOPEN=1,0,“TCP”,“cloudsocket.hologram.io”,9999,0,1AT+QIOPEN=1,0,“TCP”,“cloudsocket.hologram.io”,9999,0,1
OK

+QIOPEN: 0,0
AT+QISEND=0,171{“k”:“********”,“d”:"Acc:-711.00,-12.00,667.00; Tem:26.21;Hum:45.70; Pre:1017.27; Lig:48.78; Lat(0-N,1-S):1,0.000000,Lon(0-E,1-W):1,0.000000; Battery:3.80; ",“t”:“TOPIC1”}AT+QISEND=0,171

{“k”:“********”,“d”:"Acc:-711.00,-12.00,667.00; Tem:26.21;Hum:45.70; Pre:1017.27; Lig:48.78; Lat(0-N,1-S):1,0.000000,Lon(0-E,1-W):1,0.000000; Battery:3.80; ",“t”:“TOPIC1”}
SEND OK

+QIURC: “recv”,0,5
[0,0]

+QIURC: “closed”,0
AT+QICLOSE=0,30000AT+QICLOSE=0,30000
OKat+send=hologram:sensorOK

at+send=hologram:user:test
AT+QIOPEN=1,0,“TCP”,“cloudsocket.hologram.io”,9999,0,1
AT+QIOPEN=1,0,“TCP”,“cloudsocket.hologram.io”,9999,0,1
OK

+QIOPEN: 0,0
AT+QISEND=0,36{“k”:“********”,“d”:“”,“t”:“TOPIC1”}AT+QISEND=0,36

{“k”:“********”,“d”:“”,“t”:“TOPIC1”}
SEND OK

+QIURC: “recv”,0,5
[0,0]

+QIURC: “closed”,0
AT+QICLOSE=0,30000AT+QICLOSE=0,30000
OKat+send=hologram:user:testOK

at+version
at+version
Firmware Version: RUI v3.0.0.10
OK

at+send=hologram:user:test
AT+QIOPEN=1,0,“TCP”,“cloudsocket.hologram.io”,9999,0,1AT+QIOPEN=1,0,“TCP”,“cloudsocket.hologram.io”,9999,0,1
OK

+QIOPEN: 0,0
AT+QISEND=0,36{“k”:“********”,“d”:“”,“t”:“TOPIC1”}AT+QISEND=0,36

{“k”:“********”,“d”:“”,“t”:“TOPIC1”}
SEND OK

+QIURC: “recv”,0,5
[0,0]

+QIURC: “closed”,0
AT+QICLOSE=0,30000AT+QICLOSE=0,30000
OKat+send=hologram:user:testOK