基于traccar快捷搭建gps轨迹应用

这篇具有很好参考价值的文章主要介绍了基于traccar快捷搭建gps轨迹应用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

基于traccar快捷搭建gps轨迹应用,嵌入式Linux,GPS,开源项目,开源软件,物联网

2. 手机测试效果


安卓手机安装traccar client 。
手机浏览器打开https://www.traccar.org/client/,下载apk后安装。服务器地址改为搭建了traccar服务的i5笔记本ip,默认端口是5055。

基于traccar快捷搭建gps轨迹应用,嵌入式Linux,GPS,开源项目,开源软件,物联网基于traccar快捷搭建gps轨迹应用,嵌入式Linux,GPS,开源项目,开源软件,物联网

电脑登录traccar服务器的web,添加手机设备编码到账户下。

基于traccar快捷搭建gps轨迹应用,嵌入式Linux,GPS,开源项目,开源软件,物联网

设置完毕后,可以看到手机在线。注意手机和服务器在同一个路由器下。 

基于traccar快捷搭建gps轨迹应用,嵌入式Linux,GPS,开源项目,开源软件,物联网

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"}&timestamp={"$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快捷搭建gps轨迹应用,嵌入式Linux,GPS,开源项目,开源软件,物联网

traccar带有报表功能,可以查看客户到过的轨迹、地区。

基于traccar快捷搭建gps轨迹应用,嵌入式Linux,GPS,开源项目,开源软件,物联网

不过docker里面的数据库,如果未经过额外的设置,退出docker后,数据库数据会被清空。

4. 感想

这个服务是占用的端口比较多,昨晚1C2G的服务器也不够我部署用,实际部署占用了i5笔记本2.5G内存。这个应用比较惊艳,用了几个短视频APP都会获取用户的位置数据信息。真的后背有点凉。

参考:

如何在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模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【嵌入式系统应用开发】FPGA——基于HC-SR04超声波测距

    硬件 DE2-115 HC-SR04超声波传感器 软件 Quartus 18.1 使用DE2-115开发板驱动HC-SR04模块,并将所测得数据显示到开发板上的数码管。 HC-SR04 超声波测距模块可提供 2cm-400cm的非接触式距离感测功能,测距精度可达高到 3mm;模块包括超声波发射器、接收器与控制电路。图1为 HC-SR04 外观,

    2024年02月08日
    浏览(62)
  • 基于RK3588的嵌入式linux系统开发(一)——开发环境的搭建(SDK解压与本地初始化)

    1、拷贝rk3588的linux-sdk压缩包到工作目录,如下所示: 图1 拷贝rk3588的sdk到工作目录 2、进入sdk目录进行MD5码的计算,并对比md5sum.txt文件内的值,确保压缩包未被修改。 图2 MD5码计算与匹配 3、安装p7zip-full工具,并解压rk3588的sdk压缩包,如下图所示: sudo apt-get install p7zip-full

    2023年04月12日
    浏览(51)
  • 基于ubuntu的STM32嵌入式软件开发(四)——应用软件工程的修改、Makefile及编译脚本的编写

            本文主要介绍基于标准库函数移植的STM32的应用软件工程的修改,主要涉及到文件内容修改、Makefile文件编写、编译脚本编写等内容,其中编译脚本是基于arm-none-eabi-gcc的交叉编译器撰写的。程序亲测可以正常编译,生成.bin和.hex的可烧录镜像文件。 1.首先修改 pr

    2023年04月15日
    浏览(47)
  • AUTOSAR从入门到精通-【应用篇】基于嵌入式实时Linux及AUTOSAR的跨平台技术研究与实现(续)

    目录  RTAR_PLAT平台及跨平台应用的实现 4.1应用接口层的实现 4.2系统匹配层和系统库层实现

    2024年02月10日
    浏览(58)
  • ubuntu20嵌入式开发环境搭建

    安装步骤:省略。 网上有很多教程,不做笔记了。 值得注意的一点:安装时建议选择中文安装,会默认带有中文输入法。 安装Vmware Tools后,可以实现主机跟虚拟机之间的文件拷贝,文本内容的复制粘贴等操作。使用起来更方便。 依次使用下面的命令即可完成安装: sudo ap

    2024年02月19日
    浏览(42)
  • 嵌入式系统——交叉编译概念与环境搭建

      本文属于嵌入式系统的基础知识,主要介绍编译过程和交叉编译。对于基于ARM内核的微处理器移植操作系统,不可避免的需要使用交叉编译。交叉编译指的是不同平台间编译程序代码的操作,不同平台有两方面:(1)不同的操作系统;(2)不同的处理器平台,如ARM和X

    2024年02月10日
    浏览(46)
  • 嵌入式Linux Qt交叉编译环境搭建

    TinkerBoard2主板,BuildRoot根文件系统,package自带的Qt版本为5.14.2,所以安装的版本也是5.14.2 安装的组件看个人需求,我都要了 默认安装路径/opt/Qt5.14.2/ 源码路径/opt/Qt5.14.2/5.14.2/Src/ 安装后选定的打包工具路径/opt/Qt5.14.2/5.14.2/(我的默认有gcc_64和android) 这种方法容易导致version `G

    2024年01月25日
    浏览(53)
  • 出租车GPS轨迹数据分析

    •使用numpy、pandas等完成“00.csv”文件读取; •剔除无效数据:GPS 采集出租车轨迹数据的过程中,可能因设备问题 导致数据没有采集到,故而在原始轨迹数据集中记录为空值。因此,需 要将每个采样点中有效字段为空值的数据进行剔除,即剔除 DeviceID、 Longitude、Latitude、

    2024年02月04日
    浏览(48)
  • STM32开发环境搭建&工程创建(嵌入式学习)

    简介 STM32CubeMX是STMicroelectronics公司提供的一款集成开发环境(IDE)工具,用于快速配置和初始化STM32微控制器系列的软件工程。它提供了图形化界面和交互式工具,使开发者能够轻松地生成STM32微控制器的初始化代码和配置文件。 STM32CubeMX具有以下主要功能和特点: 微控制器

    2024年02月11日
    浏览(74)
  • DMA详解及应用(嵌入式学习)

    DMA(Direct Memory Access,直接内存访问)是一种计算机系统中用于高效地实现数据传输的技术。它允许数据在外设和内存之间直接传输,而无需CPU的干预和数据复制。 传统上,在计算机系统中,外设(如硬盘、网络适配器、音频设备等)与内存之间的数据传输通常需要通过CPU进

    2024年02月04日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包