开源FarmBot:网页画格子,机器去种菜

发布时间:2026/10/5 10:32:37

开源FarmBot:网页画格子,机器去种菜 听说自动种菜很多人会以为是一辆自己满地跑的小车。FarmBot 不是。它像 3D 打印机铝架钉在苗床两边的导轨上只在这块地里按坐标前后、左右、上下动把种子点进格子、把水浇到指定位置再拍照看苗在不在。它完全开源硬件原理图和源码都公开公司也卖 Genesis / Express 套件。软件协议以 MIT 为主。官网 farm.bot设备端系统 github.com/farmbot/farmbot_os。真正会翻车的点不是「会不会写代码」而是种植图里的格子和龙门真实坐标对不上。没回零、没标定步距序列照样能点「播种」——只是种子落在空地或压到已有苗上。网页画得再漂亮MCU主控只认毫米。它怎么从网页走到苗床上图1电脑画图机器去种菜浏览器种植图 · 序列 · 日程 · 手动点动 ↕ HTTP 存档 MQTT/AMQP 实时消息 树莓派 FarmBot OS · 和网页同步植物、序列、日志 · USB 串口下发 G 码 / F 码 FarmduinoArduino 架构控制板 · 步进电机、工具头、电磁阀、编码器 · 限位 / 堵转检测后回传网页负责「这块地哪一格种什么、几点浇水」。树莓派不自己规划整片菜地的路径规划算法它把网页上的序列拆成运动指令经 USB 发给 Farmduino。Farmduino 才是动手的那一层走轴、吸种、开阀。和 Klipper 很像——Host 算事MCU 守节拍——对象从热床换成了苗床。摄像头接在树莓派上不经过 Farmduino。拍照、杂草检测、上传缩略图都是 Pi 侧的活。Genesis 一类机型还有UTM通用工具座播种器、浇水嘴、除草铲、土壤传感器可以换Express 常见是三合一工具头固定在 Z 轴上图省事扩展少。当前 Genesis 文档里的电脑是树莓派 4B电机四台 NEMA 17驱动常见 TMC2130带编码器做闭环位置。Express 用过 Pi Zero算力弱同步和拍照更容易卡。自己抄作业优先按 Genesis 的「Pi Farmduino」来理解别把 Zero 当主力脑。软件里不是一个「开始种菜」按钮图2电脑、树莓派、控制板、种菜架网页不是一个大按钮「开始种」。它拆成几块搞混了就会觉得「软件是不是有bug」概念干什么种植图Farm Designer在地图上摆植物、工具、种子盒、拍照点序列Sequence一组动作移动、读传感器、播种、浇水、拍照、检测杂草方案Regimen按植物生长阶段套序列例如出苗后每隔几天浇一次事件Event把序列或方案挂到日历上到点执行Lua序列里嵌脚本做判断、HTTP、发消息给会写代码的人一次「把生菜种上」时间线上大概是图上先有生菜的坐标和工具座位置 → 序列写清「去种子盒吸种 → 移到格子 → 下 Z 点种 → 回工具座」→ 事件定在今天 9:00。到点后网页经 MQTT 通知设备Pi 执行序列一条条变成 G00 移动和 F 开头的 FarmBot 专用指令。固件文档写得很直白配置没批准前轴不会动要先完成配置再G00 X… Y… Z…。杂草检测也不是摄像头「看见就铲」。标准流程是先标定颜色阈值再在图上铺一圈拍照点序列对每个点「移动 Detect Weeds」识别结果变成待处理杂草点你再决定铲还是忽略。阈值没调、光照一变不是漏检就是把菜认成草。技术栈大概长什么样设备端FarmBot OS用Elixir靠Nerves编成一张可刷的镜像不是你在树莓派桌面里apt install出来的普通系统。和网页之间走 HTTP配置、图、序列落库和 MQTT实时控制、日志。配网用机载Configurator设备自己开热点手机连上去填家里 Wi‑Fi 和网页账号。网页 FarmBot Web AppRuby on Rails 前端 MQTT · 官方实例 my.farm.bot · 可自建官方明确劝普通用户别建 ↕ 树莓派 FarmBot OSElixir / Nerves · 同步账户数据、跑序列、拍 USB 摄像头 · 可选 Lua旁路电脑可用 farmbot-py ↕ USB 串口 Farmduino 固件C / Arduino · G 码移动F 码开关工具和读针脚自建网页要 Docker、PostgreSQL、环境变量里的API_HOST/MQTT_HOST。官方说这是给改代码、做审计用的家庭种菜用my.farm.bot更稳。免费额度按他们的说法够家用超过约 3m×6m、很多植物并发、多机多用户可能要付费或自建。树莓派没有可靠 RTC 时NTP 对不上日程和证书都会乱——完全离线不是他们的目标场景硬离线还得自己供时间源。一句话Rails 网页 MQTT Nerves 镜像 Arduino G 码龙门。栈是为「按格子种菜」收的不是通用农机自动驾驶。怎么把它跑起来图3先对准位置再真正播种买套件或按开源 BOM 抄机械校直比刷系统更耗时间。导轨不平行、皮带松、Z 轴晃后面所有标定都是在给误差找补。官方对非套件 DIY不提供排障问题走社区论坛。1. 刷 FarmBot OS。按当前软件文档写卡不要拿普通树莓派桌面镜像凑。卡插进 Pi和 Farmduino 用 USB 连好24V 电源和电机线按手册防呆插头别硬插反。2. 配网进网页。上电后用 Configurator 连 Wi‑Fi填my.farm.bot账号或你自建实例的地址。设备上线后网页里应能看到日志和手动控制。3. 回零、标定、空载点动。先 Find Home / 设轴长和步距再在行程内点动看实际位置和页面坐标是不是一回事。编码器报丢步先查机械和供电别先改序列。4. 摄像头。对好高度和色彩范围再铺拍照网格。没标定就开检测地图上会刷一批假杂草。5. 画种植图序列先干跑。把浇水、下钻、除草从序列里拿掉或改成「只移动」走完一遍。确认工具座、种子盒、苗坐标无干涉再加泵和播种器。水、土靠近 24V 电器漏电和短路按户外电气常识处理。龙门会撞手、会绞进皮带。试车时人不要伸进行程急停和断电手段要在够得着的地方。现象优先排查网页能登、设备离线苗床边 Wi‑Fi、账号、MQTT 被墙或自建 Host 填错指令发了轴不动固件配置未批准、急停、未回零、USB 串口种偏了 / 撞边步距、轴长、回零开关、导轨平行照片糊、杂草乱标对焦高度、曝光、HSV 阈值、网格间距到点不执行事件时区、NTP、设备当时正忙另一条序列Express 又慢又重启算力不够别拿它当 Genesis 的平替脑边界它是固定龙门不是巡田小车也不是大田农机。面积受导轨长度限制。户外要防雨、防锈、防土进滑块软件开源救不了没做的防水。套件不便宜DIY 省钱但校直、开模、找件都算进成本。官方云够家用自建网页维护成本高普通用户没必要一上来就 Docker。检测杂草、估产都依赖光照和标定别写成「AI 农场已经全自动」。能吃的菜仍要你自己管土、种、季节和食品安全机器只负责按坐标执行。参考https://farm.bot/https://farm.bot/pages/open-sourcehttps://software.farm.bot/v13/FarmBot-Software/intro.htmlhttps://developer.farm.bot/v12/Documentation/farmbot-os.htmlhttps://github.com/FarmBot/farmbot_oshttps://github.com/FarmBot/farmbot-arduino-firmwarehttps://github.com/FarmBot/Farmbot-Web-Apphttps://genesis.farm.bot/v1.8/assembly/electronics.htmlhttps://software.farm.bot/v15/docs/how-to-guides/scan-the-garden-for-weeds.htmlhttps://developer.farm.bot/v15/docs/web-app/running-servers-offline.html
延伸阅读

