traccar从零开始到完美使用完全教程

2019年7月7日

1、修复了gt550设备坐标转换不成功的问题,重新下载本文附件,然后导入流,替换掉之前的那个流就可以了。
2、补充了traccar手机客户端添加设备以及坐标转换的教程。

鸣谢

没错,这里字要够大,才能表示我对F大的无以言表的感激之情。

严重感谢Flashsoft大佬,在我搞traccar过程中,遇到艰难险阻,即将彻底放弃之时,F大伸出了援手,助我顺利渡过难关。

对花神同学也得表示感谢,也提供了不少帮助。

我折腾traccar也快一年了,本来早就说要发教程的,但是一忙过去,就给耽误了,其实主要是还是拖延症,和需要交代的工作量实在是太大,有点怵。。。今天看好多群友说需要,那就不能再拖了,今天努力使使劲写写。。。

———————————————————————

言归正传

一. traccar简介

traccar是一个优秀的开源gps服务器平台,支持设备和协议众多(不过貌似国外的设备居多,国内的设备支持的协议绝大多数是gt06和gt02协议),功能完善,具备定位,围栏、警报、短信控制、通知、轨迹追踪等众多功能,提供win、linux以及docker容器多种平台部署,同时,提供web、安卓和ios客户端。最关键的是,hass原生支持traccar,不需要安装任何插件即可接入hass。其实,在traccar出来之前,还有一款老牌开源gps平台——opengts,历史更悠久,但是这货不支持中文语言环境,且界面丑陋,对国内用户不够友好。

traccar官网地址:https://www.traccar.org/

效果展示

二、前置需求
1、受支持的gps设备一台,这里推荐gt06协议的途强GT550,具体购买方式,可去咸鱼搜关键词“途强 OBD车载GPS”,店家地址显示是山东或者青岛那个就是了。店家老板武汉大学高材生,就是学导航专业的,人极好说话,作为老乡,我已跟老板说好了,咱们这些搞智能家居的小伙伴,要高配版(高配版具备远程聆听功能),不要平台不要卡(因为咱们今天就是要自建gps服务平台,所以不需要,卡的话就自配吧,很便宜),99元包邮,绝对白菜价了,超值。。。其他型号的设备,可去这里https://www.traccar.org/devices/自行查阅你手里设备型号是否被支持。

2、服务器一台,可win,可linux,可群晖,可X86,可N1,可树莓派,你喜欢哪个用哪个。

3、具备公网ip或者具备穿透服务。

三、安装部署

traccar可在win、linux以及docker安装部署,这里推荐docker部署,其他部署形式可自行参阅官网说明。
通过群晖web安装的话,可以参考这里,感谢 “简单”同学。
https://bbs.iobroker.cn/t/topic/682/1

1、先在服务器的任意位置新建一个"traccar"目录,traccar目录下再新建一个“logs"目录和“templates”目录。

2、先部署一个拉取初始化配置文件的容器(完成配置文件拉取会自行删除,无需手动删除)

docker run  --rm  --entrypoint cat  traccar/traccar:latest  /opt/traccar/conf/traccar.xml > /$yourself_dir/traccar/traccar.xml

请注意,切勿忘了把

/$yourself_dir/traccar/

请匹配成你自己刚才新建目录的绝对路径

3、正式部署traccar服务器容器。

docker run -d --restart always --name traccar --hostname traccar -p 8082:8082 -p 5023:5023 -p 5023:5023/udp -p 5055:5055 -p 5055:5055/udp -v /$yourself_dir/traccar/traccar/logs:/opt/traccar/logs:rw -v /$yourself_dir/traccar/traccar.xml:/opt/traccar/conf/traccar.xml:ro -v /$yourself_dir/traccar/templates:/opt/traccar/templates/short -e TZ=Asia/Shanghai traccar/traccar:latest

请注意,切勿忘了把

/$yourself_dir/traccar/

请匹配成你自己刚才新建目录的绝对路径

此处有三处需要匹配你自己目录路径的地方

4、访问web,验证是否安装成功。

