Blynk and GPRS

Hi everyone.
I think this is a really really great project, and it has so many possibilities :smiley:

Firstly im new to programming , but i do know quite a bit with reguards to Arduino.
I managed to connect Blynk via USB and now i would like to do it via GPRS, i see there are only examples for Ethernet or WiFi…Im using an arduino with a sim808 as the gprs module.

I saw in another post, that we should use the User-defined connection example, but i really have no idea how to do this… like how does one even go about connecting to the server via gprs or sending and receiving commands between the smartphone and arduino…
Any help would be really appreciated :smile:

3 Likes

This is a basic routine for connecting to a webiste via GPRS…
Could anyone please help me use this to connect to Blynk using gprs…i know Blynk connects through a server, but would i replace the URL with Blynk’s server or how would i do this ?
Please its very important that i get this to work, any help will be appreciated a alot.

void SubmitHttpRequest()
{
 
  SIM900.println("AT+CSQ"); // Signal quality check

  delay(100);
 
  ShowSerialData();// this code is to show the data from gprs shield, in order to easily see the process of how the gprs shield submit a http request, and the following is for this purpose too.
  
  SIM900.println("AT+CGATT?"); //Attach or Detach from GPRS Support
  delay(100);
 
  ShowSerialData();
  SIM900.println("AT+SAPBR=3,1,\"CONTYPE\",\"GPRS\"");//setting the SAPBR, the connection type is using gprs
  delay(1000);
 
  ShowSerialData();
 
  SIM900.println("AT+SAPBR=3,1,\"APN\",\"CMNET\"");//setting the APN, Access point name string
  delay(4000);
 
  ShowSerialData();
 
  SIM900.println("AT+SAPBR=1,1");//setting the SAPBR
  delay(2000);
 
  ShowSerialData();
 
  SIM900.println("AT+HTTPINIT"); //init the HTTP request
 
  delay(2000); 
  ShowSerialData();
 
  SIM900.println("AT+HTTPPARA=\"URL\",\"Place Blynk server here ???\"");// setting the httppara, the second parameter is the website you want to access
  delay(1000);
 
  ShowSerialData();
 
  SIM900.println("AT+HTTPACTION=0");//submit the request 
  delay(10000);//the delay is very important, the delay time is base on the return from the website, if the return datas are very large, the time required longer.
  //while(!SIM900.available());
 
  ShowSerialData();
 
  SIM900.println("AT+HTTPREAD");// read the data from the website you access
  delay(300);
  changeLed();
  ShowSerialData();
 
  SIM900.println("");
  delay(100);
}
1 Like

@vshymanskyy

Would you be able to help with this ?

we are trying to present this application to our final year students , but we only have a gprs/gsm shield to connect to Blynk with.

Hello has anyone been able to get this to work?
I have a solar panel connected to various components 2km from my house and would like to control this with a GPRS module.

I have been able to do this with my pc and usb and ethernet and now i need to somehow implement it into my gprs unit attached to my arduino
Thank you

@vshymanskyy would be the best person to ask about GPRS or any other custom connection. Let’s wait for him here :wink:

2 Likes

While you are waiting for reply, please have a look at User_defined_connection example. This might help.

Also, GPRS connection was discussed in this thread: Sim900 + Blynk via gprs

May be @TamNguyenE11 can help as well

Hey,

Currently Blynk uses TCP (not http as in you example…)
I don’t have a SIM900 GSM shield so can’t work on this. If you get a working User-Defined connection, send it to me and I can try integrating it.
Please also note that Blynk has a heartbeat of 10 seconds so it can consume some traffic in background…
Unfortunately GSM was not planned from the very beginning (but it is possible of course…)

Thank you for that reply. the 10sec heartbeat could and would be an issues as cheap gprs services do have data caps. And a unlimited plan is currently too expensive for a simple maker project. Common GPRS data services tend to have TCP connection but no UDP. I’m open to testing it. Will return with feedback soon.

You can actually adjust the required heartbeat timeout if you run your own server (in the config).
Later we will add per-connection timeout so it will work also with our cloud.

A post was split to a new topic: Constant disconnection using Celular link