farmbot开发入门教程-lua 工具
说明:
- 介绍FarmBot OS 中的工具 Lua 函数列表
卸载工具()
将当前安装的工具卸载到其指定的插槽中,同时考虑插槽的方向
此功能仅适用于具有可互换工具的 FarmBot,例如 FarmBot Genesis。
-- Dismount the currently mounted tool
dismount_tool()
-- It is recommended to find home after dismounting tools
-- to stage FarmBot for future operations
find_home()
分配(mL,参数?)
- 分配给定量的液体(以毫升为单位)。默认使用“浇水喷嘴”工具、其水流量(毫升/秒)值和由引脚操作的电磁阀8。
-- Dispense 100 mL of water using default values
dispense(100)
- 该params参数是可选的,可用于覆盖默认值tool_name(因此也是水流量(ML/S)的值)以及pin要操作的值。
-- Dispense 200 mL of fertilizer using a custom tool operated by pin 7
dispense(200, {tool_name = "Custom Watering Nozzle 2", pin = 7})
-- Dispense 300 mL of water with the standard "Watering Nozzle" tool, but using a solenoid valve operated by pin 10
dispense(300, {pin = 10})
- 为了给工具添加水流量(ML/S)值,工具名称中必须包含“浇水喷嘴”。
获取工具(参数)
根据给定的id或获取工具name。返回包含工具的id、name和 的表格flow_rate_ml_per_s。
请注意,工具对象不包括分配给它的插槽的坐标。
-- Get a tool by its ID
tool = get_tool({id = 123})
toast(tool.name)
-- Get a tool by its name
tool = get_tool({name = "Watering Nozzle"})
toast(tool.flow_rate_ml_per_s)
mount_tool(工具)
安装给定的工具并将其从插槽中拉出,同时考虑插槽的方向。
此功能仅适用于具有可互换工具的 FarmBot,例如 FarmBot Genesis。
-- It is recommended to find home before mounting tools
-- to ensure accuracy of movements
find_home()
-- Add a Location variable named "Tool" to the sequence
-- and select the tool you wish to mount
tool = variable("Tool")
-- Because tools themselves do not have coordinates, FarmBot
-- will look up which slot the chosen tool has been assigned
-- to and use the slot's coordinates in the mount_tool() function
mount_tool(tool)
- 您也可以简单地通过名称来安装工具:
-- Mount a tool by name
mount_tool("My Tool")
验证工具()
通过检查 UTM 的工具验证引脚以及FarmBot 状态树中的“已安装工具”字段来验证工具是否已安装到 UTMtrue 。返回工具是否已安装false或未安装工具。
此功能仅适用于具有可互换工具的 FarmBot,例如 FarmBot Genesis。
该verify_tool()功能内置于mount_tool()和dismount_tool()助手中。
-- Exit sequence if tool verification fails (no tool)
if not verify_tool() then
return
end
水(植物,参数?)
根据植物的年龄和指定的浇水曲线移动并浇水。
植物的日期是根据其日期和当前日期age计算得出的。如果未设置植物的日期,请尝试从前端将植物的状态更改为已种植。planted_atplanted_at
如果使用具有可互换工具的 FarmBot,例如 FarmBot Genesis,则需要先安装浇水工具,然后才能使用该water()功能。
-- Get the "Plant" variable from the sequence
plant = variable("Plant")
-- Water the plant based on its age and watering curve
water(plant)
- 在底层,该water()函数会调用dispense()。如果提供,params参数将被传递到dispense调用中以覆盖其默认值。有关更多信息,请参阅dispense() 文档。
-- Get the "Plant" variable from the sequence
plant = variable("Plant")
-- Water the plant based on its age and watering curve, using a solenoid valve operated by pin 10
water(plant, {pin = 10})
获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号