title: 30秒找到藏在家里的手机
toc: true
comments: true
date: 2017-01-07 14:02:02
tags: ['Python', 'Automatic', 'Workflow']
category: ['Python']
本文首发地址: http://kingname.info/2017/01/07/findmyphone/ 转载请注明出处
我们都有这样的生活体验
我清清楚楚的记得半个小时前还用手机打了电话,怎么现在手机找不到了?这半个小时我一直在房间里,难道手机还会长翅膀飞走了吗?
如果你有两个手机而且你的手机没有静音,那可以用另一个手机给不见的手机打一个电话。可是如果你的手机静音了呢?有人说可以等到晚上打电话,看家里哪里在发光。那么如果你的手机不仅静音,还屏幕朝下呢?
看了这篇文章以后,只要你的手机在家里,只要手机开机,只要手机可以上网,那么你就可以在30秒以内找到它,不论它是否静音。
根本原理还是让手机播放音乐,我们通过音乐来找到手机。但是在放音乐之前,需要让手机自动解除静音,并将音量调到最大声。
和《如果我提前起床,闹钟你就别响》一样,这一次的任务依然是借助Python语言+ Flask框架 + 安卓上面的自动化程序:Automate来完成。不过,这一次我会把这个工具提供给大家一起使用。
四个网址
本文将会涉及到四个网址:
- 注册你的账号>http://automatic.kingname.info:8888/账号/register
- 获取当前状态>http://automatic.kingname.info:8888/账号
- 让手机在30秒以后放音乐>http://automatic.kingname.info:8888/账号/find
- 停止寻找手机>http://automatic.kingname.info:8888/账号/cancel
注册账号
为了让每个人都能使用这个服务,我开放了账号注册的功能。注册只需要提供用户名即可,不需要密码,不需要邮箱,不需要手机号。注册账号只需要访问http://automatic.kingname.info:8888/账号/register 其中,账号只能使用大小写字母或者数字或者下划线。如果你的账号可以使用,你将会看到如下画面:
就是这么简单。你的账号已经注册成功了,接下来就可以使用服务了。
当然,如果你的账号不巧被别人注册过了,你将会看到如下的提示:
这个时候你需要换一个账号注册。
获得状态
注册完成以后,访问http://automatic.kingname.info:8888/账号, 你可以看到当前的状态,如下图所示:
这句话表示,现在不需要让手机自己叫起来。这个网址是给手机上面的Automate使用的,一般情况下不需要手动输入。
呼叫手机
突然,你发现你的手机不见了。这个时候,赶紧访问http://automatic.kingname.info:8888/账号/find, 如下图所示:
当你访问了这个页面以后,在30秒内,你的手机就会欢快的播放音乐了。各位需要把这个网址保存为书签,方便以后直接使用。
停止呼叫
当你找到了手机,你就需要这个网址:http://automatic.kingname.info:8888/账号/cancel 这个网址一般情况下是给Automate使用的,大家不需要手动输入。
Automate
现在再来看看安卓上面的Automate应该如何配置流程。我已经将文件放在了:Github上面。点击Download按钮即可下载,如下图所示:
下载完成以后,将这个文件放在手机中,打开手机上的Automate,点击右上角的三个竖着的点,选择Import
,如下图所示:
再点击SD card
,如下图所示:
选中刚刚下载的文件,即可导入成功。导入完成以后,打开这个flow, 点击右上角铅笔的图标,可以打开整个流程图:
你需要修改的,只有我画红框的三个方块。
对于这两个HTTP Request,你只需要在REQUEST URL
中,把网址里面的账号修改成你自己的账号。
对于Sound Play这个方块,因为我手机上面的音乐不一定在你手机上也有同样的,所以一定要修改音乐:
点SOUND URI
,选择你一个你喜欢的音乐。
使用
Flow设置完成,点击右上角✓保存,然后点击Start
启动这个Flow。在电脑或者手机浏览器中访问:http://automatic.kingname.info:8888/账号/find 坐等30秒,听一下你的手机相应你的呼唤吧。然后再试一试把手机调成静音,看看它是不是依然可以大声的叫出来~
本文设计到的网页源代码,请访问:https://github.com/kingname/Automatic获取。