Download filesfrom a server via GPRS


I need to develop an application (using GPRS module) where I can order the module via SMS to connect to a server (via GPRS),and dowload files.

What’s the most cost effective H/W and S/W that I need to buy,in order to build such application. Any idea of how easy it is ? require S/W skills?

Best regards,

What file(s) are you going to download?

What are you going to do with them once they’re downloaded?

Asking on a Wavecom forum, you’re bound to get answers biased towards Wavecom!

With Open-AT, you can do this download into the module without requiring any external hardware!

Open-AT development requires - surprise, surprise - the Open-AT Software Development Kit (SDK), obtainable from your local Wavecom distributor.

That depends almost entirely upon your level of skill and experience!

It’s not trivial, but shouldn’t be too hard for a competent embedded developer…

Most definitely, yes!

Thanks so much for the quick responses.

The answers to your questions are:
What Files I will download: Media Files (up to 2-3M) like photos, MPG, …etc.

What I will do with the files :
A: the downlöaded files will be sent to external device via Standard Interface like RS232

Can I still do this with wavecome kit ?r

What is the external device?

Does it have the intelligence to manage the downloads (ie, “Pull”),
or must the modem “Push” the data into the device?

What do you mean by “like” RS232?
How does it differ from RS232?
How is it similar to RS232?

Yes, the external device will have to manage the dowloaded files. However, the modem should have “Push” mechanism to send the files out to the device, anyway.

The interface to the external device is STANDARD RS232, but if there is any recommended better interface that the modem can support, we will look into it as a better alternative


Even if the modem “Pushes” the data to the device, you are going to have to implement some sort of protocol in the device to receive that data, and turn it back into files.

If the device has enough intelligence to manage files, and you’re going to have to write some software on it anyhow to receive the data, then wouldn’t it be just as easy to do the whole lot in the device, and have the modem as just a “dumb” unit?

Your device then just controls the modem using standard AT commands.
This also means that you’re not locked to Wavecom…


What Type of wavecome modem , do you recomend (most cost effecient) to achieve this. Also, what S/W ( or kit) to buy?

That’s the point: if you do the software in your device, then any standard GPRS modem will do!

Again, if you do the software in your device, then no separate software development is required!

For a standalone modem from Wavecom, use a Fastrack:

Current model: … aresM1306B

Coming soon: … ackSupreme

Hello guys,

I intend to do almost the same as aismail but i already have the Q2686 Open AT with 6.60 firmware. I would like my modem to visit a webpage (ie … utput=JSON) and get the file given by this location (geo). Is this possible through GPRS? I have written code using adl_gprssubscribe, adl_gprssetup, adl_gprsact and I connect to the internet. But then I cannot figure out how I can go in this address. I know that I have to use fcm functions and especially adl_fcmsubscribe and adl_fcmsenddata. I have also read pinggprs sample application, but I cannot understand in which point and how I should give this address and how to handle the file downloaded from there!

Can anyone help me?

Thank you very much!

That will require an HTTP Client

You can either implement it yourself from scratch, or use the one provided in WIP

You will have to determine how it is given - most likely either HTTP (again) or FTP.

If it’s FTP then, again, you will require an FTP Client


No, you don’t have to use those functions - you can use WIP instead - or even Lua.

If you do use FCM directly, then you are going to have to implement the HTTP (and FTP, or whatever else) clients yourself from scratch - but it doesn’t really sound like you’re equipped for that?

Maybe you should look at WIP instead - or even Lua?

PING uses yet another different internet protocol!

I think your problem here is not so much with Wavecom or Open-AT as with the basic operation of the internet and its various different protocols…?

Yes that is true! I am still confused about when using a GPRS connection and when using WIP. For example when sending in a server data packets then GPRS and fcm functions are needed, right? But when accessing internet to download a file then just WIP functions are needed? Please somebody to explain this to me!

Thanks again!

tatiana, where are you from?
You don’t really need to use adl_gprs functions. But you surely can do it. Moreover you can achieve better robustness for your application using both WIP and ADL functions.
The same you can say 'bout WIP. You don’t really need to use it. But it is much simpler than ADL functions (well edSoft was even better :frowning: )

I think the problem is more fundamental than that - before even thinking of GPRS or WIP, you need to know how the internet itself works with protocols like TCP/IP, HTTP, FTP, etc.

These protocols are independent of the “bearer” used to transport them - which could be a wired LAN, a wireless LAN (WiFi), a phone line dial-up modem, a GPRS connection, or whatever…

You can use them directly, but you do not need to use them directly; in other words, it is possible, but not necessary.

Not at all.

WIP is a higherl-level “abstraction” - it uses the underlying services of GPRS and FCM without you having to worry about the details.

You really should be talking to your Wavecom Distributor about this - they will be able to explain it to you face-to-face, and in your own language.

Thanks Madouc!

I am from Greece!

So GPRS is the type of connection to the internet but wip determines the type of protocol! Am I right?


As I said earlier:

Yes, I saw that!I am not blind! You don’t need to shout at me!

I’m sorry, but you seemed to be ignoring it.

Please, do speak to your distributor - that’s what they’re there for!

Hi guys!

Trying to connect to the internet using WIP and dowloading a file from , I use the following sequence of functions:

wip_bearerOpen (&MyBearer, “GPRS”, myHandler, NULL)
wip_bearerSetOpts (MyBearer, WIP_BOPT_GPRS_APN, “…”, WIP_BOPT_LOGIN, “…”, WIP_BOPT_PASSWORD,"…", WIP_BOPT_END)!=0)

And then from myHandler when WIP_BEV_IP_CONNECTED happens, then
http = wip_HTTPClientCreate(NULL,NULL)
wip_getFile(http, “http://www.wavecom”, http_event, NULL);

The TRACES I get are the followings:

GPRS: GPRS EVENT SETUP OK (cid=1): GPRS activate
GPRS: GPRS EVENT: 27 (cid=1)
GPRS: FCM subscribe: 0
ip connected
http session established
[HTTP] new request wavecom @ 00476e20
[HTTP] connect to host: wavecom:80
[HTTP] channel = 00476bc0
[WIPEV] WIP_CEV_ERROR @ 0x476bc0 (errno = -993)
[HTTP] error -993 @ 00476e20
[HTTP] channel closed by server
[WIPEV] WIP_CEV_ERROR @ 0x476e20 (errno = -993)
error in socket!

Could somebody please tell me what is wrong with this? Error -993 stands for DNS FAILURE, but I have used the example from the WIP datasheet and I don’t know what can have gone wrong.



I need to send data from a microcontroller (that has RS232 interface) to a unit that can send SMS or transfer files through SMS. I can’t find any doc from the Supreme and extreme unit (besides of compliance docs etc…).
Do you know if this unit can do the job and if yes, where can I find the relevant doc

Bas Rottier