用于控制某些机器人真空的库

sucks的Python项目详细描述


一个简单的命令行python脚本来驱动机器人吸尘器。目前 已知与Ecovas Deebot N79、M80 Pro、M81、M88 Pro和 来自北美和欧洲的R95 MKII。

这对你的模特也有用吗?加入讨论 sucks-users mailing list

如果你对协议感兴趣,我有a rough doc 起动。我很乐意接受请求。

为什么是项目名称?好吧,a)我需要 自己的吸尘器。这不是我报名的未来。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点,它可能会做些什么。4天内 7、自动清洗15分钟。14天中有一天 做10分钟磨边。在那之后,它将永远回到充电状态。

库使用

欢迎您尝试将其用作其他工作的python库。 api仍处于试验阶段,因此需要进行更改。请加入 mailing list 参与塑造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

开发

如果你想参与开发,我建议你看看 代码,设置虚拟环境,并在中安装此包 可编辑模式。您可以通过运行 测验。请加入mailing list讨论 你的计划。

有关详细信息,请参见the development documentation

另请参见

现在在 JavascriptGo

谢谢

我衷心感谢:

  • xmpppeek, 一个用于检查xmpp流量的伟大库(是的,您的真空 说话刺耳!),
  • mitmproxy,一个很棒的工具 分析https,
  • click,一个非常完整的 制作python命令行界面的深思熟虑的库,
  • requests,抛光的 用于http请求的python库,
  • Decompilers online,其中 非常有助于了解Android应用程序的功能,
  • Albert Louw,他很友好,可以从his own experiments发代码 和
  • 所有提供有用反馈和贡献代码的用户!

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java日期格式的月和日的固定长度?   无法将java ArrayList<String>转换为字符串。   java当我使用log4j 1.2.15时,编译时出现错误;当更改为1.2.16时,一切正常   java如何使用ArgumentMatchers将任何队列告知Mockito?   如何解决“java”。Java电子邮件API中的lang.ExceptionInInitializerError   java是实例化对象名并设置其值的通用方法   java在多线程环境中,如果一个线程崩溃,如何关闭JVM?   java WebDriverManager在selenium中获取不正确版本的驱动程序   如果JAVA中后减量的优先级高于前增量,那么为什么下面的代码输出为22.0而不是20.0。?   在hibernate中找不到java属性   当我用java运行调度程序时,什么都没有发生   jackson如何在java中从数据库中检索json对象   java安卓:如何在自定义适配器中设置侦听器并获取imagebutton单击的位置   java MySQLIntegrityConstraintViolationException:列“问题id”不能为空错误   JavaSpring自定义注销过滤器在注销前执行一些操作?   java如何返回常量集合   java使用subselect进行一对多分页   java二进制搜索基础。陷入无限循环