farmbot开发入门教程-节点
纠错,疑问,交流: 请进入讨论区或 请点击进入页面,扫码加入微信群或Q群进行交流
获取最新文章: 扫一扫加入“创客智造”公众号
说明:
-
除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群进行交流
获取最新文章: 扫一扫加入“创客智造”公众号


















