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
关于配置文件的详细说明,可以看官方文档: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