GlobalSat LT-100E

Is anyone able to send me a script for the lt-100 device to correctly have it configured for TTN? I’ve has some issues with mine and i cant see anything from the network server, so im thinking it might be join mode, but i want to confirm the other settings too.

Hello. I’m also struggling to get the LT-100 to speak to the Things Network. I received all the tools from the supplier, and have managed to connect and configure the device using AT commands. It’s connected the TTN once when I switched on JoinMode=1. However it’s not sending any data through and TTN says it’s not seen the device since the first join. Some instructions would be great.

Hi,
I do not know how to give exact instructions as I follow the GlobalSat instructions I received on purchase. After your post I have tried to register my LT-100E GPS tracker again on TTN. The last time I did was a couple of weeks ago and I am curious if it still worked. Result from this afternoon : it took me exactly one minute to have it up and running, with ABP, as my public loraWAN in Belgium is not directly connected to TTN, so no OTAA with a DevAddr in the 260… I have to go by WirelessThings Belgium that joined TTN a while ago.
I even made the integration with EZfinder without any issues.
What kind of instructions did you receive from GlobalSat ?
You should at least have their loraconfigurator in conjunction with RealTerm to program the device.
Have a nice day,
Wim.

Managed to get the LT-100E working. As suggested, the right instructions from the suppliers has helped. We’ve been able to receive payloads to our backend servers and now integrating with our solution. Thanks for the replies.

Glad you have sort it out.
It would be nice if you could explain a bit further on the integration to your solution.
What I did was the integration of the tracker device between TTN and Cayenne and Ezfinder, the latter costing some money. Therefore my enquiry on what solution you are looking at to visualize the GPS data.
I wish you good luck in your endeavors.

Sure. I’m founder of the website www.gridlocate.com that currently offers GPS Tracking using mobile phone apps. We’re currently testing a number of hardware GPS Tracking solutions, and connecting them to our back-end service. Like you, we registered the LT100E via TTN. We’ve then used the TTN decoder to translate the payload into standard payload fields (LOCATION_LAT, LOCATION_LONG) which is then being sent via TTN HTTP integration direct to the gridlocate.com services.

End result, is that we can see the location updates from LT-100E within GridLocate maps. We’ll eventually be offering this as a subscription service but please let me know if you would like to be a beta-tester for our service.

Goodmorning @adrewetx ,

We are well willing to beta test your product with our LTE100 GlobalSat device. I therefore have opened a research group on your GridLocate GPS tracker website : LTE_Globalsat_tester.
When you give some more info on adding a device on your platform, we will be glad to do some testing, just like we did with EZFinder, that also has a smartphone app by the way.
The accuracy then tested was quite good: max error of 10m. The API endpoint they gave me for the TTN HTTP integration was : http://api1.ezfinder.com.tw/API/ttn.aspx
If you could provide me with some more specs on adding the device registered on TTN (via our public lora provider WirelessThings in Belgium) into the GridLocate dashboard, we look forward to give you our user experience.
Have a nice day.

I’m going through a similar configuration prcess as you describe @Mdeprado and @ON8SD but with a GlobalSat LT-100H device.
I’m trying to get the device AppEui via serial connection, but the device seems to ignore the commands I send.

I am using CoolTerm to connect to the Serial Port with the config below from the AT command file shared above

I do receive data from the device when connected to it, but it seems to ignore the DEV or AT commands I enter (in CoolTerm Line Mode or in Send String mode).

Wondered if you had any tips on that? Any test that could show me if the device receives the commands?

I have some ideas of why it could not be working:

  • It’s been a long time since i configured this device, but i think that for the LT-100 device I used a higher baudrate, 115200. The other globalsat devices use the 57600 but on the tool they provided for the LT-100 it connected at 115200. It could be because of it.

  • Do you receive anything when you connect, when you reset it should show something like in the image? If not, it can be what i have explained in the previous point or maybe it isn’t in configuration mode. When you connect it for configuration you have to start it and press the power button once, if it works the power LED should be blinking with red light quickly. It can be a little hard to see if the device have the battery charged.

  • Are you sure that you are adding at the end of the command the <CR><LF>, if not the device will not recognize the command because it will not know when it ends. I don’t know how CoolTerm software does this, for example Teraterm allows you to select to put the <CR><LF> when you send a command, but if you are working with one that doesn’t have this option. <CR> -->CTRL+m and <LF>–>CTRL+j.

I hope that this helps you.

Thanks for the answer, it’s helpful.

  • I did see that in your comments above. I’ve tried 57600, 115200 and other baudrate with the same result.

  • I never saw those lines, maybe because I only managed to serial connect after starting the device the way you explained (I see the power led blinking red and orange quickly). So when I connect to the device, it’s been running for a few seconds.

  • CoolTerm is suppose to handle that for me too yes. There is an option to transform pressing the enter key to a CR+LF
    05
    But I’ll give it a try with the shortcuts you suggested.

My bet is that, as you said, it’s not in a configuration mode. I received the device already configured and ready to be provisioned to a web platform. Mainly trying to see if I could recover the Ids, or change them if I needed to.
I looked around what GlobalSat is doing, and if this device works as their other LoRa board do (like this one ) I probably have to open the device to push a button to activate the configuration mode.
I was reluctant to open the casing, but that might be the way here.

@JGaye Hi. Actually, you do not need to open the LT-100 to configure it. If you’re trying to manually put it in “AT Command Mode” you must send the follow message:

