30秒找到藏在家里的手机
我们都有这样的生活体验
我清清楚楚的记得半个小时前还用手机打了电话,怎么现在手机找不到了?这半个小时我一直在房间里,难道手机还会长翅膀飞走了吗?
如果你有两个手机而且你的手机没有静音,那可以用另一个手机给不见的手机打一个电话。可是如果你的手机静音了呢?有人说可以等到晚上打电话,看家里哪里在发光。那么如果你的手机不仅静音,还屏幕朝下呢?
看了这篇文章以后,只要你的手机在家里,只要手机开机,只要手机可以上网,那么你就可以在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获取。
- 简单分析shared pool(二) (r3笔记48天)
- Python股票数据分析
- 简单分析shared pool(一) (r3笔记46天)
- 走索引扫描的慢查询(r3笔记45天)
- AR(I)MA时间序列建模过程——步骤和python代码
- 用python作信用卡欺诈预测
- 联系生活来简化sql(r3笔记第43天)
- [笔记]使用Python一步一步地来进行数据分析
- 使用 R 语言从拉勾网看数据挖掘岗位现状
- 使用strace分析exp的奇怪问题(r3笔记第41天)
- Python文本挖掘:知乎网友如何评价《人民的名义》
- 怎样做中文文本的情感分析?
- 由一条日志警告所做的调优分析(r3笔记第40天)
- 生产环境sql语句调优实战第十篇(r3笔记第39天)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法