Logo

dorita980: 非官方iRobot Roomba控制库的全面指南

dorita980

dorita980: 非官方iRobot Roomba控制库的全面指南

dorita980是一个强大的Node.js库,为iRobot Roomba系列扫地机器人提供了非官方的控制接口。无论你是想要将Roomba集成到自己的智能家居项目中,还是只是想更灵活地控制你的机器人,dorita980都能满足你的需求。本文将全面介绍dorita980的各项功能及其使用方法。

1. dorita980简介

dorita980是一个非官方的开源项目,旨在为iRobot Roomba系列扫地机器人提供一个Node.js SDK。它支持多种Roomba型号,包括i7/i7+、980、960、e5、690、675等。通过dorita980,你可以:

  • 通过本地网络或iRobot云API发送控制指令
  • 获取机器人的各种状态信息
  • 设置清扫偏好和定时任务
  • 实时监控清扫任务进度
  • 绘制清扫地图(部分支持位置报告的型号)

值得注意的是,dorita980是一个非官方项目,因此使用时需要注意以下几点:

  1. 建议阻止机器人的互联网访问,以避免固件自动更新可能导致的兼容性问题。
  2. 在使用新固件版本之前,请先确认dorita980是否兼容。
  3. 如果你的机器人固件版本是1.6.x,请参考旧版文档。

2. 安装dorita980

安装dorita980非常简单,只需要通过npm执行以下命令:

npm install dorita980 --save

3. 获取机器人的身份认证信息

在使用dorita980之前,你需要获取机器人的blid(用户名)和密码。dorita980提供了多种方法来获取这些信息:

方法1: 使用云API(推荐)

  1. 全局安装dorita980:

    npm install -g dorita980
    
  2. 运行获取密码的命令:

    get-roomba-password-cloud <iRobot用户名> <iRobot密码> [可选的API密钥]
    

方法2: 使用本地网络(仅适用于旧版固件)

  1. 找到机器人的IP地址(可以通过路由器或网络扫描工具获取)
  2. 运行以下命令:
    get-roomba-password <机器人IP地址>
    

获取到的信息会类似这样:

Robot "Dorita" (sku: R98---- SoftwareVer: v2.4.16-126):
BLID=> xxxxxxxxxxxxx
Password=> :1:1486937829:gktkDoYpWaDxCfGh

请保存好这些信息,后续使用dorita980时会用到。

4. 使用dorita980控制Roomba

4.1 基本用法

以下是一个简单的例子,展示如何使用dorita980通过本地网络连接并控制你的Roomba:

const dorita980 = require('dorita980');

const myRobotViaLocal = new dorita980.Local('MyUsernameBlid', 'MyPassword', '192.168.1.104');

myRobotViaLocal.on('connect', () => {
  myRobotViaLocal.clean()
    .then(() => myRobotViaLocal.end())
    .catch(console.log);
});

这段代码会连接到你的Roomba,发送清扫命令,然后断开连接。

4.2 获取机器人状态

dorita980提供了多种方法来获取机器人的状态信息:

myRobotViaLocal.getRobotState(['batPct', 'bbchg3'])
  .then((state) => {
    console.log('电池电量:', state.batPct);
    console.log('充电信息:', state.bbchg3);
  });

4.3 设置清扫偏好

你可以轻松地更改机器人的清扫偏好:

myRobotViaLocal.setCarpetBoostAuto()
  .then(() => console.log('已设置自动地毯增强模式'));

myRobotViaLocal.setEdgeCleanOn()
  .then(() => console.log('已开启边缘清扫'));

4.4 定时任务

设置每周清扫计划也很简单:

const newWeek = {
  cycle: ["none","start","start","start","start","start","start"],
  h: [10,10,10,10,10,10,10],
  m: [30,30,30,30,30,30,30]
};

myRobotViaLocal.setWeek(newWeek)
  .then(() => console.log('已设置新的每周清扫计划'));

5. 高级功能

5.1 实时地图绘制

对于支持位置报告的型号,你可以利用mission事件来实时绘制清扫地图:

myRobotViaLocal.on('mission', (data) => {
  console.log('当前位置:', data.pose);
  console.log('清扫状态:', data.cleanMissionStatus);
  // 这里可以添加绘制地图的逻辑
});

5.2 自定义MQTT命令

如果你想尝试一些未文档化的功能,可以使用publish方法发送原始MQTT命令:

const myCommand = {
  command: 'clean', 
  time: Date.now() / 1000 | 0, 
  initiator: 'localApp'
};

myRobotViaLocal.publish('cmd', JSON.stringify(myCommand), (err) => {
  if(err) console.log('错误:', err);
});

6. 注意事项和最佳实践

  1. 连接管理: Roomba一次只能建立一个本地连接。使用完dorita980后,记得调用end()方法断开连接,以便官方app可以通过本地网络连接。

  2. 错误处理: 总是使用try-catch或者Promise的catch方法来处理可能的错误。

  3. 固件兼容性: 在更新Roomba固件之前,先检查dorita980的兼容性。

  4. 网络安全: 考虑使用HTTPS和基本认证来增强your REST API的安全性(如果你使用rest980)。

  5. 资源管理: 对于长期运行的应用,注意处理各种事件(如('offline'事件)以确保稳定性。

7. 结语

dorita980为Roomba爱好者和开发者提供了强大而灵活的控制方式。无论是简单的日常使用,还是复杂的智能家居集成,dorita980都能满足你的需求。随着项目的不断更新和社区的贡献,我们期待看到更多基于dorita980的创新应用。

希望这篇指南能帮助你充分利用你的Roomba,享受智能清扫带来的便利。如果你有任何问题或者想法,欢迎查阅官方文档或者参与GitHub上的讨论。祝你使用愉快!

🤖🧹✨

最新项目

Project Cover
豆包MarsCode
豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。
Project Cover
AI写歌
Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。
Project Cover
商汤小浣熊
小浣熊家族Raccoon,您的AI智能助手,致力于通过先进的人工智能技术,为用户提供高效、便捷的智能服务。无论是日常咨询还是专业问题解答,小浣熊都能以快速、准确的响应满足您的需求,让您的生活更加智能便捷。
Project Cover
有言AI
有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。
Project Cover
Kimi
Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。
Project Cover
吐司
探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。
Project Cover
SubCat字幕猫
SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。
Project Cover
AIWritePaper论文写作
AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。
Project Cover
稿定AI
稿定设计 是一个多功能的在线设计和创意平台,提供广泛的设计工具和资源,以满足不同用户的需求。从专业的图形设计师到普通用户,无论是进行图片处理、智能抠图、H5页面制作还是视频剪辑,稿定设计都能提供简单、高效的解决方案。该平台以其用户友好的界面和强大的功能集合,帮助用户轻松实现创意设计。
投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号