farmbot_os/docs/glossary.md

2.2 KiB

FarmBot OS Source Glossary

This file contains a basic glossary of commonly used terms

FarmBot Specific Terms

  • Asset - REST resource stored in Farmbot's database stored on the SD card
  • Arduino Firmware - The code that runs on the Arduino.
  • CelleryScript - FarmBot OS's scripting language
  • FarmbBot API/Web App - The REST server FarmBot communicates with

General Terms

  • Elixir - Programming language FarmBot is developed in
  • Erlang - Programming language and VM that Elixir compiles down too
  • UART - Universal Asynchronous Receiver/Transmitter. hardware based transport mechanism
  • SSH - Secure Shell.
  • MQTT/AMQP - network protocols for pub/sub data transport
  • HTTP - network protocol for accessing REST resource

Nerves Specific Terms

  • Nerves - Framework that allows cross compilation of Elixir code
  • NervesHub - Cloud based firmware management
  • Firmware - Usually refers to the code that gets deployed onto the Raspberry Pi

OTP Terms

  • Beam - Virtual machine that runs compiled Erlang bytecode
  • OTP - Open Telecom Platform. Erlang's runtime libraries
  • Supervisor - OTP Process responsible for supervising Workers
  • Worker - OTP Process responsible for doing work. Usually Supervised
  • Process - OTP concept responsible for sending/receiving messages. everything is a process in erlang
  • Application - OTP concept responsible for containing many Supervisors and Workers
  • Distribution - OTP concept of networking multiple Beam instances together
  • ETS - Erlang Term Storage. OTP application for storing data in memory
  • DETS - Disk Erlang Term Storage. OTP application for storing data on disk