At+qiact 1 Error

3 views
Skip to first unread message

Otilia Mojarro

unread,
Aug 3, 2024, 1:57:07 PM8/3/24
to watakabi

Now comes the interesting part. Given below is a list of AT commands that you must fire in the exact given sequence to connect to a webserver using TCP over GPRS. The symbol => indicates the command you need to enter,

Hello Sir, I I have to send data to a server. But I am not getting how to make a server on my computer or where I am sending data, how to collect it on a server. Can you provide me some tutorial link or some help. Thanks in advance.

In order to work with a web server, you need to issue a request to it. There are various types of requests, like GET, PUT, POST etc. When you issue a request, you must specify what is the request type. A GET request type is the simplest. Thus start with the GET request type. The syntax for GET request will be available online, but basically, you need to type something like GET / HTTP/1.1 to tell the server that the request type is GET.

1.What happens when we give the time(time.sleep(0.5)) delay in one AT-command to another AT-Command
2.Is that really required from each other can you explain clearly
3.I was tested without time delay(time.sleep) to start to end but unable communicate errors will accured
4.Can u send GET method AT-commands for Ardunio code

Ans 1: For me, a small time delay between two AT commands was working. If I issued AT commands without time delay, they would randomly fail.
Ans 2: Time delay is not really required (theoritically) for all cases. There are exceptions like when you ask to attach GPRS you must wait for the module to complete the time-taking task. Giving a time delay before issuing the next AT command really depends on the type of AT command you have issued
Ans 3: As I said in Ans 1, I too was getting errors if I did not give time delay. Perhaps, that is how the module works. It needs some time to execute the command.
Ans 4: For an Arduino sample, see -sim800-sim800l-with-arduino/

A quick check on the net reveals that error 692 means hardware failure/error. See for additional troubleshooting help.
If the modem is able to start a TCP/IP connection, then may be, that part works, but the dial up part is bad.

I have not done FTP, but this should also be similar. You should read the document at _SIM900_FTP_HTTP_AT_COMMANDS_USER_GUIDE_beta_V1.00.pdf It provides information on how to do FTP using SIM900 and what are the commands. You may want to check if your chip is supported in this document.

I do not think there is a limit like that. You should be able to send lots of data. The problem may be in internal buffer of Sim900. You may want to read the Sim900 documentation to find out buffer limitations.

Vinay,
I have not tried this level of details yet. I read the V 1.03 of Sim900 module and it looks like your commands for HTTP are incorrect. Please read the HTTP commands from page # 196 of the v 1.03 manual. The response returned contains the HTTP status code 406 (+HTTPACTION = , , )
Status code 406 means not acceptable. This can happen for multiple reasons (including invalid params and data length). Your param part does not look correct. Please revisit that part.

I have not tried HTTPS, but there is a separate manual titled SIM900 HTTPS AT Command Set. That contains all the details of working with HTTPS. Based on the document, I can say that SSL 3.0 and TLS 1.0 are supported (SSL client only support)

Take a look at the tutorial at -hacks.com/documentation/tutorials/arduino-gprs-gsm-quadband-sim900 Simply use the HTTPS commands for initialization and setup from the manual. Other steps should be same.

My best bet at answering these questions are:
1. The buffer size is indeed important. But I have not found Sim900 buffer size information. When I use Arduino, I use 64 bytes and when I use Netduino, I have used up to 128 bytes. Both have worked.
2. I generally use the send, wait, send method as this keeps my program simple. When you are using AT command set, you know when the send has ended (as the control will return only after that). Post that, I wait for a few seconds (about 2-5) and then send again. Not the best strategy, but it works in my case.
3. RTS/CTS is something I do not use as this complicates the H/W design and programming. In some cases, you may not even get these pins (e.g. US to RS 232 TTL converters)

Since you are splitting the data in the application layer, you need to have a way to re-assemble the data on the server side. You need to know that the data that arrived on the server side is partial and there is more to come. You also need to know when you receive the last chunk after which, you can assemble all the bytes and save the image in a repository. This, you have to take care on the server side.

Please check the shield/breakout board datasheet. If it has a DB9 connector, then most probably it needs a level converter. Check the datasheet of the board. Arduinos are 5V compatible and some shield work on 3.3 or can tolerate 5V (not all, check the datasheet again).

