Community
cancel
Showing results for 
Search instead for 
Did you mean: 
IIvan16
Novice
933 Views

How to connect Intel Galileo to Internet using Quactel GSM module?

Hi, I'm trying to connect my Intel Galileo Gen 2 to 3G internet using GSM module which I made using Quactel GSM M72 module.

The communication between the Galileo and the GSM module is via UART, especially Serial2.

I'm using a Python script to send some data to a remote server, thus I need a cellular 3G connection.

The module is working and I know this because I'm able to send SMS via AT commands which I'm typing in the Serial Monitor of the Arduino IDE.

 

I think I made a connection to the internet as well because I can ping www.google.com. But there isn't any connection on the Galileo itself.

I checked the Intel Galileo Shield test Report and I found an article in section 12 where they use the arduino GSM shield to connect to internet and send SMSs etc. The shield has almost the same GSM module as mine - Quactel GSM M10 module. (mine is M72). There I found an arduino script wich makes a GPRS connection. Because I don't really need to send or receive any SMSs I change the sketch.

I used the following commands to connect to 3G internet:

void setup()

{

Serial2.begin(9600);

Serial.begin(9600); // the GPRS baud rate

delay(1000);

GPRS();

}

void loop()

{

if (Serial2.available()) {

Serial.write(Serial2.read());

}

if (Serial.available()) {

Serial2.write(Serial.read());

}

}

void ShowSerialData()

{

while(Serial2.available()!=0)

Serial.write(Serial2.read());

}

void GPRS()

{

Serial2.println("AT+CPIN?"); // Is SIM ready to use?

delay(1000);

ShowSerialData();

Serial2.println("AT+CGREG?"); // Is device registered?

delay(1000);

ShowSerialData();

Serial2.println("AT+COPS?"); // Does SIM info match network?

delay(1000);

ShowSerialData();

Serial.println("Check signal quality");

Serial2.println("AT+CSQ"); // Check signal quality

delay(1000);

ShowSerialData();

Serial2.println("AT+cgatt=1"); // GPRS attach

delay(1000);

ShowSerialData();

// define a PDP context with IP connection, ID is 1

Serial2.println("AT+CGDCONT=2,\"IP\",\"telenorbg\"");

delay(1000);

ShowSerialData();

// list PDP contexts that are defined

Serial2.println("at+cgdcont?");

delay(3000);

ShowSerialData();

// setup the session using the appropriate PDP context

Serial2.println("AT+CGACT=1,2");

delay(1000);

ShowSerialData();

Serial.println("session is setup delay 5 seconds");

delay(5000);

// // deactivate the PDP context

// Serial2.println("AT+CGACT=0,1");

// delay(1000);

// ShowSerialData();

// // detach from GPRS newtork

// Serial2.println("AT+CGATT=0");

// delay(1000);

// ShowSerialData();

}

The response from all the commands is OK. I ping successfully www.google.com

And there isn't any new data in the server when I check after it is meant to have any connection to the internet.

Any solutions to the problem? How can I use my GSM M72 module in order to provide Internet connection to my Intel Galileo Gen 2?

Tags (1)
0 Kudos
2 Replies
idata
Community Manager
56 Views

Hi Ivanivanovv,

 

 

We don't have that GSM module in our hands, so we can't run tests to help you with your issue. But I think that you are having a problem receiving the data, because you can successfully ping to www.google.com.

 

 

I personally recommend you to access to the Linux interface if it is possible using the serial port after you set the sketch, and try to make sure that you are connected to Internet.

 

 

I hope this information helps you to check that you are connected to Internet.

 

 

Regards,

 

-Leonardo
idata
Community Manager
56 Views

Hi Ivanivanovv,

 

 

Did you access to the Linux interface? Did you check that you are connected to Internet?

 

 

Don't doubt to ask us if you still have issues.

 

 

Regards,

 

-Leonardo
Reply