稍等片刻之后,访问 http://your_ip:8082,如果安装正确的话,就会出现traccar的登陆页面,默认的账号和密码都是 admin , 建议进去更改下密码。

四、针对国内环境作做一些配置

其实,到这里你就已经部署成功了,但是traccar对咱们国内的环境支持存在一些问题,比如百度地图因为ssl的问题无法显示(这个问题,我给traccar团队提交过issue,他们回复的是无法解决),还有traccar默认使用地球坐标,如果使用国内地图的话,就需要将坐标转换成火星坐标,否则会出现不小的偏移,所以需要做一些优化和配置。

**
1、默认地图使用高德瓦片地图**

点击 设置(就是右上角那个小齿轮图标)——服务器,如图所示进行设置。建议 在 设置——账户——个性化设置,里面也设置一下。

自定义地图地址:

[mw_shl_code=applescript,true]https://webrd01.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=8&x={x}&y={y}&z={z}[/mw_shl_code]

然后刷新一下,不出意外的话,应该就会出现你所熟悉的高德地图。

2、在nodered里面进行坐标转换

①、针对GPS设备——途强GT550、谷米爱车安GT02D、谷米爱车安GT06D或者其他任意GT06协议的设备(理论上讲,任意GT06协议的设备都可以支持,但是这两天我测试着某些极个别的设备虽然也是GT06协议,但是某些协议字段存在一定的偏差,所以会出现坐标转换不成功的问题,手里设备有限,所以我只能对上面三种型号设备,确认没问题。
**
a、安装function-npm节点

b、下载附件并解压缩,导入附件里名为"gt06.json"的nodered流

c、此处需要修改两个节点,如果所示。**

这个tcp in节点的端口,可任意修改,但是需要注意的是,你的nodered容器需要开放这个端口,如果你的nodered容器网络模式是host模式的话,那么设置任意端口就可以了,不需要再做其他设置,只要端口不冲突就可以。如果你的nodered容器网络模式是bridge模式的话,那么这里的端口必须得是你的nodered容器已经映射的端口,如果部署容器的时候,没有映射该端口的话,可以停止容器,然后直接编辑,加上该端口映射就可以了,不需要重新部署。

这个tcp request节点的服务器,要改成你自己已经部署好的traccar服务器的ip地址,切记端口不要更改,端口不要更改,端口不要更改。
**
d、在路由器里进行端口映射。请注意,需要映射的host地址是你的nodered地址,端口号是那个tcp in 节点里面的端口号,比如我这里是1882。**

我简述一下工作流程,其实,现在的工作流程是,你的gps设备首先要跟nodered通讯,将数据全部发给了nodered,而nodered起到了一个中转站的作用,先将数据进行坐标转换处理,然后再转发到traccar里面。

**

e、将你的GPS设备服务器设置成你自己的服务器。**

如果是途强GT550设备,那么请给设备内插着的手机卡的号码(这里必须得是手机卡,因为我发现很多gps设备配备的是物联网卡,这种卡不支持短信接收和发送),发送如下格式短信:

SERVER,1,域名,端口,0#

示例 : SERVER,1,gt06.yourdomain.cn,1882,0#

如果设置成功的话,你们你会收到一条设置服务器成功的反馈消息。

f、traccar里面添加设备

点击traccar左上角的 + 号 ,名称随意添,编码一定要添你的gps设备的IMEI串号,一般设备上都会带着。如果设备上查不到的话,也不要紧,假设你的gps设备服务器已经指向了你自己的服务器的话,那么trccar目录里面log文件上会显示一条log,什么什么unknwon之类的,这里就已经给你打印出了你的IMEI串号,复制然后粘贴到traccar就可以了。

**

②、针对traccar手机客户端**

**a、安装function-npm节点

b、下载附件并解压缩,导入附件里名为"mobile_phone.json"的nodered流

c、此处需要修改一个节点,如果所示。**


将function-npm节点里面的domain变量设置为你自己的traccar服务器的内网ip地址,切记,只需要改ip就好,端口号必须是5055,不能更改。

**d、在路由器里进行端口映射。请注意,需要映射的host地址是你的nodered地址,端口号必须得是nodered的web访问端口,如果你用的是默认端口的话,那就是1880端口。

e、设置traccar手机客户端服务器地址。**

服务器地址格式 http://你的域名:1880/traccar123

为了防止跟简单同学的通知推送服务地址冲突,这里的短链接使用了traccar123

其他参数不需要动,还有需要手动打开手机的gps开关,否则不会上传数据。

f、traccar里面添加设备

点击traccar左上角的 + 号 ,名称随意添,编码是你的traccar手机客户端里面的设备编码。

**
五、使用nodered自建traccar的SMS通知服务器,并配合企业微信节点,微信接受任意事件触发通知。**

有的朋友也许会问,为什么不在hass里面发送通知呢?因为hass里面traccar属性不够完善,而且发送通知还要跑hass里面走一圈,虽说效率降级不那么明显吧,但是作为强迫症的我,实在受不了。这样traccar直接对接企业微信节点,高效、舒服。

哈哈哈,本来我要自己的通知推送的教程部分的,但是在拖延症的作用下,一直没填坑,但是突然发现了,简单同学已经写好了,那我就不再重复了,感谢“简单”同学。

直接点链接照着操作就好了。

https://bbs.iobroker.cn/t/topic/682/1
traccar20190708.rar (1.53 KB)

3 个赞

实在太牛逼了
!!!

GT06 数数据漂移修改~!~!就在这下面加拉~!~!:lol~!~!不另开贴了~!~!希望D大不要介意~!~!

修正过后~!~!如下图。

2.jpg

其实很简单,详细不多写了,,就是因为GT06会一个数据包发几个定位数据,对其分别修正定位就好啦~!~!~流~!~!

在D大的基础上加了个ACC状态~!~!~!~!

2019年9月29日 更新,(断电、通电后会发一条报警信息,增加修改报警信息GPS位置修正!!!!)

GT06.RAR (987 Bytes)

1 个赞

配置高德地图后刷新图层出不来,一片空白
搞定了

感谢D大的摸手分享,已近设置好并成功运行,就是自定义地图这块我的traccar里面没有这个选项,导致地图偏移了
搞定了
!

怎么搞定的?求分享,我这两天也在折腾traccar,交流交流

我在群晖安装,我的设置里面没有教程的自定义教程这个地方

卡在哪了?火星地图吗?用的是GPS设备还是手机?我用手机

地图我搞定了,修改traccar的文件,现在已经不飘了,现在完全不知道怎么把gps数据接入到nr里面去

能不能说一下怎么搞定的

地图很简单,替换几个文件就行了,现在关键就是我nr的节点死活接受不到数据

请问一下,如何自建SMS通知服务器呢?可否告知下,谢谢

附件好像都不能下载了

服务器搭好了,想用来追踪手机,不知道HA怎么设置,添加集成里面出现一个网址,不知道干啥用,写了yaml的device追踪也不生效

大佬问一下,按照你的教程一步步做下来,安卓端一直提示发送失败,但是服务器地址改成traccar的IP:端口是可以在traccar上更新位置的,看node-red的log,也一直接收到了坐标数据,请问是怎么回事呢?

奇怪,为何我没有自定义地图的地方呢?

如果接入两个GPS,需要改哪里的设置呢?有一个填入信息后一直显示离线,原来的就正常。

你的问题解决了吗?我也是NR节点没有数据

要把自己设置的具体信息反馈出来
要有每一个步骤的截图,我们才知道你们是哪里出了问题。如果自己偷懒,真的不知道怎么帮忙解决

已经用postman测试过,可以向http://mydomain:myport/traccar123 POST数据,节点已经获取数据,并加工处理后转发给traccar服务器了。现在就是不知道为什么traccar client不向服务器发送数据,这个client也没啥好设置的就是服务器地址填了http://mydomain:myport/traccar123 定位频率 300秒,其他都是默认的。安卓手机也按软件提示开启了常驻后台。不知道问题在哪里了。