Нужна помощь как вытащить данные в MQTT. Вот кусок скетча лупа энергоучёта с пзем модулем тут выводятся данные напряжения в сериал монитор.
Код: Выделить всё
void loop()
{
currentMillisPZEM = millis(); // время отсчета для запуска программы каждую секунду (по умолчанию)
if (currentMillisPZEM - startMillisPZEM >= periodPZEM) // за каждые х секунд запускаем коды ниже
{
uint8_t result; // Объяем переменную "результат" как 8 бит
result = node.readInputRegisters(0x0000, 9); // читаем 9 регистров (информацию), начиная с 0x0000 (информация о напряжении))
if (result == node.ku8MBSuccess) // Если есть ответ
{
uint32_t tempdouble = 0x00000000; // Объяем переменную «tempdouble» как 32 бита с начальным значением 0//
PZEMVoltage = node.getResponseBuffer(0x0000) / 10.0; // получаем 16-битное значение для значения напряжения, разделить его на 10 (согласно инструкции)
// От 0x0000 до 0x0008 - адрес регистра значения измерения
tempdouble = (node.getResponseBuffer(0x0002) << 16) + node.getResponseBuffer(0x0001); // получаем текущее значение. Текущее значение состоит из 2 частей (2 цифры по 16 бит спереди и 2 цифры по 16 бит сзади) и объединяют их в 32-разрядные без знака.
Serial.print(PZEMVoltage, 1); // Выводим значение напряжения на сериал мониторе с 1 десятичным знаком
Serial.print("V ");
}
client.publish ("Energija/faza_A/voltage", (PZEMVoltage, 1));
в результате прилетает только Energija/faza_A/voltage а самого значения нет.