找回密码
 立即注册

微信扫码登录

搜索
查看: 65284|回复: 49

[经验分享] 【GPS定位】使用 Tasker 替代 GPSLogger

  [复制链接]

5

主题

204

回帖

2022

积分

金牌会员

积分
2022
金钱
1803
HASS币
45
发表于 2018-1-2 15:39:31 | 显示全部楼层 |阅读模式
背景:一直想买个GPS定位器放在车上,图个放心。上淘宝一搜,有太多太多的牌子,型号也不少,带卡不带卡,多星定位等,甚至还有远程拾音功能,可谓防盗防小三一应俱全。但由于最近玩上HASS,所以希望将定位信息也接入到HASS中,方便查看。其实HASS已经有一个方案就是 GPSLogger,但是本人的安卓手机已经安装有神器 Tasker ,这么简单的将定位信息上报服务器,没必要再装一个软件,Tasker 完全可以实现。

需要:
旧安卓手机,可以买一张小米任我行卡(联通),取消来电显示就等于0月租卡,1毛钱1m流量,只是用来上报定位数据,耗不了多少流量(前提是你要将其他app禁网)
Tasker (安卓神器)
调整 GPSLogger 组件源码

实现:
根据HASS- GPSLogger  组件要求:
http://[IP address Home Assistant]:[Port]/api/gpslogger?   latitude=%LAT&longitude=%LON&device=%SER&accuracy=%ACC   &battery=%BATT&speed=%SPD&direction=%DIR   &altitude=%ALT&provider=%PROV&activity=%ACT
上传的数据包含这些,看了源码,其实只要有[size=1em]device、[size=1em]latitude、[size=1em]longitude 就够了,其他信息仅作为补充。

Tasker:新建时间触发,每两分钟提交一次数据,新建任务——http get 填写下面信息
【服务器:端口】
https://xxxx:8123
【路径】
/api/gpslogger?gps=%LOC&device=my_car&accuracy=%LOCACC&battery=%BATT&speed=%LOCSPD&altitude=%LOCALT&provider=gps&api_password=你的密码

根据你的实际情况更改黑体部分就可以了。

稍微调整组件源码:另存为一份代码放到  custom_ components/device_tracker/gpsloggerSelf.py
configuration.yaml 下添加:

device_tracker:
  - platform: gpsloggerSelf

TIM截图20180102152752.png

gpsloggerSelf.zip

1.43 KB, 下载次数: 336

评分

参与人数 3金钱 +29 收起 理由
zin + 5 纳尼,还有这种操作?简单好操作.
+ 12 看标题风格还以为L大满血复活了呢!.
lidicn + 12 谢谢分享!

查看全部评分

回复

使用道具 举报

5

主题

204

回帖

2022

积分

金牌会员

积分
2022
金钱
1803
HASS币
45
 楼主| 发表于 2018-1-3 20:35:54 | 显示全部楼层
cfsjddd 发表于 2018-1-2 23:01
你好,请问为什么Tasker里面提示错误,输入/输出错误, invalid %sequence:%LO in query at index 47,然后 ...

你填写的路径是什么?
回复

使用道具 举报

5

主题

204

回帖

2022

积分

金牌会员

积分
2022
金钱
1803
HASS币
45
 楼主| 发表于 2018-1-11 21:09:01 | 显示全部楼层
令狐鸣 发表于 2018-1-11 13:49
测试成功,突然感觉这样用tasker可玩的东西太多了.
改改py文件,可以传递手机很多信息,在做一些传感器什么的. ...

对的,其他设备只要有调用http的能力,都能通过同一接口上传设备状态,比如电量
回复

使用道具 举报

5

主题

204

回帖

2022

积分

金牌会员

积分
2022
金钱
1803
HASS币
45
 楼主| 发表于 2018-1-18 08:08:24 | 显示全部楼层
nuaawmy 发表于 2018-1-17 20:38
这需要外网访问吗

当然了     
回复

使用道具 举报

5

主题

204

回帖

2022

积分

金牌会员

积分
2022
金钱
1803
HASS币
45
 楼主| 发表于 2018-1-20 08:09:03 | 显示全部楼层

看不清楚,tasker可以手动执行任务,如果报错,会有详细信息的,试试看。
回复

使用道具 举报

5

主题

204

回帖

2022

积分

金牌会员

积分
2022
金钱
1803
HASS币
45
 楼主| 发表于 2018-6-11 10:51:18 | 显示全部楼层
goldstep 发表于 2018-6-11 01:31
按你的在手机上设置好以后, 运行,直接报错

错误信息截图,帮忙看看

只保留device、latitude、longitude、api_password  试试,这应该是部分变量无效。
回复

使用道具 举报

5

主题

204

回帖

2022

积分

金牌会员

积分
2022
金钱
1803
HASS币
45
 楼主| 发表于 2018-6-12 08:04:58 | 显示全部楼层
goldstep 发表于 2018-6-11 17:48
我想在路径里面加两个变量:分别是获取日期和时间,能加吗?
谢谢

能加,原理是一样的,你能看懂代码,参考着修改就行,就是接收参数的问题而已。
回复

使用道具 举报

5

主题

204

回帖

2022

积分

金牌会员

积分
2022
金钱
1803
HASS币
45
 楼主| 发表于 2018-6-12 08:06:09 | 显示全部楼层
goldstep 发表于 2018-6-12 00:46
是不是有缺陷啊, 运行一次后,经常会报错

获取位置先选择从“网络”获取测试,另外请确认一下tasker有gps等权限
回复

使用道具 举报

5

主题

204

回帖

2022

积分

金牌会员

积分
2022
金钱
1803
HASS币
45
 楼主| 发表于 2018-11-3 19:50:10 | 显示全部楼层
淘子 发表于 2018-11-3 12:53
解决了。换成这个就能收到数据。
/api/gpslogger?gps=%LOCN&device=设备名&battery=%BATT&provider=gps&api ...

厉害,能自己找到问题
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian ( 晋ICP备17001384号-1 )

GMT+8, 2025-8-19 02:56 , Processed in 0.070733 second(s), 8 queries , MemCached On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表