Files
ASF_01_sys_sw_arch/System Design/Creating Gap Analysis and Solutions Documentation/01_Communication_Architecture.md
2026-01-25 17:17:08 +01:00

2.1 KiB

1. Communication Architecture

Overview

The communication architecture for the ASF project is designed to be industrial-grade, ensuring reliability, low latency, and high throughput for critical operations like Over-the-Air (OTA) updates and real-time monitoring.

Primary & Secondary Communication Stack

The system utilizes a multi-layered communication approach to ensure connectivity even in challenging environments.

Role Technology Why (Industrial Rationale)
Primary Uplink Wi-Fi 802.11n (2.4 GHz) Leverages existing infrastructure and provides high throughput necessary for OTA updates.
Peer-to-Peer ESP-NOW Provides deterministic, low-latency communication without dependency on an Access Point (AP).
Long-range Fallback LoRa (External Module) Ensures resilience at farm-scale distances where Wi-Fi may not reach.

Note: Zigbee on ESP32-S3 is currently not considered industrial-mature in ESP-IDF. ESP-NOW is the preferred choice for reliable peer-to-peer communication.

Application Protocol

To avoid the pitfalls of raw TCP sockets or unversioned custom protocols, the system adopts MQTT over TLS 1.2.

Item Decision
Broker Main Hub / Edge Gateway
QoS QoS 1 (At least once delivery)
Retain Used for configuration topics only
Payload CBOR (Binary, versioned for efficiency and compatibility)
Topic Model /farm/{site}/{house}/{node}/...

Why MQTT?

  • Store-and-Forward: Handles intermittent connectivity gracefully.
  • Built-in Keepalive: Monitors connection health automatically.
  • Industrial Tooling: Compatible with standard monitoring and management tools.
  • Native Support: Stable implementation within the ESP-IDF framework.

Heartbeat & Liveness

A formalized heartbeat mechanism is implemented to feed into predictive maintenance systems.

  • Interval: 10 seconds
  • Timeout: 3 missed heartbeats (30 seconds) triggers an "offline" status.
  • Payload includes: Uptime, firmware version, free heap memory, RSSI (signal strength), and an error bitmap.