RAK 4630 Tracker solution

Continuing the discussion from RAK4630 not connecting to LoraWan:

Hi Bernd.

I try to load the RAK10700 tracker firmware to my RAK4630, It loads ok, but I can not use it. It do not respond to AT commands and I can not acces to it any more.

I only can load the GPS Tracker example who is included in the Arduino IDE, who works ok, but this one. How can I load tghis LPWAN Trackerd solution?

Hi Alejandro,

It seems the Github repo was not updated. I just updated the Arduino files in the repo with the latest code.

Can you retry to download the code from Github and retry.
You need to update the WisBlock-API library to the latest version V1.1.18 as well.

Thank you Bernd. It compiles and I can load it in the tracker. It join the network, but it do not get position, even in the window wher it ever get position for other trackers. It just give me the battery voltage. When I reset the unit I can not contact it through AT command any more.

[11:01:34.886] +EVT:LOCATION NOFIX

[11:01:39.766] +EVT:BUSY

[11:01:39.767] +EVT:START_LOCATION
[11:01:41.929] +EVT:SEND OK
[11:44:10.192] AT+BAT=?

AFTER RESETING IT BY THE BUTTON, STOPS RECEIVING AT COMMANDS (THE COM PORT IS OK). iT DOES NOT JOIN THE NETWORK NEITHER.

[11:44:44.534] AT+BAT=?
[11:46:38.671] AT+VER=?
[11:46:40.027] AT+VER=?

What send interval did you set with AT+SENDFREQ? If you set it too short, the GNSS might not be able to acquire a location. It can take up to 30 seconds after a cold start to get a location.

I recommend a send interval of 120 seconds.

When you push the reset button, what is the status of the blue and green LED’s?

Hi. I set the interval to 150 sec, then I reset it. The leds blinks one time green blue and then blinks green several time and then off.

But still does not fix.

That is strange if you are testing the device at a location where the GNSS antenna can see the sky and is not indoors or shadowed by roofs or tinted windows.

Can you change #define MY_DEBUG 0 in the file app.h to #define MY_DEBUG 1 to get more debug output.

Hi Bernd
I recompilte and reload the firmware to my device.
image

This is the location:

And this is the outpout i get so far:

  • Event Length : 2
  • HVN Queue Size : 16
  • WrCmd Queue Size: 16

--------- BLE Settings ---------
Name : RAK-GNSS-09FFFE0570FE
Max Connections : Peripheral = 1, Central = 0
Address : D5:FA:15:85:8E:D6 (Static)
TX Power : 0 dBm
Conn Intervals : min = 20.00 ms, max = 30.00 ms
Conn Timeout : 2000 ms
Peripheral Paired Devices:

+EVT:JOINED
+EVT:START_LOCATION
+EVT:LOCATION NOFIX
+EVT:SEND OK
+EVT:START_LOCATION
+EVT:LOCATION NOFIX
+EVT:SEND OK
+EVT:START_LOCATION
+EVT:LOCATION NOFIX
+EVT:SEND OK
+EVT:START_LOCATION

This I got from wistool

Oh, I gave you the wrong instructions, you changed the wrong code line.
It should be like this.

But beside of this, it is strange that you don’t get a location fix, as the RAK10701 next to it can get it.

Can you check

  • GNSS antenna cable is properly connected
  • point the GNSS antenna towards the window
  • put the lid with the solar panel to another position

Other than that, I am running out of ideas.

It should be something with the code, because with the example code work ok and get position in seconds near the same window, even with 10 seconds reporting, like the 10701.

I am not sure why it doesn’t work for you. It works fine here for me. I have no USB cable long enough to reach a window. But when I connect BLE for debugging and go to my frontyard, I get perfect location fix within a short time (~10 seconds):

