#pragma once #include #include // Подключение к mosquitto, подписка на devices/+/commands, диспетчеризация // команд в devices.cpp и публикация ack. См. протокол в README.md. void mqttBegin(); void mqttEnsureConnected(); void mqttLoop(); // Публикует одно показание телеметрии в devices/{deviceId}/telemetry. void mqttPublishTelemetry(const String& deviceId, const String& sensorType, double value); // Публикует ack {"state": ...} для deviceId. Используется и обработчиком // MQTT-команд, и веб-интерфейсом — команда, отданная локально через веб-UI, // должна так же обновлять device shadow платформы (Redis), как и команда // из device-control-service, иначе состояние в UI Laravel разойдётся с // реальным железом. void mqttPublishAck(const String& deviceId, JsonDocument& state);