Добавлен локальный веб-интерфейс и распиновка в README
Плата поднимает страницу + JSON API (/api/state, /api/command) на порту 80
для наблюдения и управления актуаторами независимо от MQTT/Laravel.
Команда с веб-UI публикует тот же ack в devices/{id}/ack, что и MQTT-команда,
поэтому device shadow платформы не расходится с реальным состоянием.
Включается/выключается флагом ENABLE_WEB_UI в config.h.
В README добавлены ASCII-схема подключения DHT22/реле и раздел про сборку
через arduino-cli (включая обходной путь для проблемы с правами на
~/Documents/Arduino на macOS).
This commit is contained in:
@@ -9,6 +9,10 @@
|
||||
static DHT dht(PIN_DHT22, DHT22);
|
||||
static unsigned long lastPublish = 0;
|
||||
|
||||
static bool hasReading = false;
|
||||
static float lastTemperature = 0;
|
||||
static float lastHumidity = 0;
|
||||
|
||||
void telemetryBegin() {
|
||||
dht.begin();
|
||||
}
|
||||
@@ -32,6 +36,10 @@ void telemetryTick() {
|
||||
return;
|
||||
}
|
||||
|
||||
lastTemperature = temperature;
|
||||
lastHumidity = humidity;
|
||||
hasReading = true;
|
||||
|
||||
mqttPublishTelemetry(DEVICE_ID_SENSOR, "temperature", temperature);
|
||||
mqttPublishTelemetry(DEVICE_ID_SENSOR, "humidity", humidity);
|
||||
|
||||
@@ -40,3 +48,12 @@ void telemetryTick() {
|
||||
Serial.print(" humidity=");
|
||||
Serial.println(humidity);
|
||||
}
|
||||
|
||||
bool telemetryGetLast(float& temperature, float& humidity) {
|
||||
if (!hasReading) {
|
||||
return false;
|
||||
}
|
||||
temperature = lastTemperature;
|
||||
humidity = lastHumidity;
|
||||
return true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user