|
|
View previous topic :: View next topic |
Author |
Message |
Marco27293
Joined: 09 May 2020 Posts: 126
|
SIM7080G HTTP post |
Posted: Fri Jan 22, 2021 7:36 am |
|
|
Hi,
Is it possible with SIM7080G module upload large data packet by HTTP post request ?
Because, the max body length available with at+shconf is 4096 (at command manual version 1.3), but actually with SIM868 we're able to post through at+httpaction up to 64KB in a single post request.
We need to rapidly post an equivalent data size with SIM7080G is there any workaround that makes it possible?
Might AT+SHAHEAD="Connection","keep-alive" command help me?
Maybe, I can perform the upload through subsequent post requests in order to send multiple 4096bytes packets....
Please give me a suggestion on how I can afford this issue
Regards,
Marco |
|
|
benoitstjean
Joined: 30 Oct 2007 Posts: 566 Location: Ottawa, Ontario, Canada
|
|
Posted: Fri Jan 22, 2021 7:49 am |
|
|
Hi again Marco,
As indicated in my other post for FTP, this forum is for PIC microcontroller users who use CCS' C compiler. This is not like stackexchange and whatnot like if it were a general support website for anything. Your questions are very specific - they should be fired-off to SIMCOM as this is the modem you are using.
Otherwise, you may wish to contact whoever is your SIMCOM representative and where you have purchased the modem from.
This is my view but if other users wish to help, then that's their choice.
Good luck.
Ben |
|
|
Marco27293
Joined: 09 May 2020 Posts: 126
|
|
Posted: Fri Jan 22, 2021 8:22 am |
|
|
I'm using PIC18F47J53 (CCS C 5.090 pch compiler) tied via uart to sim7080g.
SIMCOM documentation is NOT helpful...
Please give me some suggestion...
Marco |
|
|
benoitstjean
Joined: 30 Oct 2007 Posts: 566 Location: Ottawa, Ontario, Canada
|
|
Posted: Fri Jan 22, 2021 8:52 am |
|
|
haha! SIMCOM documentation is NOT helpful. Join the club! I know, been using their products for a very long time and docs are quite bad... but the products are very nice, robust and reliable.
I haven't used the HTTP stack other than recently for fun to display "Device is online" when an HTTP connection is made to my unit from a recognized address.
But for large blocks, this would be the same principle as with FTP in a sense that when the MCU receives a "GET" message from the modem (you attempt to connect to the modem therefore the modem will return the GET message to the MCU with all its associated data), I filter-out the first part which is "GET /" and then I issue the following in multiple blocks:
Code: |
sprintf( sTempBuffer, "HTTP/1.1 200 OK\r\n"
"Content-Type: text/html\r\n"
"Connection: Close\r\n"
"Content-Length: %Lu\r\n"
"\r\n", ContentsLength );
--> Send sTempBuffer to MCU's TX queue
--> Clear sTempBuffer
sprintf( sTempBuffer, "<!DOCTYPE HTML>\r\n"
"<html>\r\n"
"<head>\r\n" );
--> Send sTempBuffer to MCU's TX queue
--> Clear sTempBuffer
sprintf( sTempBuffer, "<title>Success</title></head><body>Device is online</body></html>\r\n" );
--> Send sTempBuffer to MCU's TX queue
--> Clear sTempBuffer
|
When you get the "GET" message, it'll contain all the other crap like User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36 Accept: text and so on. I filter-out the first 5 characters with strncmp( Message, "GET /", 5 ).
The reason I have to send the reply this way is because the modem has its UART configured to run in multiplexer mode therefore a single physical UART is set to run as 4 virtual UARTs. For some reason, SIMCOM didn't fully implement the 3GPP specs for UART multiplexing (not sure about the SIM7600 but that's the case on the SIM5320) in a sense that you cannot send buffers of more than 127 bytes per MUX frame. The standard calls for 255 bytes in linked frames. This said, I need to break-down the data into blocks of maximum 127 bytes. That's why in my example above, I am sending sTempBuffer in multiple instances. I had to count each byte manually to ensure I did not exceed the length of the buffer.
I also have a message queue of 50 elements deep on the MCU where I queue all the outgoing data that needs to go out the PIC's UART through DMA to the modem, one element after another, in sequential order. I have a similar queue for modem-to-PIC messages where data is stored in the incoming queue for later processing sequentially.
Ben |
|
|
temtronic
Joined: 01 Jul 2010 Posts: 9248 Location: Greensville,Ontario
|
|
Posted: Sat Jan 23, 2021 6:30 am |
|
|
My head hurts...
Life was a LOT simpler when I worked on Teletypes....
sigh..
..can I go back, please ??
or the job as GG ?
Jay |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|