Hi
It’s something specific what it’s need to be set at RAK5860 WisBlock module to use the GNSS functionality ?
I used the Quectel recommendations to setup my RAK5860 with the following code:
#define BG77_POWER_KEY 17
String bg77_rsp = “”;
//this function is suitable for most AT commands of bg96. e.g. bg96_at(“ATI”)
void bg77_at(char *at, uint16_t timeout)
{
char tmp[256] = {0};
int len = strlen(at);
strncpy(tmp, at, len);
uint16_t t = timeout;
tmp[len] = ‘\r’;
Serial1.write(tmp);
delay(10);
while (t–)
{
if (Serial1.available())
{
bg77_rsp += char(Serial1.read());
}
delay(1);
}
Serial.println(bg77_rsp);
bg77_rsp = “”;
}
void ping_at(char *at)
{
char tmp[256] = {0};
int len = strlen(at);
uint16_t timeout = 10000;
strncpy(tmp, at, len);
tmp[len] = ‘\r’;
Serial1.write(tmp);
delay(10);
while (timeout–)
{
if (Serial1.available())
{
bg77_rsp += char(Serial1.read());
}
delay(1);
}
Serial.println(bg77_rsp);
bg77_rsp = “”;
}
void setup()
{
// Open serial communications and wait for port to open:
Serial.begin(115200);
while (!Serial)
delay(10); // for nrf52840 with native usb
Serial.println(“RAK5860 Cellular TEST With Hologram sim card!”);
//BG77 init
pinMode(BG77_POWER_KEY, OUTPUT);
digitalWrite(BG77_POWER_KEY, 0);
delay(1000);
digitalWrite(BG77_POWER_KEY, 1);
delay(2000);
digitalWrite(BG77_POWER_KEY, 0);
Serial1.begin(115200);
delay(1000);
Serial.println("BG77 power up!");
bg77_at("ATI", 500);
delay(2000);
//Cellular
Serial.println("**Start Setup Cellular ");
bg77_at(“AT+CGDCONT=1,“IP”,“hologram””, 500);
delay(2000);
bg77_at(“AT+CGACT?”, 500);
delay(2000);
bg77_at(“AT+COPS=1,2,“53001"”, 1000);
delay(2000);
bg77_at(“AT+CFUN=1,0”, 500);
delay(2000);
bg77_at(“AT+CPIN?”, 500);
delay(2000);
bg77_at(“AT+QNWINFO”, 500);
delay(2000);
bg77_at(“AT+QCSQ”, 500);
delay(2000);
bg77_at(“AT+CSQ”, 500);
delay(2000);
bg77_at(“AT+QIACT=1”, 3000);
delay(2000);
Serial.println(”**End Setup Cellurar “);
// GPS
Serial.println(”**Start Setup GPS ");
bg77_at(“AT+QGPS?”, 1000);
delay(2000);
bg77_at(“AT+QPSMS?”, 1000);
delay(2000);
bg77_at(“AT+CPSMS=0”, 1000);
delay(2000);
// bg77_at(“AT+QGPSCFG=“priority”,0”, 1000);
// delay(2000);
bg77_at(“AT+QGPSEND”, 1000);
delay(2000);
bg77_at(“AT+QGPS=1”, 1000);
delay(2000);
//
Serial.println("Begin receive GPS Data ! ");
}
void loop() // run over and over//
{
bg77_at(“AT+QGPSLOC?”, 2000);
}
The result is:
11:19:59.270 -> RAK5860 Cellular TEST With Hologram sim card!
11:20:03.234 -> BG77 power up!
11:20:03.749 ->
11:20:03.749 -> RDY
11:20:03.749 ->
11:20:03.749 -> +CFUN: 1
11:20:03.749 ->
11:20:03.749 -> +QSIMSTAT: 1,1
11:20:03.749 ->
11:20:03.749 -> +CPIN: READY
11:20:03.749 ->
11:20:03.749 -> +QUSIM:
11:20:05.752 -> **Start Setup Cellular
11:20:06.264 ->
11:20:06.264 -> APP RDY
11:20:06.264 -> AT+CGDCONT=1,“IP”,“hologram”
11:20:06.264 -> OK
11:20:06.264 ->
11:20:08.736 -> AT+CGACT?
11:20:08.736 -> +CGACT: 1,0
11:20:08.736 -> +CGACT: 2,0
11:20:08.736 ->
11:20:08.736 -> OK
11:20:08.736 ->
11:20:11.718 -> AT+COPS=1,2,“53001”
11:20:14.240 ->
11:20:14.240 -> OK
11:20:14.240 ->
11:20:16.714 -> AT+CPIN?
11:20:16.714 -> +CPIN: READY
11:20:16.714 ->
11:20:16.714 -> OK
11:20:16.714 ->
11:20:19.229 -> AT+QNWINFO
11:20:19.229 -> +QNWINFO: “eMTC”,“53001”,“LTE BAND 3”,1917
11:20:19.229 ->
11:20:19.229 -> OK
11:20:19.229 ->
11:20:21.704 -> AT+QCSQ
11:20:21.704 -> +QCSQ: “eMTC”,-83,-105,194,-8
11:20:21.704 ->
11:20:21.704 -> OK
11:20:21.704 ->
11:20:24.224 -> AT+CSQ
11:20:24.224 -> +CSQ: 15,99
11:20:24.224 ->
11:20:24.224 -> OK
11:20:24.224 ->
11:20:29.166 -> AT+QIACT=1
11:20:29.166 -> OK
11:20:29.166 ->
11:20:31.175 -> **End Setup Cellurar
11:20:31.175 -> **Start Setup GPS
11:20:32.156 -> AT+QGPS?
11:20:32.156 -> +QGPS: 1
11:20:32.156 ->
11:20:32.156 -> OK
11:20:32.156 ->
11:20:35.141 -> AT+QPSMS?
11:20:35.141 -> +QPSMS: 0,“0”,“0”
11:20:35.141 ->
11:20:35.141 -> OK
11:20:35.141 ->
11:20:38.128 -> AT+CPSMS=0
11:20:38.128 -> OK
11:20:38.128 ->
11:20:41.116 -> AT+QGPSCFG=“priority”,0
11:20:41.116 -> OK
11:20:41.116 ->
11:20:44.102 -> AT+QGPSEND
11:20:47.091 ->
11:20:47.091 -> OK
11:20:47.091 -> AT+QGPS=1
11:20:49.098 -> Begin receive GPS Data !
11:20:51.056 ->
11:20:53.015 ->
11:20:54.971 ->
11:20:56.930 ->
11:20:58.916 ->
11:21:00.900 ->
11:21:02.811 ->
11:21:04.773 ->
11:21:06.737 ->
11:21:08.692 ->
11:21:10.698 ->
11:21:12.659 ->
11:21:14.618 ->
11:21:14.618 -> OK
11:21:14.618 ->
11:21:16.576 -> AT+QGPSLOC?
11:21:16.576 -> +CME ERROR: 516
11:21:16.576 ->
11:21:18.541 -> AT+QGPSLOC?
11:21:18.541 -> +CME ERROR: 516
11:21:18.541 ->
11:21:20.496 -> AT+QGPSLOC?
11:21:20.496 -> +CME ERROR: 516
11:21:20.496 ->
11:21:22.454 -> AT+QGPSLOC?
11:21:22.454 -> +CME ERROR: 516
11:21:22.454 ->
11:21:24.409 -> AT+QGPSLOC?
11:21:24.409 -> +CME ERROR: 516
11:21:24.409 ->
11:21:26.370 -> AT+QGPSLOC?
11:21:26.370 -> +CME ERROR: 516
11:21:26.370 ->
11:21:28.335 -> AT+QGPSLOC?
11:21:28.335 -> +CME ERROR: 516
11:21:28.335 ->
11:21:30.292 -> AT+QGPSLOC?
11:21:30.292 -> +CME ERROR: 516
11:21:30.292 ->
11:21:32.253 -> AT+QGPSLOC?
11:21:32.253 -> +CME ERROR: 516
11:21:32.253 ->
11:21:34.213 -> AT+QGPSLOC?
11:21:34.213 -> +CME ERROR: 516
11:21:34.213 ->
11:21:36.176 -> AT+QGPSLOC?
11:21:36.176 -> +CME ERROR: 516
11:21:36.176 ->
11:21:38.180 -> AT+QGPSLOC?
11:21:38.180 -> +CME ERROR: 516
11:21:38.180 ->
11:21:40.144 -> AT+QGPSLOC?
11:21:40.144 -> +CME ERROR: 516
11:21:40.144 ->
11:21:42.106 -> AT+QGPSLOC?
11:21:42.106 -> +CME ERROR: 516
11:21:42.106 ->
11:21:44.083 -> AT+QGPSLOC?
11:21:44.083 -> +CME ERROR: 516
11:21:44.083 ->
11:21:45.990 -> AT+QGPSLOC?
11:21:45.990 -> +CME ERROR: 516
11:21:45.990 ->
11:21:47.980 -> AT+QGPSLOC?
11:21:47.980 -> +CME ERROR: 516
11:21:47.980 ->
11:21:49.943 -> AT+QGPSLOC?
11:21:49.943 -> +CME ERROR: 516
11:21:49.943 ->
11:21:51.908 -> AT+QGPSLOC?
11:21:51.908 -> +CME ERROR: 516
11:21:51.908 ->
11:21:53.878 -> AT+QGPSLOC?
11:21:53.878 -> +CME ERROR: 516
11:21:53.878 ->
11:21:55.840 -> AT+QGPSLOC?
11:21:55.840 -> +CME ERROR: 516
11:21:55.840 ->
11:21:57.801 -> AT+QGPSLOC?
11:21:57.801 -> +CME ERROR: 516
11:21:57.801 ->
11:21:59.766 -> AT+QGPSLOC?
11:21:59.766 -> +CME ERROR: 516
11:21:59.766 ->
11:22:01.728 -> AT+QGPSLOC?
11:22:01.728 -> +CME ERROR: 516
11:22:01.728 ->
11:22:03.687 -> AT+QGPSLOC?
11:22:03.687 -> +CME ERROR: 516
11:22:03.687 ->
11:22:05.648 -> AT+QGPSLOC?
11:22:05.648 -> +CME ERROR: 516
11:22:05.648 ->
11:22:07.607 -> AT+QGPSLOC?
11:22:07.607 -> +CME ERROR: 516
11:22:07.607 ->
11:22:09.607 -> AT+QGPSLOC?
11:22:09.607 -> +CME ERROR: 516
11:22:09.607 ->
11:22:11.523 -> AT+QGPSLOC?
11:22:11.523 -> +CME ERROR: 516
…
How I get the GPS Data ?
Thanks
Zoltan