0. 环境
- win10 +虚拟机ubuntu18
- i5 ubuntu22笔记本
- USB-GPS模块一台,比如华大北斗TAU1312-232板
- 双笔记本组网设备:路由器,使得win10笔记本ip:192.168.123.x,而i5笔记本IP是192.168.123.215。
- 安卓 手机
1. 搭建traccar服务
1.0 环境
ubuntu22 + i5笔记本
1.1 安装docker
$ sudo apt remove docker docker-engine docker && \
sudo apt update && \
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common && \
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add - && \
sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" && \
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 7EA0A9C3F273FCD8
$ sudo apt update
$ sudo apt install docker-ce docker-ce-cli containerd.io
$ sudo systemctl status docker
$ sudo systemctl restart docker
$ sudo docker run hello-world
1.2 跟着教程安装docker traccar
1.2.1 Create work directories:
mkdir -p /opt/traccar/logs
1.2.2 Get default traccar.xml:
docker run \
--rm \
--entrypoint cat \
traccar/traccar:latest \
/opt/traccar/conf/traccar.xml > /opt/traccar/traccar.xml
1.2.3 Create container:
docker run \
--name traccar \
--hostname traccar \
--detach --restart unless-stopped \
--publish 80:8082 \
--publish 5000-5150:5000-5150 \
--publish 5000-5150:5000-5150/udp \
--volume /opt/traccar/logs:/opt/traccar/logs:rw \
--volume /opt/traccar/traccar.xml:/opt/traccar/conf/traccar.xml:ro \
traccar/traccar:latest
2. 手机测试效果
安卓手机安装traccar client 。
手机浏览器打开https://www.traccar.org/client/,下载apk后安装。服务器地址改为搭建了traccar服务的i5笔记本ip,默认端口是5055。
电脑登录traccar服务器的web,添加手机设备编码到账户下。
设置完毕后,可以看到手机在线。注意手机和服务器在同一个路由器下。
3. win10笔记本作为客户端
3.0 环境
ubuntu18虚拟机 + gps机
3.1 验证gps
minicom -s 配置ttyUSB0,波特率115200
有数据再进行下一步。
注意:如果没有收到 GPS 数据,可能是权限问题导致的。执行下面命令将当前用户(非 root 用户)添加到 dialout 用户组,然后重启系统后再次尝试。
sudo usermod -a -G dialout $USER
reboot
3.2 apt直接安装gpsd
sudo apt install gpsd gpsd-clients
以 systemd 方式启动 gpsd 服务
sudo systemctl start gpsd
以 systemd 方式停止 gpsd 服务,原因是gpsd默认的配置不正常,不是ttyUSB0
sudo systemctl stop gpsd.socket
查看 gpsd 服务状态
sudo systemctl status gpsd
启动一个新的gpsd实例,该实例将正确的串行端口的数据重定向到套接字:
sudo gpsd /dev/ttyUSB0 -F /var/run/gpsd.sock
启动 cgps 客户端观测数据:
cgps
启动 gpsmon 客户端观测数据:
gpsmon
3.3 获取gpsd-traccar脚本
https://gist.github.com/linuxsocist/55e10998e88f61af9e6ec12c12bbb04e
这是gpsd-traccar.sh内容:
#!/bin/bash
ADDR="192.168.123.215" # Replace with your traccar server address
PORT="5055" # Replace this with the port of your traccar server
ID="1234" # Replace this with your chosen traccar id
UPDATE="5" # Update interval
while [ true ]
do
{ echo "?WATCH={"enable":true}"; sleep 1; echo "?POLL;"; sleep 1; } | telnet 127.0.0.1 2947 2> /dev/null 1> gpsgrab-dump
MODE=$( cat gpsgrab-dump | tail -n 1 | jq -r '.tpv[0] | {mode}' | awk '{print $2}' | head -n 2 | tail -n 1)
TIME=$( cat gpsgrab-dump | tail -n 1 | jq -r '.tpv[0] | {time}' | awk '{print $2}' | head -n 2 | tail -n 1 | cut -c2-25)
LAT=$( cat gpsgrab-dump | tail -n 1 | jq -r '.tpv[0] | {lat}' | awk '{print $2}' | head -n 2 | tail -n 1)
LON=$( cat gpsgrab-dump | tail -n 1 | jq -r '.tpv[0] | {lon}' | awk '{print $2}' | head -n 2 | tail -n 1)
ALT=$( cat gpsgrab-dump | tail -n 1 | jq -r '.tpv[0] | {alt}' | awk '{print $2}' | head -n 2 | tail -n 1)
SPEED=$(cat gpsgrab-dump | tail -n 1 | jq -r '.tpv[0] | {speed}' | awk '{print $2}' | head -n 2 | tail -n 1)
HDOP=$( cat gpsgrab-dump | tail -n 1 | jq -r '.sky[0] | {hdop}' | awk '{print $2}' | head -n 2 | tail -n 1)
DATA="http://"$ADDR":"$PORT"/?id="$ID"&lat={"$LAT"}&lon={"$LON"}×tamp={"$TIME"}&hdop={"$HDOP"}&altitude={"$ALT"}&speed={"$SPEED"}"
curl "$DATA" 2> /dev/null
sleep $UPDATE
done
3.4 运行测试
把IP修改为192.168.123.215为部署了traccar的电脑ip.
运行测试
sudo apt install jd
chmod +x gpsd-traccar.sh
./gpsd-traccar.sh
登录web,看到位置。
traccar带有报表功能,可以查看客户到过的轨迹、地区。
不过docker里面的数据库,如果未经过额外的设置,退出docker后,数据库数据会被清空。
4. 感想
这个服务是占用的端口比较多,昨晚1C2G的服务器也不够我部署用,实际部署占用了i5笔记本2.5G内存。这个应用比较惊艳,用了几个短视频APP都会获取用户的位置数据信息。真的后背有点凉。文章来源:https://www.toymoban.com/news/detail-659189.html
参考:
如何在Raspberry Pi 4中使用GPS接收器模块,https://www.yiboard.com/thread-1381-1-1.html
Install Traccar on DigitalOcean VPS,https://www.traccar.org/install-digitalocean/
Traccar 记录你的足迹,https://zhuanlan.zhihu.com/p/98380567
[进阶教程] traccar从零开始到完美使用完全教程,https://bbs.hassbian.com/thread-7568-1-1.html
traccar从零开始到完美使用完全教程,https://bbs.iobroker.cn/t/topic/772
文章来源地址https://www.toymoban.com/news/detail-659189.html
到了这里,关于基于traccar快捷搭建gps轨迹应用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!