< >
Home » Farmbot开发入门教程 » farmbot开发入门教程-节点

farmbot开发入门教程-节点

说明:

  • 除REST API和一些其他边缘情况外,FarmBot 用户、设备和系统之间发生的所有通信都包装在CeleryScript 节点中。

  • 节点是一种特殊格式的 JSON 文档。它是一种可组合的构建块,可以嵌套和排列以创建命令树,类似于使用抽象语法树创建编程语言的方式。

格式

  • CeleryScript 节点由以下部分组成:

    • kind确定节点用途的 (字符串)。每个 CS 节点都必须具有 kind 属性。合法类型kind列在此处。
    • 包含键/值对的对象args(其中一些值将是子节点,其他值将是简单的原始值,例如数字)。每个节点都需要一个args对象,其中的参数根据 而变化kind。如果节点需要特定的arg,它将始终存在。CeleryScript 中没有可选项 arg。这简化了标准的许多方面。
    • 可选comment(字符串)字段,用于帮助开发人员提高可读性。您不需要使用它(甚至不需要包含它),但如果有帮助,您可以使用它。我们使用注释进行跟踪和调试。
    • 可选body参数,如果定义,将包含其他 CeleryScript 节点的列表。主体将只包含 CeleryScript 节点,永远不会包含字符串或数字等原始值。例如,“sequence”节点的主体可能包含“move_relative”节点。
  • 下面是一个 CeleryScript 节点示例reboot,它告诉设备重新启动指定的应用程序:

{
  "kind": "reboot",
  "args": { "package": "farmbot_os" },
  "comment": "Optional. Useful when debugging, but ignored by the system.",
  "body": []
}
  • 一些常见的 CeleryScript 节点包括:

    • move_relative,move_absolute
    • execute- 通过 arg 运行一个序列sequence_id。
    • rpc_request,,rpc_ok——rpc_error将在本文后面讨论。

可用节点

  • 另请参阅corpus.d.ts文件。

    种类 类型 也称为 描述
    assertion命令 断言风格自动化测试的命令(更多信息)
    calibrate 命令 找到轴的长度 执行轴校准的命令(查找轴长度)
    change_ownership 命令 将 FarmBot 设备的所有权从一个 Web 应用帐户转移到另一个 Web 应用帐户
    channel
    check_updates 命令 更新 指示 FarmBot 检查(并安装)软件更新
    coordinate
    emergency_lock 命令 急停 紧急停止 FarmBot
    emergency_unlock 命令 开锁 解锁 FarmBot 的紧急停止功能
    execute 命令 执行序列 执行序列的命令(更多信息)
    execute_script 命令
    explanation 描述rpc_error
    factory_reset 命令 软复位 指示 FarmBot 恢复出厂设置
    find_home 命令 沿轴寻原点的命令
    flash_firmware 命令 指示 FarmBot 将固件刷入微控制器
    home 命令 搬回家 命令指示 FarmBot 前往原点位置(这与寻找原点不同)
    identifier
    if 命令 允许 FarmBot 评估条件是真还是假并采取相应的行动
    internal_entry_point
    internal_farm_event
    internal_regimen
    lua 命令 参见lua 文档
    move 命令 移动 FarmBot 的命令(更多信息)
    move_absolute 命令 搬去 将 FarmBot 移动到绝对坐标位置的命令(更多信息)
    move_relative 命令 用于将 FarmBot 从当前位置移动相对距离的命令(更多信息)
    named_pin
    nothing
    pair
    parameter_application
    parameter_declaration
    point 表示农场设计师地图中的一个点(位置),例如植物、杂草、点或工具槽
    point_group 农场设计师地图中的一组点(位置)
    power_off 命令 关闭 指示 FarmBot 完全关闭
    read_pin 命令 读取传感器 读取引脚的命令(读取传感器)
    read_status 命令 指示 FarmBot 发送带有完整状态树的状态消息
    reboot 命令 指示 FarmBot 重新启动
    rpc_error 表示请求操作失败
    rpc_ok 表示请求操作成功
    rpc_request 请求设备执行某项操作
    scope_declaration
    send_message 命令 发送消息的命令
    sequence
    set_servo_angle 命令 控制伺服 伺服电机移动命令
    set_user_env
    sync 命令 指示 FarmBot 与 API 同步
    take_photo 命令 指示 FarmBot拍照并将其上传到 API
    toggle_pin 命令 切换外围设备 切换引脚状态的命令(切换外围设备)
    tool
    update_resource 命令 标记为 请参阅标记为命令的文档
    variable_declaration
    wait 命令 等待时间(以毫秒为单位)的命令
    write_pin 命令 控制外设 用于将数字或模拟值写入(控制外围设备)到引脚的命令
    zero 命令 设为首页 沿轴将当前位置设置为零(设置原点)的命令

rpc_请求

  • CeleryScript 规范定义了三个用于实时控制设备的节点。这些节点在用户界面中广泛用于执行一次性命令,例如设备位置调整

    • rpc_request- 由用户(或偶尔由REST API)发起,请求设备执行某项操作。所需操作(例如:move_relative、reboot等)保存在body此节点的 中。
    • rpc_ok- 由设备发送给最终用户。表示请求操作已成功。
    • rpc_error- 表示请求操作失败。遗嘱正文rpc_error通常包含多个explanation节点,描述失败的情况。

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

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


标签: none