更多相关文章

2026/10/5 10:32:37

STM32 时钟树实操与 SystemClock_Config 源码解析

Ciallo(∠・ω< )⌒☆ 系列专栏直达链接&#x1f524; C 语言进入专栏 →&#x1f9f1; 数据结构进入专栏 →&#x1f527; C进入专栏 →&#x1f40d; Python进入专栏 →&#x1f50c; STM32进入专栏 → &#x1f3e0; 博客主页&#xff1a;暖焰核心 &#x1f4e6; 作者仓…

2026/10/5 10:32:36

类变量和全局变量在多线程环境下的访问有什么区别?

Python 中 类变量 vs 全局变量【多线程访问区别】底层上两者都是共享状态&#xff0c;都存在线程不安全问题&#xff0c;但是查找路径、修改行为、隔离性有差异。 Python 多线程受 GIL 限制&#xff1a;同一时刻只有 1 个线程执行字节码&#xff0c;但不是原子操作依然会有竞态…

2026/10/5 10:27:36

Jev:快速、低成本的语义判断,用于 Agent 分流与文本分析

温馨提示&#xff1a;若页面不能正常显示数学公式和代码&#xff0c;请阅读原文获得更好的阅读体验。 作者&#xff1a; 赖得豪 (浙江工商大学) 邮箱&#xff1a; 932345207qq.com Title: Jev&#xff1a;快速、低成本的语义判断&#xff0c;用于 Agent 分流与文本分析Keywords…

