How to get GPRS data instead of via SMS

Wulfrun Lorensen4 years ago

Dear Traccars,

I (think) I have done everything to set up GPRS on my device via text, but issuing SMS where/G123456# commands still returns position via SMS. I'd like to get position updates via my Traccar instance over GPRS rather than paying for texts.

My tracker is the waterproof LK 106, a lozenge shaped tracker with a non-standard USB charger (the end that connects to the tracker is like a plate that slides underneath the clip on the unit).

Here's what I've done:

  • Originally, Check123456 returned an IP address of 101.1.16.228, port 7700 - Hong Kong, of which the specified server IP is no longer 'alive'. So I assumed this was where the device would post GPRS data to; I realised that I needed to point this to my public-facing server (next bullet);
  • Set up a public-facing Traccar instance on (default) port 8082 - I can post curl commands such as curl --data "id=Test01&lat=53.40150&lon=-002.59469" http://[my-public-ip]:8082 so I know that all works;
  • From my phone, issued the following (successful i.e. report ok results) commands: apn[password] [name], apnuser[password] [name], apnpasswd[password] [name], gprs[password], adminip[password] [my-public-ip] 8082;
  • Issued the following (successful) commands from my phone: G[password]#, Where, T030s005t[password] and I always get SMS messages back to my phone.

When I run Check[password] it show all the correct settings - APN data, public IP, port.

Now, what I am confused about is that the units have some kind of port associated with them. I've read:

... but am not entirely sure exactly where these ports come in to play. Should I have set my server up to have one of those ports? That is, instead of running on port 8082 (web instance) set it up on port 5013, for example? I've also searched these forums but could not really find out what I am doing wrong.

I think I've read all the documentation, but clearly am missing something here. I was hoping I'd get HTTP POST requests to my server, although the logs are not showing any activity; and I know that by using curl to mimic a POST, it is working.

So if I issue adminip and specify a port, what is the point of the Chinese clone ports? Should I be issuing a different command from my phone? Or should I not be using my phone at all? Do I explicitly need to set up a device in the UI? I didn't think that would have been necessary. All help appreciated.

A Java developer for over two decades, please feel free to be as technical as you like!

Best,

Wulfrun

PS Hats off to the developers of this project. I downloaded the source, built it and had it up and running with my SQL server in less than 30 minutes of finding out about this project. I'd love to follow this project on git if I can contribute. Well done, Traccars!

Wulfrun Lorensen4 years ago

By the way, one other thing - after I did some debugging, Status reports GPRS: 0 which I assume means no GPRS?

From this link: https://archive-forum.gps-trace.com/en/topic/31314-lk106-is-not-sending-gprs-data-at-all/, I also issued:

Run, 60

which replied:

OK!acc on GPRS Reptime: 0S

... Though I don't know what that means. Upload[password] 60 reports upload ok, but Status is still showing GPRS: 0.

I've checked all the APN settings, but still no results.

Any ideas?

Wulfrun Lorensen4 years ago

Wow - I fixed it. I must have missed something in the documentation.

As well as your (default) port 8082 of your Traccar server, you also need to open up/port forward for the port that the device posts to, see here: https://www.traccar.org/devices/. So you need to find the port that your unit reports to.

So my mistake was running

Adminip123456 [my-public-ip] 8082

... Which was remedied by changing it to:

Adminip123456 [my-public-ip] 5013

Mine was an LK 106, so I opened up that port on my sever - so now, 8082 and 5013 both point to my server online.

Make sure that when you issue your Adminip command, you use your public IP server address but with the port for your tracker (in my case 5013), not the port of your Traccar server, as stated above.

Running Linux, I figured this out because when Traccar was running, I noticed that when I ran sudo lsof -i:5013, the output was:

COMMAND   PID USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
java    32493 wulf  314u  IPv6 6164960      0t0  TCP *:5013 (LISTEN)
java    32493 wulf  315u  IPv6 6164961      0t0  UDP *:5013

... and when Traccar wasn't running, the ports were shut down. In fact, all the ports listed in the above URL are open when Traccar is running.

Now, all I need to do is find a reason to get involved and commit some code to the project...

Wulfrun Lorensen4 years ago

One last thing.

In order to get position updates via GPRS without getting SMS messages, text Upload[password] [seconds] to your tracker. I think there's a bounded range like 30 - 180 on this.

So by running Upload123456 30 I get GPRS position updates every ~30 seconds or so; no need to issue G123456# or Where commands any more and save some money on texts!

Aakansha2 years ago

Can You explain more about this GPRS setup which you did
I mean I don't know that much about this but How could I setup GPRS to GPS device for notifications