Sorry I do not have Sim900 firmware. The only way to do this is to get from Simcom. Another alternative is to select a different model. I know that Sim5360 is one such model that supports SSL. Check with Simcom directly or from resellers about this model.

sir , i am using sim 900 . i have already sent some data to a sever from it by using tcpip connection.now i want to send the data repeatedly to that remote server . So please tell me which AT commands are required to repeat to send the data again and again to that server from gsm module by using tcpip connection

Austin,
I do not have access to a TM4C1294NCPDT. I did look at the datasheet of this IC. Given that you control Sim900 over a UART, all you need in your controller is a UART port. The datasheet of this IC states that this has 8 UARTs. So this should not be a problem. You should simply use the UART of the TI chip and issue the commands in the sequence outlined in this blog.

I am working on a project , on which I have to change APN of my device according to service provider without using any external hardware , So please can you mail me some AT commands (flow) by which I can get the APN of any sim card.

Dear Sir,
Can you help me with the time taken from start of the modem to sending 20 bytes data to shutdown of the module. What to do if the module is hanged. Please tell best case execution time and worst case execution time. regards

If I assume start means starting with power on then configuration and then finally send data, then it could be about 2 to 3 mins. Of this, 90% would be initialization (as my experience shows you need to give about 2 secs delay during initialization between each init sequence command).
If the module hangs, you may try soft reset. In my case, soft reset was not working, so I (bad solution but works everytime) put a relay form which the Sim900 module was being powered. If the module hangs, I simply switch the relay to power off the module and then power it on again (a hard reset)

When you get HTTP 404 (Not found) response, then it means, primarily, the URL you are calling does not exist. This error indicates that the request from the module is reaching the web server, but the web server is unable to find the resource (pointed to by the URL) on the web server. Please double-check the URL ,request parameters and request method (GET/POST etc.)

In this case, you can receive data only as a response to a request. This blog gives example of a client and not a server. When you send a request using CIPSEND, if your service is configured to respond back, the same command will return response. See -data-from-website-with-esp8266-using-at-commands for an example

Answer 1 : You need to send the hex code 0x26 to instruct Sim900 that data has ended. To send hex using Terminal program, you need to use the syntax #026
Answer 2 : Difficult question. There could be many reasons, but to start with, use a local sim that has good reception. Sometimes I have seen this with roamin SIM.

Sir, I am having trouble making a server for this. I have installed IIS as you stated in a comment above. Now I am creating a website to put on this server on ASP.NET. Now, I am stuck on how to put code in the server that can handle UDP packets.

I have realized that using UDP would not be suitable because I cannot take riskt to reverse the sequence of data as I am building a tracker application. So I am now focussing on TCP. I am searching for TCP listener on internet and trying to create a TCP listner and then send TCP data to it from my SIM900D.

Well, unfortunately, the answer to this question will not fit this little reply box ?
My suggestion is that you talk to a web developer who can help you on this.
You can get in touch with any web developer (Java, PHP, .NET etc.)

I have searched on internet and manged to send data to my web server using HTTP GET request. But I am facing the problem that, when I turn on my Arduino and GSM module, the data is sent through GET request on the server only the first time. Afterwards, the data is not shown up on the server. I am trying to send the data every 10 seconds, so I initiate HTTP GET request in a loop after every 10 seconds. SIM900 replies with +HTTPACTION:0,200 that means there is no error, then why the data is not received on web server after the first attempt?

Interesting. Have you checked on the sending side how many bytes were transferred (I think you can use AT+CIPSEND)
Also, what do you see on the server logs? Do you see the entry for subsequent GET requests

No, I have figured out that the problem is with the response of the GET request. When I use AT+HTTPREAD (just to check), the code hangs there and reading the response never ends and it stays in the while loop that is reading the response, and thats why I am unable to initiate second GET request. I am wondering whether the problem is from the server side? Is it sending the correct response after receiving a GET request? How to check that?

Data is always sent from here but not always received. I was running the code yesterday and it was going, but today it is not going. I am very upset in diagnosing the issue. Can you help me if I send you the code? Thanks in advance

c80f0f1006
Reply all
Reply to author
Forward
0 new messages