GPS跟踪系统Traccar

什么是 Traccar ?

Traccar是一个开源的 GPS 跟踪系统。支持 200多种GPS 协议和 2000 多种型号的 GPS 跟踪设备。当然也包括像 iOS/Android 这样的手机设备,手机设备只需要安装Traccar的客户端即可使用。

前文介绍的 Hauk 只支持 Android 客户端,适合个人分享;而 Traccar 的应用范围显然要广泛的多,可以用于车队、出租车管理等行业应用。

准备traccar.xml官方的方法是执行一次容器来获取到缺省的 traccar.xml

第一步、创建工作目录

12345# 新建文件夹 traccar 和 子目录mkdir -p /volume2/docker/traccar/logs# 进入 traccar 目录cd /volume2/docker/traccar

第二步、获取到缺省的 traccar.xml文件

12345docker run \ --rm \ --entrypoint cat \ traccar/traccar:latest \ /opt/traccar/conf/traccar.xml > /opt/traccar/traccar.xml

当然更简单的方法是将下面的内容直接保存为 traccar.xml

1234567891011121314151617181920212223242526 ./conf/default.xml org.h2.Driver jdbc:h2:./data/database sa

关于配置文件的详细说明,可以看官方文档:https://www.traccar.org/configuration-file/

数据库缺省设置中,采用的是 H2 数据库,这是一个用 Java 开发的嵌入式数据库,本身只是一个类库,即只有一个 jar 文件,可以直接嵌入到应用项目中,但并不建议将其用于生产环境。

如果你想改为 MySQL,例如使用群晖自带的 MariaDB,可以参考官方文档:https://www.traccar.org/mysql/,对 traccar.xml文件进行修改。

不过老苏没试过,不确定会不会有问题,所以另外启个 MySQL 容器可能会简单一些;

端口官方提供的安装方法,需要打开端口范围是 5000-5150 ,协议包括 TCP/UDP,这种方法比较省事,但是对我们来说,一方面并没有那么多的设备需要支持,另一方面群晖本身占用了期中的部分端口,比如最常规的 5000,如果启用了 WebDAV Server 的话,可能 5005 也被占用了

所以老苏的建议是按需开端口。打开 https://www.traccar.org/devices/ ,找到你使用的 GPS 设备

如果找不到,可以试试通过协议来识别:https://www.traccar.org/identify-protocol/

但如果你跟老苏一样,只是用移动端 app的话,不另开端口也是可以的

安装在群晖上以 Docker 方式安装。

在注册表中搜索 traccar ,选择第一个 traccar/traccar,版本选择 latest。

本文写作时, latest 版本对应为 5.7;

卷在 docker 文件夹中,创建一个新文件夹 traccar,并在其中建一个子文件夹 logs

文件夹

装载路径

说明

docker/traccar/logs

/opt/traccar/logs

存放日志

docker/traccar/traccar.xml

/opt/traccar/conf/traccar.xml

设置文件

端口本地端口不冲突就行,不确定的话可以用命令查一下

12# 查看端口占用netstat -tunlp | grep 端口号

本地端口

容器端口

8082

8082

默认没有暴露端口

需要自己点 + 号添加

假如你要添加的设备要用到端口 5023,需要同时添加 TCP 和 UDP

命令行安装如果你熟悉命令行,可能用 docker cli 更快捷

12345678910111213141516171819202122232425262728293031323334# 新建文件夹 traccar 和 子目录mkdir -p /volume2/docker/traccar/logs# 进入 traccar 目录cd /volume2/docker/traccar# 获取 traccar.xml 文件docker run \ --rm \ --entrypoint cat \ traccar/traccar:latest \ /opt/traccar/conf/traccar.xml > ./traccar.xml# 根据需要对 traccar.xml 文件进行修改# 运行容器(标准)docker run -d \ --restart unless-stopped \ --name traccar \ -p 8082:8082 \ -p 5000-5150:5000-5150 \ -p 5000-5150:5000-5150/udp \ -v $(pwd)/logs:/opt/traccar/logs \ -v $(pwd)/traccar.xml:/opt/traccar/conf/traccar.xml:ro \ traccar/traccar:latest# 运行容器(只使用手机app)docker run -d \ --restart unless-stopped \ --name traccar \ -p 8082:8082 \ -v $(pwd)/logs:/opt/traccar/logs \ -v $(pwd)/traccar.xml:/opt/traccar/conf/traccar.xml:ro \ traccar/traccar:latest

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

123456789101112version: '3'services: traccar: image: traccar/traccar:latest container_name: traccar restart: unless-stopped ports: - 8082:8082 volumes: - ./logs:/opt/traccar/logs - ./traccar.xml:/opt/traccar/conf/traccar.xml:ro

然后执行下面的命令

12345678910# 新建文件夹 traccar 和 子目录mkdir -p /volume2/docker/traccar/logs# 进入 traccar 目录cd /volume2/docker/traccar# 将 docker-compose.yml 放入当前目录# 一键启动docker-compose up -d

运行在浏览器中输入 http://群晖IP:8082 ,第一次需要注册

注册成功后就可以登录了

设置地图进入 设置 –> 首选项 –> 地图 –> 已选地图

其中红色的地图需要 key,黑色的不需要;

系统默认勾选了 3 种地图,你可以再选择 高德地图,保存后就可以在首页进行切换了

点 +/- 号进行缩放

移动端 app移动端的下载地址:https://www.traccar.org/client/

老苏还是下载的 Android 平台的

打开 app

修改服务器地址

保存后,直接启用 定位服务

注意你的设备编码,添加设备时会用到;

添加设备在 Web 主界面点 +号,添加 注册您的第一台设备

填入名称和设备编号

回到首页后,左侧会有刚添加的设备

地图上也会有设备所在的位置

接下来你可以做跟踪轨迹、设置围栏等操作

参考文档

Traccar地址:https://github.com/traccar/

Source Code - Traccar地址:https://www.traccar.org/source-code/

traccar/traccar-docker: Traccar Docker地址:https://github.com/traccar/traccar-docker