Files
farmbox/PROJECT_KNOWLEDGE.md
T
2026-05-03 11:10:55 +00:00

2.3 KiB

PROJECT_KNOWLEDGE.md — FarmBox

Что это

FarmBox — локальный edge-сервер для фермы. Разворачивается на Mini PC или Raspberry Pi прямо на объекте, работает полностью без интернета. Принимает данные от ESP32-датчиков по LoRa, агрегирует через MQTT и синхронизирует в облако когда есть связь.

Является частью системы AgroTO/OpsCore → полная документация: https://git.zeroday.su/admin/agroto

Состав репо

Папка Описание
firmware/lora_gateway/ Прошивка ESP32 LoRa-шлюза (приёмник)
firmware/sensor_node/ Прошивка ESP32-датчика (передатчик, моточасы, temp, ток)
iot-bridge/ Node.js мост между MQTT и облачным API OpsCore
sync-agent/ Агент синхронизации локал ↔ облако
mosquitto/ Конфиг Mosquitto MQTT брокера
docker-compose.yml Весь стек: Mosquitto + InfluxDB + Node-RED + Grafana + farm-cmms + sync-agent
install.sh Скрипт установки на чистый Ubuntu/Raspberry Pi

Как работает

  1. ESP32 sensor_node отправляет данные (моточасы, температура, ток) по LoRa
  2. ESP32 lora_gateway принимает, пересылает в Mosquitto по WiFi
  3. iot-bridge подписывается на MQTT, пишет в локальный PostgreSQL и вызывает /api/iot/* OpsCore
  4. sync-agent синхронизирует данные с облаком при наличии интернета

Режимы OpsCore

  • Облако — напрямую через интернет
  • Локально — через farmbox.local (mDNS, avahi-daemon)
  • Офлайн — IndexedDB кэш + очередь мутаций (автосинхронизация при появлении сети)

Полная документация по IoT задачам

→ см. раздел 🟡 IoT в agroto/TASKS.md