一个用于控制某些吸尘机器人的废弃库
项目描述
注意:前方是废弃软件
截至2020年3月,该项目不再是活跃项目。我的Ecovacs吸尘机器人已经损坏,并已被Roomba取代。这意味着我无法看到代码更改是否工作,因此我甚至无法有效地批准补丁。到目前为止,没有人同意接管它。如果您有兴趣这样做,请加入邮件列表并在那里讨论。
概览
一个简单的命令行Python脚本来驱动吸尘机器人。目前已知与来自北美和欧洲的Ecovacs Deebot N79、M80 Pro、M81、M88 Pro和R95 MKII兼容。
它对您的型号也有效吗?加入sucks-users邮件列表的讨论。
如果您对协议感兴趣,我已经开始了一个粗略文档。我乐于接受对该文档的pull请求。
项目名称的由来?嗯,a) 我需要MITM自己的吸尘器真是太荒谬了。这不是我签署的未来。b) 这是一个吸尘器。
安装
如果您安装了最新版本的Python 3,应该可以使用pip install sucks命令来获取最新版本。
使用方法
要开始使用,您需要使用智能手机设置一个EcoVacs账户。
准备好后,第一步是登录
% sucks login Ecovacs app email: [your email] Ecovacs app password: [your password] your two-letter country code: us your two-letter continent code: na Config saved.
这将在平台合适的位置创建一个配置文件。密码在保存前会被加密,因此相对安全。(如果对您的洲不起作用,请尝试“ww”,这是他们的全球通用名称。)
设置好后,您可以将其设置为自动清洁10分钟后返回充电器
% sucks clean 10
您也可以让它清洁15分钟,然后额外进行10分钟的边缘清洁
% sucks clean 15 edge 10
如果您希望它清洁5分钟后停止充电
% sucks clean 5 stop
如果它失控了,您只想让它停在原地
% sucks stop
告诉它去充电
% sucks charge
我用crontab运行我的程序,但我不想每天都清洁,所以它还有一个基于您提供的频率随机决定是否运行的模式。我的crontab条目如下
0 10 * * * /home/william/projects/sucks/sucks.sh clean -f 4/7 15 edge -f 1/14 10
这意味着每天上午10点,它可能会做些什么。7天中有4天会进行15分钟的自动清洁。14天中有1天会进行10分钟的边缘清洁。然后它总是会返回充电。
库使用
您可以使用此作为Python库在其他项目中使用。API仍然是实验性的,所以请期待变化。请加入邮件列表以参与API的构建。
简单的使用可能如下所示
import sucks config = ... api = EcoVacsAPI(config['device_id'], config['email'], config['password_hash'], config['country'], config['continent']) my_vac = api.devices()[0] vacbot = VacBot(api.uid, api.REALM, api.resource, api.user_access_token, my_vac, config['continent']) vacbot.connect_and_wait_until_ready() vacbot.run(Clean()) # start cleaning time.sleep(900) # clean for 15 minutes vacbot.run(Charge()) # return to the charger
开发
如果您想参与开发,我建议查看代码,设置虚拟环境,并以可编辑模式安装此包。您可以通过运行测试来确认您的环境是否正常工作。并请加入邮件列表来讨论您的计划。
更多信息请参阅开发文档。
另请参阅
现在还有类似库在JavaScript和Go中。
感谢
我衷心感谢
项目详情
下载文件
下载适合您平台的文件。如果您不确定该选择哪个,请了解更多关于 安装包 的信息。