19:48:40->UBLOX found on I2C
19:48:40->
19:48:41->Could not find a valid BME680 sensor, check wiring!
19:48:41->
19:48:41->============================
19:48:41->GNSS Precision:
19:48:41->   6 decimal digit precision
19:48:41->Data format:
19:48:41->   Cayenne LPP data format
19:48:41->============================
19:48:41->+EVT:GNSS OK
19:48:41->+EVT:ACC OK
19:48:41->+EVT:ENV FAIL
19:48:41->Successfully joined network
19:48:41->
19:48:41->+EVT:JOINED
19:48:41->GNSS Task started
19:48:41->
19:49:44->ACC triggered
19:49:44->
19:49:44->Timer wakeup
19:49:44->
19:49:44->GNSS Task wake up
19:49:44->
19:49:44->+EVT:START_LOCATION
19:49:44->poll_gnss
19:49:44->
19:49:45->GNSS timeout 90000
19:49:45->
19:49:45->Using RAK12500
19:49:45->
19:49:53->Fixtype: 3 Fix type 3D
19:49:53->
19:49:53->Lat: 14.4212 Lon: 121.0069
19:49:53->
19:49:53->Alt: 110.42
19:49:53->
19:49:53->Acy: 1.48 
19:49:53->
19:49:53->+EVT:LOCATION FIX
19:49:53->GNSS Task finished
19:49:53->
19:49:58->Packet enqueued
19:49:58->
19:49:59->LPWAN TX cycle finished ACK
19:49:59->
19:49:59->+EVT:SEND OK

Did you double check the connection of the cable and tried to relocate the GNSS antenna direction?

I fix the log and also change the GPS antena for a new one.
I would like 6 decimal precision.

This is my configuration:

And this is the log I get:

============================
GNSS Precision:
4 decimal digit precision
Data format:
Cayenne LPP data format

+EVT:GNSS OK
+EVT:ACC OK
+EVT:ENV FAIL
--------- SoftDevice Config ---------
Max UUID128 : 10
ATTR Table Size : 4096
Service Changed : 1
Peripheral Connect Setting

  • Max MTU : 250
  • Event Length : 2
  • HVN Queue Size : 16
  • WrCmd Queue Size: 16

--------- BLE Settings ---------
Name : RAK-GNSS-09FFFE0570FE
Max Connections : Peripheral = 1, Central = 0
Address : D5:FA:15:85:8E:D6 (Static)
TX Power : 0 dBm
Conn Intervals : min = 20.00 ms, max = 30.00 ms
Conn Timeout : 2000 ms
Peripheral Paired Devices:

+EVT:JOINED
+EVT:START_LOCATION
+EVT:LOCATION NOFIX
01740197
Packetsize 4
+EVT:SEND OK
+EVT:START_LOCATION
+EVT:LOCATION NOFIX
017401A1

Something with the GPS type selection? or with the 4 or 6 decimal selection? I saw that you have 6 decimals and I just 4.
Something with the RUI or not RUI configuration? the 10701 is RUI and this is not.

With the GPS example works fine with 6 decimals.

Hello Alejandro,

There are a few differences between the RAK10701 and the WisBlock Kit

RAK10701 WisBlock Kit 2 comments
RUI3 code Arduino code should make no difference for location acquisition
GNSS module RAK12500 GNSS module RAK1910 RAK12500 is supporting more GNSS satellite systems (could be a cause) and is faster in location acquisition
Uses I2C communication Uses UART communication should make no difference
Has better GNSS antenna Has standard GNSS antenna could be a cause

Changing the format between 4 and 6 digits makes no difference, the location acquisition is the same, only the latitude and longitude values are truncated in the 4 digit format.
You can change the format with the AT command AT+GNSS=1 to 6 digits.

I tried both 4 and 6 digits format and this time using the RAK1910 and it shows no difference. Going outside, I get a location with the RAK1910 within a short time.

I have no more ideas regarding your problem, I cannot reproduce your problem.
Can you try to take the device outside and give it a try? You can connect to the device after boot with a BLE Terminal app or my WisToolBox to see the debug output over BLE.

I load the firmware from the flash image and works! To compile it and to load do not… I do not why!

The only problem that I have now is to decode it. I just get the battery voltage who is under uplink_message/frm_paylod , but the position is under locations/frm_payload.
I try with the decoder in TTN-Ext-LPP-Decoder.js but I can not get the data.
Another important data I need is the Accuracy to use the device as a mapper device in TTN mapper too.

This is the payload i’m receiving.

