High Level Software Overview
Description of the FarmBot Software Toolchain
As shown below, there are six main components of the FarmBot software tool chain. Read the descriptions of each to understand the system as a whole, and then dive into setting up the necessary components for your FarmBot system.
- The FarmBot Web Application allows you to program and control your FarmBot from a web browser. You can host the web application yourself on your own servers, or use the My FarmBot service.
- Meshblu is a cloud application that acts as an intermediary between the FarmBot web application and FarmBot devices. It handles socket connections, device identification, and authentication. You can host a version of meshblu yourself or use the one already linked to the My FarmBot service.
- The Raspberry Pi uses a piece of software called farmbot-raspberry-pi-controller. This maintains a connection and synchronizes with the web application via meshblu, in order to download scheduled events and commands, and upload logs and sensor data.
- The Raspberry Pi uses farmbot-serial to communicate G and F code commands to the Arduino over USB.
- The Arduino runs Farmbot Arduino Firmware allowing it to move motors, read and write pins, and communicate with the Raspberry Pi over USB via farmbot-serial.
- Coming soon: The Raspberry Pi has a utility called wifi-configurator allowing you to easily login to the Pi from a wifi enabled device to access a terminal and some configuration settings when the Pi cannot connect to the Internet.