GSC,GlobalSatTR-203,LR*QQ!

Let me know if anyone else has any questions on the LT-100.

2 Likes

Yes ! Thanks a lot @usglobalsat, that did the trick!
Entering your command stops the data flow of the device, and prompts

@_@0 SCPU_TT:GSC,GlobalSatTR-203,LR*QQ!
Command=GSC,GlobalSatTR-203,LR*QQ!
Set PIC Counter 0 hr 0 min 0 sec

After that, I was able to read and edit the OTAA creds with AT commands, then send the
AAT1 Save
AAT1 Reset
I then saw the join request prompted on cool term, and picked up by my gateway.
After that, just needed to restart the device and wait for a bit for its first packets to get picked up by the gateway.
As a side note, it did take a few hours for the LT-100H to pick up a GPS fix and start sending geolocation informations. So if you configure that for the first time and only get lat:0 and lng:0, leave your device running overnight.

In order for the LT-100 to get a GPS fix, it must be outdoors under an open sky. But in most cases, putting it near a window will be good enough.

Glad to hear I was able to help get your LT-100 online!

Hello @usglobalsat do you have the command to enable the message flow ?

I succeed to disable message flow but I am not able to receive any response back when sending AT command to the LT-100E either with Coolterm or RealTerm.

Any idea?
Where to find all the documentation?

Hi
Did you end up developing a decoder that works for this device? If so, please share :slight_smile:

@bolding We worked out a simple one

    function Decoder(bytes) {
var Battery = bytes[2];
var d = (bytes[3]<<24) | (bytes[4] <<16) | (bytes[5]<<8) | (bytes[6]);
var e = (bytes[7]<<24) | (bytes[8] <<16) | (bytes[9]<<8) | (bytes[10]);
var Longitude = parseInt(e) * 0.000001;
var Latitude = parseInt(d) * 0.000001;

return {Battery:Battery,Latitude:Latitude,Longitude:Longitude};

}

2 Likes

https://drive.google.com/drive/folders/1KQM_FuhBAxrEAnKo8kIBFe-1x9f4A423

Here is all about the configuration of this node if someone can send me the link to buy the device on usa

I strugled to configure the device too. In the end I used a terminal from GlobaSat to do it:

But even with this one I had to wait about a minute after sending the LR in GSC mode, before the AT commands would work correctly in Others mode.

Docs and links found here:
https://drive.google.com/drive/folders/0BwZMBLXo7nICNXNBNHVjNThpaU0?usp=sharing

I’ve made an update to the decoder so that the “cached location” when the gps fix failed doesn’t get interpreted as a valid live location.

For reference see Remove GPS coordinates when there is no fix · Issue #233 · TheThingsNetwork/lorawan-devices · GitHub and Infer location from decoded payload and publish location solved by johanstokking · Pull Request #4311 · TheThingsNetwork/lorawan-stack · GitHub.

function Decoder(bytes) {
  if(bytes[0] === 0) {
    /*
    GPS Fix Status Report Type
    Bit6~Bit7 Bit0~Bit5
    00=not fix, 01=2D, 10=3D
    */
    var parsed_payload = {};

    parsed_payload.gps_status = bytes[1]>>6;
    parsed_payload.gps_valid = 1;
    if(parsed_payload.gps_status === 0) {
      parsed_payload.gps_valid = 0;
    }
    
    parsed_payload.message_type_code = bytes[1] & 0x3F;
    parsed_payload.message_type = "Unknown";
    
    switch(parsed_payload.message_type_code) {
      case 2:
        parsed_payload.message_type = "Periodic mode report"
        break;
      case 4:
        parsed_payload.message_type = "Motion mode static report"
        break;
      case 5:
        parsed_payload.message_type = "Motion mode moving report"
        break;
      case 6:
        parsed_payload.message_type = "Motion mode static to moving report"
        break;
      case 7:
        parsed_payload.message_type = "Motion mode moving to static report"
        break;
      case 14:
        parsed_payload.message_type = "Help report"
        break;
      case 15:
        parsed_payload.message_type = "Low battery alarm report"
        break;
      case 17:
        parsed_payload.message_type = "Power on (temperature)"
        break;
      case 19:
        parsed_payload.message_type = "Power off (low battery)"
        break;
      case 20:
        parsed_payload.message_type = "Power off (temperature)"
        break;
      case 24:
        parsed_payload.message_type = "Fall advisory report"
        break;
      case 27:
        parsed_payload.message_type = "Fpending report"
        break;
      default:
        break;
    }
    
    parsed_payload.battery = bytes[2];
    var d = (bytes[3]<<24) | (bytes[4] <<16) | (bytes[5]<<8) | (bytes[6]);
    var e = (bytes[7]<<24) | (bytes[8] <<16) | (bytes[9]<<8) | (bytes[10]);
    var longitude = parseInt(e) * 0.000001;
    var latitude = parseInt(d) * 0.000001;
    
    if(parsed_payload.gps_valid === 1) {
      parsed_payload.latitude = latitude;
      parsed_payload.longitude = longitude;
    } else {
      parsed_payload.cached = {};
      parsed_payload.cached.latitude = latitude;
      parsed_payload.cached.longitude = longitude;
    }

    return parsed_payload;
  }
}

I’ll try and get this decoder into the lorawan-devices repo when I get a chance.

2 Likes

Hello, beyond the URL, do you have any other parameters like the Downlink API key and the Webhook format?