< >
Home » Farmbot开发入门教程 » farmbot开发入门教程-FarmBot JS

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。

纠错,疑问,交流: 请进入讨论区点击加入Q群

获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号


标签: none