Использование системы в различных ситуациях, вопросы программирования сценариев.
Модератор: immortal
-
annakin
- Сообщения: 130
- Зарегистрирован: Пн окт 28, 2013 5:06 pm
- Откуда: Молдова
-
Благодарил (а):
11 раз
-
Поблагодарили:
10 раз
Сообщение
annakin » Ср мар 22, 2017 9:39 pm
Ребята добрый день, я ещё не сильно разобрался с MQTT так что не пинайте сильно.
Имеем датчик SCT 013
Собрал схему для него по этой теме:
viewtopic.php?f=8&t=73#p441
И шас пытаюсь отправить код на MQTT Брокер так :
Код: Выделить всё
#ifdef PowerMonitor
#define volt "home/433toMQTT/voltage"
#define curr "home/433toMQTT/current"
void electroInit() {
emon1.current(1, 111.1); // Current: input pin, calibration.
}
void PowerMonitorInt(){
double Irms = emon1.calcIrms(1480); // Calculate Irms only
// Serial.print(Irms*230.0); // Apparent power
// Serial.print(" ");
// Serial.println(Irms);
// client.publish(volt,5698);
client.publish(curr,Irms*220.0);
}
мне выдаёт такую ошибку:
Код: Выделить всё
no matching function for call to 'PubSubClient::publish(const char [23], String&)'
Подскажите, что я делаю не так ?
Server: Raspberry Pi 3 B+
OS: Rasbian
-
serghei
- Сообщения: 2575
- Зарегистрирован: Пт ноя 06, 2015 10:22 am
- Откуда: Кишинёв
-
Благодарил (а):
303 раза
-
Поблагодарили:
282 раза
Сообщение
serghei » Ср мар 22, 2017 9:46 pm
А сам датчик прицеплен а Ардуине? Тогда в сериале должен увидеть мощность. Вообще библиотека более правильное решение. А по MQTT не подскажу.
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
-
annakin
- Сообщения: 130
- Зарегистрирован: Пн окт 28, 2013 5:06 pm
- Откуда: Молдова
-
Благодарил (а):
11 раз
-
Поблагодарили:
10 раз
Сообщение
annakin » Ср мар 22, 2017 10:12 pm
Вот код полностью, если возникнут вопросы.
Шас сам читаю в нэте что я не так делаю.
Кстати использую IDE 1.8.1
-
Вложения
-
- SmartHouse_1_7_0_2.zip
- Вот код полностью
- (8.66 КБ) 180 скачиваний
Server: Raspberry Pi 3 B+
OS: Rasbian
-
DimSun75
- Сообщения: 318
- Зарегистрирован: Вс янв 01, 2017 8:32 pm
- Откуда: Москва
-
Благодарил (а):
7 раз
-
Поблагодарили:
44 раза
Сообщение
DimSun75 » Ср мар 22, 2017 10:22 pm
annakin писал(а):Ребята добрый день, я ещё не сильно разобрался с MQTT так что не пинайте сильно.
Имеем датчик SCT 013
Собрал схему для него по этой теме:
viewtopic.php?f=8&t=73#p441
И шас пытаюсь отправить код на MQTT Брокер так :
Код: Выделить всё
#ifdef PowerMonitor
#define volt "home/433toMQTT/voltage"
#define curr "home/433toMQTT/current"
void electroInit() {
emon1.current(1, 111.1); // Current: input pin, calibration.
}
void PowerMonitorInt(){
double Irms = emon1.calcIrms(1480); // Calculate Irms only
// Serial.print(Irms*230.0); // Apparent power
// Serial.print(" ");
// Serial.println(Irms);
// client.publish(volt,5698);
client.publish(curr,Irms*220.0);
}
мне выдаёт такую ошибку:
Код: Выделить всё
no matching function for call to 'PubSubClient::publish(const char [23], String&)'
Подскажите, что я делаю не так ?
У вас Irms типа duble, а методу PubSubClient::publish требуется String. По изучайте где-то здесь
https://www.arduino.cc/en/Tutorial/StringConstructors
-
annakin
- Сообщения: 130
- Зарегистрирован: Пн окт 28, 2013 5:06 pm
- Откуда: Молдова
-
Благодарил (а):
11 раз
-
Поблагодарили:
10 раз
Сообщение
annakin » Ср мар 22, 2017 10:24 pm
Пасиб )) За наводку.
Server: Raspberry Pi 3 B+
OS: Rasbian
-
annakin
- Сообщения: 130
- Зарегистрирован: Пн окт 28, 2013 5:06 pm
- Откуда: Молдова
-
Благодарил (а):
11 раз
-
Поблагодарили:
10 раз
Сообщение
annakin » Чт мар 23, 2017 1:22 am
Разобрался ))
Всё таки Мануалы это хорошая штука ))
Вот как должно быть:
Код: Выделить всё
dtostrf (value, 4, 5, buff_message);
client.publish(curr, buff_message);
Server: Raspberry Pi 3 B+
OS: Rasbian