Skip to the content.

前置信息

《穿越火线》是一款”挖矿”游戏。

而我恰巧有一台闲置的低配电脑,能成为”无尽矿场”的小矿主

为此购买了一个向日葵插座,用来查看用电量和重启蓝屏的电脑

利用javascript实现对电脑状态监控,并发送预警邮件和手机短信



遇到的问题

“挖矿”过程中会出现网络抖动,游戏就会掉线

需要一个监视预警“系统”,来给我抛出异常



解决方案


方案

解决方案我有想过很多种

比如在 PC 端运行一个软件

监控电脑是否有操作,或者画面是否有变化

分析下来,目前而言可行性太低,限制太多

这个过程越简单越好


向日葵硬件

向日葵插座通过 WIFI 上报当前用电信息

通过抓包可以取得电流、功率等一些信息

经测试:这些接口都没加密、支持跨域

由此我可以利用 javascript 实现一个简易版本的监控


设想逻辑

抓包所取得的向日葵接口中,有两个有用的信息

分别是当前电流当前功率

我可以通过轮询监控电脑的电流和功率的变化,来知晓当前计算机的运行状态

当电流和功率大于或小于某个设定的阈值,则向我发送报警信息

业务逻辑需要根据具体情况调优


观测接口

从接口中分别观测

根据观测和记录的数据分析后得到如下结论

挖矿时电流和功率是最高的


快速迭代

为了方便和快速开发

该”预计系统”是通过 HTML 和 javascript 编写

通过 jquery 的 AJAX 发送请求获取当前用电信息

HTML 展示当前的电流和功率

当电流和功率低于阈值时,发送邮件预警


邮件预警

在网上调研到可以通过第三方 SMTP 服务,完成发送邮件的动作

通过 JS 库完成邮件服务


短信通知

移动 139 邮箱可设置免费短信通知

当有一封新邮件时,移动会发送短信给绑定邮件手机号



最后

至此,本地运行一个网页

通过多个第三服务完成对电脑的监控

监控服务可以是多样的,如 Java,Node

但 Javascript 是最方便最快速的



姊妹篇