{
“name”: “as.up.data.forward”,
“time”: “2023-01-20T04:08:36.088171213Z”,
“identifiers”: [
{
“device_ids”: {
“device_id”: “eui-ac1f09fffe0570fe”,
“application_ids”: {
“application_id”: “lorawan-scanner”
},
“dev_eui”: “AC1F09FFFE0570FE”,
“join_eui”: “70B3D57ED00201E1”,
“dev_addr”: “260C5522”
}
}
],
“data”: {
@type”: “type.googleapis.com/ttn.lorawan.v3.ApplicationUp”,
“end_device_ids”: {
“device_id”: “eui-ac1f09fffe0570fe”,
“application_ids”: {
“application_id”: “lorawan-scanner”
},
“dev_eui”: “AC1F09FFFE0570FE”,
“join_eui”: “70B3D57ED00201E1”,
“dev_addr”: “260C5522”
},
“correlation_ids”: [
“as:up:01GQ6NTDFFQ46RZ2NEBJHE9RXW”,
“gs:conn:01GQ63WNFKE258W4W0Z0Z7JNSB”,
“gs:up:host:01GQ63WNM73AN0RWZEAX70A4GM”,
“gs:uplink:01GQ6NTD8VVJMSJ8BJXREEW11K”,
“ns:uplink:01GQ6NTD8WSBV2QYX40K2BH07M”,
“rpc:/ttn.lorawan.v3.GsNs/HandleUplink:01GQ6NTD8W1ZCEXYPF6PRXPD2P”,
“rpc:/ttn.lorawan.v3.NsAs/HandleUplink:01GQ6NTDFF7J74GPJ5J572K75G”
],
“received_at”: “2023-01-20T04:08:36.079647131Z”,
“uplink_message”: {
“session_key_id”: “AYXNIQgh14/GVnUzgrXtrw==”,
“f_port”: 2,
“f_cnt”: 25,
“frm_payload”: “AXQBng==”,
“decoded_payload”: {
“data”: {
“voltage_1”: 4.14
}
},
“rx_metadata”: [
{
“gateway_ids”: {
“gateway_id”: “eui-ac1f09fffe0148a2”,
“eui”: “AC1F09FFFE0148A2”
},
“timestamp”: 1774579068,
“rssi”: -39,
“channel_rssi”: -39,
“snr”: 11.8,
“uplink_token”: “CiIKIAoUZXVpLWFjMWYwOWZmZmUwMTQ4YTISCKwfCf/+AUiiEPzal84GGgwIw6eongYQseTYnQMg4Nie6dKnBA==”,
“channel_index”: 6,
“received_at”: “2023-01-20T04:08:35.766983205Z”
}
],
“settings”: {
“data_rate”: {
“lora”: {
“bandwidth”: 125000,
“spreading_factor”: 9,
“coding_rate”: “4/5”
}
},
“frequency”: “916400000”,
“timestamp”: 1774579068
},
“received_at”: “2023-01-20T04:08:35.868462350Z”,
“consumed_airtime”: “0.185344s”,
“locations”: {
“frm-payload”: {
“latitude”: -32.95006,
“longitude”: -71.53544,
“altitude”: 87,
“source”: “SOURCE_GPS”
}
},
“network_ids”: {
“net_id”: “000013”,
“tenant_id”: “ttn”,
“cluster_id”: “nam1”,
“cluster_address”: “nam1.cloud.thethings.network”
}
}
},
“correlation_ids”: [
“as:up:01GQ6NTDFFQ46RZ2NEBJHE9RXW”,
“gs:conn:01GQ63WNFKE258W4W0Z0Z7JNSB”,
“gs:up:host:01GQ63WNM73AN0RWZEAX70A4GM”,
“gs:uplink:01GQ6NTD8VVJMSJ8BJXREEW11K”,
“ns:uplink:01GQ6NTD8WSBV2QYX40K2BH07M”,
“rpc:/ttn.lorawan.v3.GsNs/HandleUplink:01GQ6NTD8W1ZCEXYPF6PRXPD2P”,
“rpc:/ttn.lorawan.v3.NsAs/HandleUplink:01GQ6NTDFF7J74GPJ5J572K75G”
],
“origin”: “ip-10-101-7-200.us-west-1.compute.internal”,
“context”: {
“tenant-id”: “CgN0dG4=”
},
“visibility”: {
“rights”: [
“RIGHT_APPLICATION_TRAFFIC_READ”
]
},
“unique_id”: “01GQ6NTDFRD5V3063B4H0GHY3M”
}

Strange that the fresh compiled code doesn’t work. Can you show me the settings
image
the BSP version


and the WisBlock-API library version

For the payload decoding, we have a payload decoder that works with most newer RAK devices RAKwireless_Standardized_Payload
The payload decoder works on TTN, Chirpstack and Helium.