Skip to content

PrintNow/ninebot-monitor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

105 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ninebot Monitor

九号电动车账号绑定与设备监控服务。支持绑定多个九号账号,同步设备列表,并持续采集设备动态信息(电量、预估里程、位置等)

技术栈

  • PHP 8.4 / Laravel 12 & Laravel Octane
  • 认证 php-open-source-saver/jwt-auth(JWT Bearer Token)
  • 数据库 MariaDB / MySQL

项目介绍

本项目是基于九号近期发布的 OpenClaw Skill 里面定义的 API 进行二次加工制作的,不需要内侧资格也能使用 具体不便多讲可以自己研究九号 OpenClaw Skill 吧

九号 API 仅开放了如电量、预估里程、充电状态、车辆开机状态等数据,所以我就此数据设置1 分钟采集一次车辆数据,即可得到:

  • 放电曲线图表 - 在一些新款车型这功能本身就自带了,但是一些老旧车型如 九号 F90M, 九号 M85C, 九号 NzMIX 等等是没有的
  • 充电剩余时间预估 - 锂电池车型几乎标配这个功能,但是铅酸电池似乎是没有预估时间的(至少 M85C, NzMIX)是没有,我是基于电池容量、充电功率、每分钟充入电量再结合一些算法能得到大致的充满时间
首页 账号添加页 骑行记录
screenshoot1.png screenshoot2.png screenshoot3.png

快速开始

Important

  1. 禁止将本项目部署到公网环境中使用(除非你做好了安全访问控制),本项目只是一个供个人研究使用的玩具项目,未做过严格的安性全测试,如果造成任何意外,本人不承担任何责任!
  2. 本项目上手一定的门槛,最低要求是会使用 Docker 和搭建一个 MySQL/Mariadb 数据库;如果你不会建议让你身边的大佬帮你搭建吧!
  3. 本项目有一套账号体系,每个账号绑定的九号账号都是隔离的,搭建好后可以分享给你的朋友使用

有 2 种方式可以运行:

  • 第 1 种是使用 docker compose 开箱即用(主要介绍这种方式)
  • 第 2 种是作为一个独立的 PHP 项目部署使用(需要有 PHP 部署经验)

Docker compose 运行

复制一份 .env 文件

cp .env.example .env

配置必要的 .env 配置

关于 APP_KEY 环境变量的配置: 需要填写一个 32 位数的随机字符串,你可以使用命令 openssl rand -hex 32 来生成 亦或者通过相关工具网站如 https://www.uuidgenerator.net/version4 他是用来加密存储你的账号密码、九号账号密码到数据库上,禁止随意更换,否则无法将无法登录!

# 请填充 32 位字符串
APP_KEY=

# 如果是 mysql 改成 mysql 即可
DB_CONNECTION=mariadb
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=ninebot_monitor
DB_USERNAME=root
DB_PASSWORD=
# 启动项目,会自动建立相关数据表(tables)
docker compose up -d

打开浏览器访问 http://<ip or domain>:26313,然后注册一个账号并登录,即可绑定就好账号采集数据了


运行测试

# 运行全部测试
php artisan test --compact

# 只运行认证相关测试
php artisan test --compact --filter=Auth

# 只运行九号账号/设备相关测试
php artisan test --compact --filter=NinebotAccount

代码格式化

vendor/bin/pint --dirty

License

MIT License

About

基于九号 skill 提供的 API 进行定时采集数据并做出如充电预测、电量消耗曲线

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors