创建文件夹home/pi/charger
使用 Python 软件制作一个新的 Python 脚本。
该项目不是测量电压或电流,而是使用 ADB 包直接从手机获取信息。Android Debug Bridge (ADB) 是一种多功能命令行工具,可让您与模拟器实例或连接的 Android 设备进行通信。它促进了各种设备操作,例如安装和调试应用程序,并提供了一个 Unix shell 的访问权限,您可以使用该 shell 在模拟器或连接的设备上运行各种命令。当手机达到 100% 充电时,Python 脚本获取此信息并使用 GPIO 17 发送信号并使用继电器关闭电源。
电话必须是“ developer mode
”。要将 ADB 与通过 USB 连接的设备一起使用,您必须在设备系统设置中的开发人员选项下启用 USB 调试。
import sched, time
import subprocess
import time
import RPi.GPIO as GPIO
import os
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
GPIO.setup(17,GPIO.OUT)
GPIO.output(17,False)
s = sched.scheduler(time.time, time.sleep)
def do_something(sc):
print ("Doing stuff...")
os.system("adb shell cat /sys/class/power_supply/battery/capacity > curr_batt.txt")
from itertools import islice
with open("full_batt.txt",'r') as myfile:
head = list(islice(myfile, 3))
from itertools import islice
with open("curr_batt.txt",'r') as myfile:
headh = list(islice(myfile, 3))
if headh != head:
os.system("adb shell cat /sys/class/power_supply/battery/capacity > curr_batt.txt")
else:
GPIO.output(17,True)
sc.enter(1, 1, do_something, (sc,))
s.enter(1, 1, do_something, (s,))
s.run()
在同一路径home/pi/charger中创建两个文本文件
1) 文件名full_batt.txt
在文件中输入数据:
100
$ cd bbt
$ nano launcher.sh
输入此脚本:
#!/bin/sh
# launcher.sh
# navigate to home directory, then to this directory, then execute python script, then back home
cd /
cd home/pi/charger
sudo python charger.py
cd /
100
保存!
使启动器脚本成为可执行文件:
$ chmod 755 launcher.sh
$ sh launcher.sh
这将运行您的 Python 代码。
$ cd
$ mkdir logs
$ sudo crontab -e
这将打开一个 Crontab 窗口:
@reboot sh /home/pi/bbt/launcher.sh >/home/pi/logs/cronlog 2>&1
现在连接电线,如图所示:
如果您想通过一些高通快充更快地为手机充电,我们可以从外部电源提供电源,这将保持充电速度。现在只需连接您的智能手机,当智能手机电池充满时它会自动关闭电源。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !