Перейти к основному содержимому

Arduino с Eclipse 4diac

Arduino не поддерживает запуск FORTE напрямую (слишком мало RAM). Для интеграции используют один из следующих подходов.

Подход 1: Arduino как I/O расширитель

Arduino подключается к Raspberry Pi/ПК через Serial/USB и передаёт данные. FORTE работает на хост-устройстве.

Arduino (GPIO/Analog) ──[USB/Serial]──► RPi (FORTE) ──[MQTT]──► IDE

Прошивка Arduino (Firmata):

#include <Firmata.h>
void setup() { Firmata.begin(57600); }
void loop() { Firmata.processInput(); }

В FORTE: используйте SUBSCRIBE_1 для получения данных через Serial bridge.

Подход 2: Arduino + MQTT (ESP8266/ESP32)

Для WiFi-плат (ESP8266, ESP32) используйте MQTT-библиотеку:

#include <PubSubClient.h>
// Arduino публикует данные → MQTT → 4diac FORTE SUBSCRIBE
client.publish("sensors/temp", String(temperature).c_str());

В 4diac: SUBSCRIBE_1.ID = "mqtt://broker#sensors/temp"

Подход 3: Modbus RTU от Arduino

Arduino может эмулировать Modbus RTU slave:

#include <ModbusRTUSlave.h>
// Регистры с данными датчиков
holdingRegisters[0] = (uint16_t)(temperature * 10);

Через шлюз RS485→TCP: CLIENT_1.ID = "modbus[gateway_ip:502,1,3,0,4]"

Рекомендация

Для новых проектов предпочтительнее ESP32 — он поддерживает WiFi, имеет больше ресурсов и легко интегрируется с MQTT.