Page 1 of 1

Example "MC20_GPRSHTTP" does not work on Wio Tracker

Posted: Sat Jun 15, 2019 10:46 am
by jim_king_2000
I connected my Wio Tracker board to Arduino IDE and it worked fine. And I put my 4G nano sim card into the sim socket in the board.

Then I opened the example "MC20_GPRSHTTP" and downloaded the firmware into the board. The result was always failure(see below).

10:31:47.839 ->
10:31:47.839 -> Power On!
10:31:53.370 ->
10:31:53.370 ->
10:31:53.370 ->
10:31:53.370 ->
10:31:53.370 ->
10:31:53.370 ->
10:32:24.386 ->
10:32:24.386 -> IP:
10:32:34.384 -> ERROR:QIOPEN
10:32:44.410 -> ERROR:QIOPEN
10:32:54.409 -> ERROR:QIOPEN
10:33:04.397 -> ERROR:QIOPEN
10:33:14.402 -> ERROR:QIOPEN
10:33:14.402 -> Connect Error!

I tried both 4G cards of CMCC and China TeleCOM, the error messages are the same.

How can I use GPRS TCP then?

Jim Jin

Re: Example "MC20_GPRSHTTP" does not work on Wio Tracker

Posted: Sun Jun 16, 2019 5:57 pm
by jim_king_2000
When I run the other example "MC20_SMSSend", the registration of network fails (the code is: gpsTracker.waitForNetworkRegister()). There is one interesting thing: when I installed the 4G sim card of China Telecom, the "NET" led on the board blinks. It does not blink with CMCC sim card.

Re: Example "MC20_GPRSHTTP" does not work on Wio Tracker

Posted: Mon Jun 17, 2019 6:31 pm
by bill.yu
Hi there,

For GPRS: you have to configure your own APN @  const char apn[10] = "XXXX"; You can check with your SIM card carrier about the APN. 

Coz I can not access ... /hello.txt from my area, so i replace to If you can access mbed website. You can use this configure. 

you have to connect the antenna, or else, it can not connect the network. thanks.

const char URL[100] = "";
char http_cmd[100] = "GET /media/uploads/mbed_official/hello.txt HTTP/1.0\n\r\n\r";

Code: Select all

#include "MC20_Common.h"
#include "MC20_Arduino_Interface.h"
#include "MC20_GPRS.h"

#define RGBPIN 10

GPRS gprs = GPRS();
const char apn[10] = "CMNET";
const char URL[100] = "";
char http_cmd[100] = "GET SeeedDocument/forum_doc/master/hello.txt HTTP/1.0\n\r\n\r";
int port = 80;

int ret = 0;

void setup() {
  pinMode(RGBPIN, OUTPUT);
  digitalWrite(RGBPIN, LOW);

  SerialUSB.println("\n\rPower On!");

  if(!(ret = gprs.init(apn))) {
    SerialUSB.print("GPRS init error: ");

  SerialUSB.print("\n\rIP: ");

  if(gprs.connectTCP(URL, port)) {
  } else {
    SerialUSB.println("Connect Error!");

void loop() {
  /* Debug */

Here is the output from arduino serial port.

Code: Select all

Power On!


HTTP/1.1 400 Bad Request
Content-Type: text/html; charset=utf-8
ETag: "5c3cbd7d-23a1"
Content-Security-Policy: default-src 'none'; style-src 'unsafe-inline'; img-src data:; connect-src 'self'
X-GitHub-Request-Id: 3B94:3B5F:1E39E89:2096F1A:5CEE4C59
Accept-Ranges: bytes
Content-Length: 9121
Accept-Ranges: bytes
Date: Wed, 29 May 2019 09:09:46 GMT
Via: 1.1 varnish
Connection: close
X-Served-By: cache-lax8640-LAX
X-Cache: MISS
X-Cache-Hits: 0
X-Timer: S1559120986.255221,VS0,VE27
Vary: Accept-Encoding
X-Fastly-Request-ID: 75eb3c14db3e85d903935c22fb9a7c822e9a818d