I have the EVK2 with a GC864-QUAD-V2 module. I’m working on a script to exchange data between my module and a remote server. Once I stablish a socket connection, and can receive the data from the server using the SRING iindicador to go and read the buffer. Once I receive this data, and want to send some data back to the server with
res=MDM.send(‘AT#SSEND=1r’,0) then wait for the ‘>’ prompt, after the prompt appears, I send some data
res=MDM.send(‘Some data’,0) after this I finished with the CTRL-Z sending
res = MDM.sendbyte(0x1a, 0)
But the server confirm me that there just receive only 1 byte, in this case ‘S’ why?
Is there some setting that I need first to program to the module?
I suggest to use AT#SI to check received/set bytes counters. Also:
– use a timeout value higher than 0, 3-5
– check the commands from command mode, not Python
– check flow control, try with set enabled and disabled, see AT&K command
Thanks for the reply, the command AT#SI was very usefull, now I know that my module is sending what I tell it to send, and the issue is on the other side (the server).
Thanks Cosmin Buhu!
I’m getting progress on my project exchanging data via GPRS with a remote server. But now I want to send a string using the MDM.send in – built funtion using a variable as an argument, it is possible some way?
Because the way I was trying is using the append option to prepare the variable I want to sent, and the following error I have on the ASC1:
TypeError: argument 1: expected read-only buffer, list found
this is part of the code I’m using on whish appear the error (assume that the module is already open the socket and sent previusly the AT#SSEND=1 and the > character is already there:
Data.append(rlogin) Data.append(sep) Data.append(rpass) Data.append(end) print(‘Data to be sent is…’,Data) res = MDM.send(Data, 4) res = MDM.sendbyte(0x1a, 4) #CTRL – Z…
originaly Data was initializated as:
Data=[0x01,0x13,’Omicronix|’] and I need to append more data and then send it using the MDM.send. But I just can not do it.
If I use the MDM.send(‘Some text to send’,4) works fine, but not when I try to use a variable as an argument. Why?
Hope you can help me again.
Append is a list method, here is for example a text describing how to produce strings.
In short, do a join on Data, or use another method described in the link above.
I think this method will help me alot on some other thing that have to improve. But for sending data over GPRS I need to mix hexa and string type of data on a single list has:
and lets say I use the MDM.send(a,4) the error appear saying the same
Can the module send a list uder a variable using as argument on the MDM.send function?
Because the join methode is just to string type of data and not for mix hexa and string data. Or what else did you recommend to use if I want to send
a=[0x01,0x03,’Some text’,0x04] this valiable as an argument using the MDM.send(a,4)??
I think you need to clarify yourself notions like strings, text strings, binary strings, arrays etc.
There is no reason that a string, including the one resulting from a join method, to not be able to contain any byte, and some implementations allow even NULL char 0x00.
So do the join and send the resulting string, you’ll see at receiving end the correct result.
After using and exchanging data over GPRS with a remote servel, now I’m having the following error at the time try to send data using the AT#SSEND=1, >Some text CRT-Z
this is the error:
+CME ERROR: tx error
On the AT_command sumary of the module I just could find the error code is 563, but I don’t now why I could have this error. I could open the socket, but that it.
Why I could having this error?
I suppose is a network problem on a segment, or at server, maybe a proxy/firewall issue, or the server itself?
Hit enter to search or ESC to close
Knowledge Base & Download Zone