用于控制neato-pybotvac连接真空机器人的python包
pybotvac的Python项目详细描述
Pybotvac
这是一个非官方的api,用于控制neato-botvac连接的真空机器人。 代码基于https://github.com/kangguru/botvac和api所使用的逆向工程。 Lars Brillert @kangguru
免责声明
这个api是实验性的。使用风险自负。如果事情不顺利,请随时作出贡献。
安装
使用pip安装
pip install pybotvac
或者,克隆存储库并运行
python setup.py install
用法
机器人
如果您的机器人的序列号和密码已知,只需运行
>>> from pybotvac import Robot
>>> robot = Robot('OPS01234-0123456789AB', '0123456789ABCDEF0123456789ABCDEF', 'my_robot_name')
>>> print(robot)
Name: sample_robot, Serial: OPS01234-0123456789AB, Secret: 0123456789ABCDEF0123456789ABCDEF
序列号的格式应为“opsxxx-xxxxxxxxxxx”,密钥应为32个字符的十六进制字符串。 这些可以通过使用account类找到。
开始清洁
robot.start_cleaning()
如果没有发生异常,您的机器人现在应该开始工作了。
目前robot类中提供了以下方法:
- 获取机器人状态()
- 开始清洗()
- 开始现场清洁()
- 暂停清洗()
- 停止清洗()
- 发送_到_base()
- 启用_schedule()
- 禁用_schedule()
- 获取日程安排()
为方便起见,状态和进度表存在属性
# Get state
state = robot.state
# Check if schedule is enabled
robot.schedule_enabled
# Disable schedule
robot.schedule_enabled = False
账户
如果序列和机密未知,则可以使用Account类检索它们。
>>> from pybotvac import Account
>>> # List all robots associated with account
>>> for robot in Account('sample@email.com', 'sample_password').robots:
print(robot)
Name: my_robot_name, Serial: OPS01234-0123456789AB, Secret: 0123456789ABCDEF0123456789ABCDEF, Traits: ['maps']
有关地图和地图下载的信息可以从Account类中完成:
>>> from pybotvac import Account
>>> # List all maps associated with a specific robot
>>> for map_info in Account('sample@email.com', 'sample_password').maps:
print(map_info)
可以使用account类下载清理映射。返回原始图像响应。示例显示了最新的地图。 您需要地图输出中的url来执行此操作:
>>> from pybotvac import Account
>>> # List all maps associated with a specific robot
>>> map = Account('sample@email.com', 'sample_password').maps
>>> download_link = map['robot_serial']['maps'][0]['url']
Account('sample@email.com', 'sample_password').get_map_image('download_link')