本帖最后由 Mirukuteii 于 2018-6-16 03:48 编辑
【凌空抽射】如何直接传送安卓跟踪信息至HA
【凌空抽射】如何直接传送安卓跟踪信息至HA
Tasker Restful api 安卓 定位 device_tracker.see
某个偶然的起因
好久没上论坛发帖了,最近正好有群友问我安卓手机定位信息如何接入HA并在墨澜地图中显示,然后又在https://bbs.hassbian.com/thread-4038-1-1.html这个帖子的探讨中被@潇洒哥er布置了如何直接处理Tasker传入HA的数据的作业。简单看了看论坛,其实Tasker教程很多,但是详细的教程似乎还是不够多。所以,整理了这个帖子。虽然本帖技术含量并不高,但是应该对不熟悉Tasker以及Restapi的坛友们有所帮助。
来自水果的问候
苹果用户请自行下载iOS官方APP,自带定位接入功能。
需要满足的条件
- 安卓手机1部;
- 从Tasker官网安装相应版本的Tasker;
- 楼主支持作者不会推荐破解版,但是不得不提醒您,正版试用期为7天哦;
- 以后是购买还是换破解版和楼主无关,但是建议新手先把正版玩熟以免发生各种楼主无法预计的问题。
- 安装前可能需要你确认信任其来源;
- 正常情况下,手机不需要root权限;
- 确保手机接入网络并正常通信;
- 确保手机的定位功能已经打开;
- 确保Tasker APP获得定位权限;
- 确保你不是站在一个难以获取GPS信号的地方(地下室、隧道、车库等);
- 确保你的手机不是一台难以获取GPS信号的奇葩机型(某些手机在室内几乎无法获取GPS信息);
- 确保你的手机电量不要太低,可能会影响GPS信号的取值;
- 前置条件包含但不仅限于上述条件,请对照实际情况反复检查;
- 严肃点!这些都是实实在在的坑。
口口相传的神器
- Tasker:
神器!神器!神器!重要的事说3遍。
1个运行在安卓系统上的APP,通过设定配置文件,从而在满足特定条件(Contexts)时,执行指定的任务(Tasks)。
Tasker可以从安卓手机获取底层到应用的各种信息,并可以设定各种你想要执行的任务。
比如:USB拔插时播放音效、插入耳机自动播放歌曲、WIFI接入时自动断开数据连接等功能。
接入Hass的例子:摇一摇手机,灯就打开。
- Restful API:
也是神器!也是神器!也是神器!重要的事还要说3遍。
这里的Restful API是1个运行在Hass上的Web API,可以直接使用。广义的Restful API指的是API的一种类型,REST=Representational State Transfer,如果你无法理解,没关系,用起来就懂了,使用很简单,使用很简单,使用很简单。解释:Hass的Restful API就是1个网络程序接口,你可以直接向Hass的这个接口发送自定的Http消息,从而完成获取信息、执行操作等各种事情。具体内容详见官网文档Restful API使用说明(英文)
比如:让Hass执行开灯的服务从而点亮某盏灯(到时候,还不懂的同学们,你脑袋上的灯也会点亮哦)。
不得不说的原理
- 运行中的Tasker依照配置文件设定,每隔2分钟执行1次定制的任务;
- 第1个操作:Tasker获取手机的GPS定位信息;
- 第2个操作:通过
Restful API ,调用device_tracker.see 服务,直接生成和更新安卓手机的追踪实体。
结束,原理是不是炒鸡简单。
喜闻乐见的解说
|