2026/10/5 11:32:40

C#仓库条码管理系统实战:扫码枪接入、库存流水与打印状态机

简介&#xff1a;一份基于 C# 的仓库条码管理系统毕业设计源码&#xff0c;面向计算机相关专业学生及初阶仓库管理开发者。系统采用 Windows Forms 构建界面&#xff0c;围绕条形码扫描实现入库、出库、库存查询与报表生成等核心模块&#xff0c;有助于理解 C# 面向对象编程、窗…

2026/10/5 11:32:40

GESP六级树的遍历:从递归序到非递归,再到还原二叉树

树的遍历&#xff0c;在GESP六级大纲里就像是树这个章节的“敲门砖”。我带过的很多学生&#xff0c;最初都觉得不过就是三种递归写法嘛&#xff0c;背下来就完了&#xff0c;结果到了考场上&#xff0c;一道“已知中序和后序&#xff0c;让你求前序”直接傻眼&#xff0c;或者…

2026/10/5 11:32:40

一文看懂Linux文件类型:从ls -l到inode,彻底搞清七种类型

刚接手一台陌生的 Linux 服务器&#xff0c;或者第一次打开某个开源项目的源码目录时&#xff0c;我几乎都会敲一遍ls -l。这一敲&#xff0c;第一列那一串十个字符&#xff0c;就是整个文件系统的"身份证明"。很多新手盯着drwxr-xr-x、-rw-r--r--发呆&#xff0c;只…

2026/10/5 11:32:40

无摩擦支付:消费双刃剑与实操止损清单

支付越“丝滑”&#xff0c;花钱越“随意”&#xff1f;这份报告把无摩擦支付的消费双刃剑讲透了——附实操止损清单 作为一个和支付产品打了多年交道的人&#xff0c;我太熟悉“无摩擦支付”这个词了。从最初的密码输入&#xff0c;到指纹支付、刷脸支付&#xff0c;再到现在…

2026/10/5 11:32:40

插件加载失败排查:从‘did not activate‘到系统化解决

去年年中我在维护一个内部工具平台的插件模块时&#xff0c;几乎每天都会被类似这样的报错信息折磨&#xff1a;"failed to load plugins web boot: 2 entries did not activate"、"harness failed to load plugins web boot: 1 entry did not activate huayu-y…

2026/10/5 11:27:40

MATLAB/Simulink雷达仿真实战:从信号建模到目标检测

1. 为什么非要用 MATLAB/Simulink 做雷达仿真1.1 雷达仿真到底在仿什么先聊个实际的场景。我去年接手了一个车载毫米波雷达的项目&#xff0c;硬件平台还没到位&#xff0c;算法团队天天喊着要调参&#xff0c;测试场地排期又遥遥无期。当时如果没有一套趁手的仿真工具&#xf…

2026/10/5 6:32:56

Jev+Agent接管浏览器:browser-use实战与jev-ultrafast性能优化

1. 从“Jev”说起&#xff1a;为什么我要把Agent接进浏览器“Jev”这个词最近在圈子里出现的频率越来越高&#xff0c;很多人第一次听到会以为是某个新模型的名字&#xff0c;其实它更像是一种思路——把Jev模型的能力当作底座&#xff0c;通过Agent的方式去接管浏览器&#xf…

2026/10/4 0:01:02

多智能体集群实战:DeepAgents编排、MCP与A2A协议及Skills体系

1. 从"单兵作战"到"集群协同"&#xff1a;多智能体编排到底在解决什么问题如果你最近在折腾 Agent 相关的东西&#xff0c;大概率会有一种感觉&#xff1a;单个 Agent 能做的事情&#xff0c;其实很快就摸到天花板了。你给它一个提示词&#xff0c;挂几个工…

2026/10/4 1:01:05

无源低通滤波器设计实战:从RC到LC,手把手教你避开那些坑

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