ST LoRa® IoT tracker - STEVAL-STRK01

Following this thread and various sources online, I have manged to get the tracker going without compiling the firmware using the following method:

  1. Download latest firmware package from ST: https://www.st.com/content/st_com/en/products/embedded-software/mcu-mpu-embedded-software/stm32-embedded-software/stm32-ode-function-pack-sw/fp-atr-lora1.html
  2. Download the ST-link utility for flashing: https://www.st.com/en/development-tools/stsw-link004.html
  3. Connect as shown at the end of this document to ST-Link programmer/Nucleo board as shown earlier in this thread.
  4. I have had to connect battery, USB cable and the programmer for the flashing to be successful, did not work without the USB cable and only on battery
  5. Use the ST-Link flasher utility by selecting Program & Verify and select the file from the downloaded software package: /STM32CubeFunctionPack_LORA1_V2.0.1/Projects/STEVAL-STRKT01/Applications/LoRa/Asset_Tracker/Binary/STEVAL_STRKT01.bin
  6. Create an application on TTN and register a new node. I have opted for a TTN generated DevEUI, you could get one from the tracker as well.
  7. Provision the tracker through the serial connection (tested under Windows and Linux, just plug in and port should appear) with the following commands (copy/paste replacing xxxxx with string from TTN console):
  • TTN provided DevEUI, likely you could use board provided one, but need to load different FW to find it out or observe on GW
     !deviceeui-xxxxxx
  • TTN provided Application EUI
     !joineui-xxxxxx
  • TTN provided App key
    !appkey-xxxxxx
  • TTN provided App key
     !ntwkkey-xxxxxx
  • Issue a reset to use this keys
     !sysreset
  1. On TTN under payload formats configure the Cayenne LPP and you will get decoded data.
  2. If all has gone well, the tracker should be connected and sending data.
1 Like

Hi All,

I finally received my TTIN gateway, and got my first connection.
So thanks again, effesud, that was a good move.
Now I need to decode the payload. I suppose that there is something for that, but the doc is not very clear.

After a while I understood that one has just to check in
Cayenne LPP in Applications -> Payload Formats,
and everything is automatic as it ahs been properly encoded
in main.c, lines 1319 – 1363

I have now

{
“accelerometer_4”: {
“x”: 0,
“y”: -0.029,
“z”: -0.97
},
“analog_in_5”: 3.89,
“barometric_pressure_0”: 1009.3,
“digital_out_6”: 0,
“gps_3”: {
“altitude”: 106.64,
“latitude”: 48.xxx,
“longitude”: 2.xxx
},
“relative_humidity_2”: 37.5,
“temperature_1”: 29.2
}

which looks OK.

Hope this will help someone.

and as a streched goal get it to run Mbed OS 5

Note that this is the same module as on the DISCO-L072CZ-LRWAN1 board so compiling for that target from Mbed CLI / Online Compiler should give you a binary that can also run Mbed OS on this module. There seem to be drivers for the GNSS module as well from ST: TeseoLocation.

2 Likes

I have received my TTIG, and I am experimenting with a
STEVAL-STRK01, sending a message every minute, but I see that several packets are lost.
Packets are received more like every 2 mn.
And more important, after a while (33 packets) everything is stalled.

Where does the problem come from ?

  • TTIG ?
  • STEVAL-STRK01 ?
  • sending rate too High ?

this is not related to TTIG imho…

  • to close ?
  • did it worked before ?

I dont understand what you mean.

I wrote that I received 33 packets : so it worked.
The problem is that after a while ( less than one hour), the packets are no longer forwarded.

I see… ok, TTIG is working fine (here) so it must be your node (code)
-is the green led flashing when its no longer forwarding ?
-are you moving around with the node ?

The green led is fixed.
The node does not move.
I want to know how steady the connection can be. Up to now, it is not very successful.

{
“time”: “2019-04-06T14:55:48.642362912Z”,
“frequency”: 868.5,
“modulation”: “LORA”,
“data_rate”: “SF8BW125”,
“coding_rate”: “4/5”,
“gateways”: [
{
“gtw_id”: “eui-58a0cbfffe800301”,
“timestamp”: 129013820,
“time”: “2019-04-06T14:55:48.299748Z”,
“channel”: 0,
“rssi”: -57,
“snr”: 7.5
}
]
}

It seems that packet 4 is missing. Why ?

image

can you try move it further away from TTIG ?

1 Like

I move it a little bit further

{
“time”: “2019-04-06T15:25:08.960716565Z”,
“frequency”: 867.1,
“modulation”: “LORA”,
“data_rate”: “SF8BW125”,
“coding_rate”: “4/5”,
“gateways”: [
{
“gtw_id”: “eui-58a0cbfffe800301”,
“timestamp”: 110041692,
“time”: “2019-04-06T15:25:08.616035Z”,
“channel”: 0,
“rssi”: -67,
“snr”: 12.25
}
]
}

  • and where is your payload (what’s the size)
  • is ADR on/off ?
  • lower the interval

The Payload is 37 bytes

what is ADR ( and where ) ?

what do you mean by “lower the interval” ?

  • I’m not familiar with your node type/code
1 Like

Is it because of this fair access policy that my sensor is stalled after 67 packets in TTN ?

No. There must be something else wrong with you code to cause this.

My TTIG has been running uninterrupted for a couple of days receiving data from several nodes without any issue. If a reset of just the node makes things come alive again the error is on the node, not TTIG. If you need to reset TTIG as well it might be an issue with the gateway, but given the information available at this time that seems unlikely to me.

Thanks Jac, this was helpful.
I have set up another node ( again a STEVAL-STRKT01)
As it looked fine, I have also set up a third one and flash again the first one.
Now it seems that everything is OK.

At least it has been running with no problems for more than 3 hours.
which has never been the case before. I will let it run as such for a longer time to test
the devices.

1 Like

I need now to increase the range.
How do you change the coding rate (coding_rate) on the STRKT01 ?
I have already set the data_rate to the lowest possible :

“data_rate”: “SF12BW125”,
“coding_rate”: “4/5”,

To set the data rate, have a look at the “!loradr” command via USB to set the LoRa Data Rate and “?platformstatus” to double check. Restart the device after this procedure.
You can also change LORAWAN_DEFAULT_DATA_RATE in the main.c and send the “!defaultsettings” to use this new setting. Restart the device after this procedure.