一个用 C 编写的嵌入式网络库,仅两个文件,提供 TCP/IP 协议栈、TLS 1.3、HTTP、WebSocket、MQTT 与固件 OTA 升级。
owntracks/recorder
轻量级服务,通过 MQTT 或 HTTP 接收并存储 OwnTracks 手机应用上报的位置数据,无需外部数据库。
- Star
- 1,222
- Fork
- 147
- 未关闭 Issue
- 12
- 最近提交
- 11天前
这是什么?
OwnTracks Recorder 订阅 MQTT 服务器的消息,或接收携带 OwnTracks JSON 数据的 HTTP POST 请求,并把位置数据以普通文件的形式写入磁盘。它通过内置的 REST API 和 WebSocket 服务提供数据查询,其中实时地图会在新位置到达时自动更新。
配套的命令行工具 ocat 直接读取存储的数据,可输出 JSON、GeoJSON、CSV、GPX、XML 等格式,并支持按用户、设备和时间范围筛选。逆地理编码可为坐标点补充地址和国家代码,支持 OpenCage、Google 以及本地的 revgeod 服务。
项目使用 C 语言编写,适合在低配置硬件上运行。可通过 Debian 软件包、Docker 镜像安装,也可从源码编译,并支持使用 Lua 脚本进行扩展。
核心功能
- 01通过 MQTT 订阅或 HTTP POST 接收位置数据
- 02数据以普通文件存储,无需外部数据库
- 03内置 REST API 与 WebSocket 实时地图
- 04ocat 工具可导出 JSON、GeoJSON、CSV、GPX、XML 等格式
- 05支持 OpenCage、Google 和 revgeod 逆地理编码
- 06支持 Lua 钩子自定义行为
适用场景
- 在家庭服务器上为自己的 OwnTracks 设备保存私有位置轨迹
- 在本地地图上查看家人手机位置,不把数据交给第三方服务
- 在树莓派等低功耗设备上长期运行
- 将位置历史导出为 GPX 或 CSV 用于分析
快速上手
- 1
从 Docker Hub 拉取 Docker 镜像
docker pull owntracks/recorder - 2
启动 Recorder 并订阅 OwnTracks 主题
./ot-recorder 'owntracks/#' - 3
在浏览器中打开默认地址的 Web 界面
使用前须知
- 预编译包仅支持有限的 Linux 发行版,其他平台需要从源码编译。
- 除非使用 HTTP 模式,否则需要 MQTT 代理(如 Mosquitto)。
- 地图功能需要您自行提供地图 API 密钥。
- 元数据中的许可证信息不明确。
收录于专题
标签
常见问题
- recorder 是什么?
- 轻量级服务,通过 MQTT 或 HTTP 接收并存储 OwnTracks 手机应用上报的位置数据,无需外部数据库。 OwnTracks Recorder 订阅 MQTT 服务器的消息,或接收携带 OwnTracks JSON 数据的 HTTP POST 请求,并把位置数据以普通文件的形式写入磁盘。它通过内置的 REST API 和 WebSocket 服务提供数据查询,其中实时地图会在新位置到达时自动更新。
- recorder 可以免费使用吗?用的什么许可证?
- recorder 以 Other 许可证开源。用于商业产品前,请先确认许可证条款。
- recorder 还在维护吗?
- 活跃维护中。recorder 最近一次提交是在 2026年10月27日。
- recorder 适合用来做什么?
- 在家庭服务器上为自己的 OwnTracks 设备保存私有位置轨迹 在本地地图上查看家人手机位置,不把数据交给第三方服务 在树莓派等低功耗设备上长期运行 将位置历史导出为 GPX 或 CSV 用于分析
- recorder 怎么安装和运行?
- 从 Docker Hub 拉取 Docker 镜像: docker pull owntracks/recorder 启动 Recorder 并订阅 OwnTracks 主题: ./ot-recorder 'owntracks/#' 在浏览器中打开默认地址的 Web 界面
- 在哪里获取 recorder?
- 源代码和安装说明在 GitHub 上:https://github.com/owntracks/recorder
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
自托管的位置时间线工具,将 OwnTracks、Overland 等 GPS 数据转为停留、行程和分析,可替代 Google Timeline。
为 xiaozhi-esp32 ESP32 语音硬件提供后端服务,支持 MQTT+UDP、WebSocket、MCP 接入与声纹识别。
跨平台 C/C++ 网络库,提供事件循环以及 TCP/UDP、SSL、HTTP、WebSocket、MQTT、Redis 客户端与服务端支持。
一个易用的 Rust HTTP 客户端,提供异步与阻塞两种 API,支持 JSON、multipart、代理和 Cookie。
基于 Operational Transformation 的实时 JSON 文档数据库后端,支持多人协同编辑与实时同步。