内容简介:看到网上有人说,备用机长时间插在电源上会导致电池鼓包,虽然不确定真假,但还是“宁可信其有,不可信其无”,安全第一嘛。tasker在电量变化时通知单片机当前电量,单片机收到手机发来的http post包后查看当前电量,并决定是否操作继电器。例如,当点量小于35时启动充电,等于100时关闭充电,36~99时不进行任何操作。在tasker上新建一个电量变化配置文件。
起因
看到网上有人说,备用机长时间插在电源上会导致电池鼓包,虽然不确定真假,但还是“宁可信其有,不可信其无”,安全第一嘛。
工具
- tasker
- esp8266开发板
- 带光耦的继电器
- usb公头,母头,线材若干
- 电烙铁(非必需,如果直接截断一根usb线接到继电器上的话,4也可以省了)
操作
基本流程
tasker在电量变化时通知单片机当前电量,单片机收到手机发来的http post包后查看当前电量,并决定是否操作继电器。例如,当点量小于35时启动充电,等于100时关闭充电,36~99时不进行任何操作。
tasker
在tasker上新建一个电量变化配置文件。
并在电量变化时将当前电量发送至esp8266(或者发送至自己的物联网服务器,再由该服务器控制继电器以实现更复杂的功能。物联网部分今后有系列文章详细介绍),可参考这篇博客 《Android手机使用Tasker转发短信及来电》
esp8266+光耦继电器
大致效果如图。简单来说就是把继电器的vcc,gnd,sig连接至开发板的Vusb,GND,一个gpio口。之后将usb充电线的vcc线截断,连接至继电器的常开端(为了,省电)
备注:关于光耦继电器
esp8266的gpio是3.3v,但常见的arduino继电器模块是5V的,部分模块可能无法正常使用。采用光耦继电器可以避免因为电平不匹配带来的麻烦。
arduino
这里使用arduino来编写esp8266的代码。只贴出处理函数,其它支持代码(如,连接wifi,启动web服务器,gpio初始化)略。
server.on("/auto", [](){ digitalWrite(led, 0); for (uint8_t i=0; i<server.args(); i++){ if (server.argName(i) == "battery"){ //当电量<35时,继电器对应的引脚写1,启动继电器 if(server.arg(i).toInt() < 35){ digitalWrite(PIN, 1); } //当电量=100时,继电器对应的引脚写0,关闭继电器 if(server.arg(i).toInt() == 100){ digitalWrite(PIN, 0); } } } digitalWrite(led, 1); server.send(200, "text/plain", "auto"); });
ESP8266 可以使用 lua 编写,不过我个人对它不熟所以用了相对熟悉的arduino
其它思路
- Tasker中可以实现对应电量触发不同任务,给继电器直接下达开/关命令。我并没有采用这种思路,原因见2
- Tasker将电池电量送至物联网服务器,由物联网服务器来控制继电器开关。最初设计为该思路,但物联网服务器没写完,故只能将这部分功能转移到单片机上实现
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 假期充电 Day 3 —— Lodash 中文文档
- 飞哥学习篇:这样利用工作以外的时间给自己充电
- 亿级数据下灵活快速查询,充电桩市场霸主如何做?
- 索尼公司宣布中国地区召回不达标充电宝:免费换新
- 【安全帮】手机充电时自动订总统套房,真的是被植入后门了吗?
- 施耐德修复旗下电动汽车充电桩EVLink Parking严重安全漏洞
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
ASP.NET 4高级程序设计(第4版)
Matthew MacDonald / 博思工作室 / 人民邮电出版社 / 2011-6 / 148.00元
《ASP.NET 4高级程序设计(第4版)》,本书是ASP.NET领域的鸿篇巨制,全面讲解了ASP.NET4的各种特性及其背后的工作原理,并给出了许多针对如何构建复杂、可扩展的网站从实践中得出的建议。一起来看看 《ASP.NET 4高级程序设计(第4版)》 这本书的介绍吧!