farmbot开发入门教程-FarmBot JS
说明:
- 介绍用于包装 FarmBot 的身份验证和 RPC 指令的库。GitHub存储库
介绍:
安装
- 新版本:
npm install farmbot
- 原始 JS:
<script src="https://cdn.jsdelivr.net/npm/farmbot@latest/dist/farmbot_single_file.js"></script>
<script>
var farmbot123 = new fbjs.Farmbot({ token: "foo.bar.baz" });
</script>
支持的环境
浏览器 适用于过去 12 个月内发布的所有现代浏览器。
NodeJS 独立开发人员报告称,在 Node 环境中使用 FarmBotJS 可取得成功,但我们不会针对基于 Node 的设置进行测试,我们 (FarmBot, Inc) 也不会在生产 Node 环境中使用 FarmBotJS。我们非常欢迎您报告与 NodeJS 相关的问题。运行测试套件
npm run test
使用 API 令牌登录
- 使用FarmBot Web App中的API 令牌登录。
import { Farmbot } from "farmbot";
var SUPER_SECRET_TOKEN = "eyJ0eXAiOiJKV1...4Ry7CiA";
let bot = new Farmbot({ token: SUPER_SECRET_TOKEN });
bot
.connect()
.then(function () {
return bot.moveRelative({ x: 1, y: 2, z: 3, speed: 100 });
});
向 FarmBot 对象发送命令
bot
.connect()
.then(function(bot){
console.log("Bot online!");
return bot.emergencyStop(); // You can chain commands.
})
.then(function(bot){
console.log("Bot has stopped!");
})
.catch(function(error) {
console.log("Something went wrong :(");
});
基本 RPC 命令
- 使用 上的相应方法调用 RPC 命令bot。所有 RPC 命令都返回一个 Promise。
bot
.home({ axis: "x", speed: 800 })
.then(function (ack) {
console.log("X Axis is now at 0.");
})
.catch(function (err) {
console.log("Failed to bring X axis home.");
})
目前支持的命令
- 请参阅带注释的类型定义以了解可用的方法和属性。
活动
var bot = Farmbot({ token: '---'});
bot.on("eventName", function(data, eventName) {
console.log("I just got an" + eventName + " event!");
console.log("This is the payload: " + data);
})
// "I just got an eventName event!"
// "This is the payload: any javascript object or primitive"
bot.emit("eventName", "any javascript object or primitive");
var eventHandlers = bot.event("eventName");
// [function(){...}]
例行活动
- "logs":机器人将会向此频道发送日志。
- "offline":连接丢失。注意:FarmBotJS 将尝试自动重新连接。
- "online":客户端已连接并订阅机器人。
- "sent":当应用程序开始发送消息时触发。
- "status":最重要的。当远程设备状态发生变化时(例如:“x”从 0 变为 100),机器人将发出此事件。
- "sync":API 上的资源已发生改变。
特别活动
:RPC 命令在离开浏览器时具有 UUID。当机器人响应该消息时,FarmBotJS 将发出以请求的 UUID 命名的事件。主要用于内部使用。 - "malformed":当机器人收到错误的RPC命令时,它会通过此渠道通知您。
- *:捕获所有事件(用于调试)。
发布 FarmBot.JS
- 从 Web 应用存储库中,通过以下方式生成新语料库sudo docker-compose run web rake corpus:generate
- 通过以下方式将语料库复制到剪贴板xclip -sel clip < ./latest_corpus.ts
- 将文件内容粘贴到corpus.ts
- 更新 FarmBot 版本farmbot.ts
- 更新 FarmBot 版本package.json
- 跑步./build.sh
- 将更新提交到源代码控制并推送到 Github。
- 跑步npm publish。
获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号