Arduino MQTT 发布主题问题
Arduino MQTT publish to topic issues
我试图让我的 ESP8266 发布到一个主题,其 mac 地址作为子地址以区分许多设备,但是当我创建一个主题字符串时,其中包含 mac client.publish(Topic, String) 中断...
我收到此错误
error: no matching function for call to 'PubSubClient::publish(<unresolved overloaded function type>, const char*)'
if (client.publish(Topic.c_str, msg.c_str())){
^
void loop() {
val = ( 100.00 - ( (analogRead(analogPin)/1023.00) * 100.00 ) ); // read the input pin
// Serial.println(val);
client.loop();
//client.publish("esp/test" val);
String mac = WiFi.macAddress();
String Topic = String("esp/test/moisture/" + mac);
String msg = String("{Moisture:") + String(val) + String(", mac:") + String(mac) + String("}");
if (client.publish(Topic.c_str, msg.c_str())){
Serial.println("Message Sent!");
// Serial.println(msg);
Serial.println(msg.c_str());
delay(10000);
}
}
您在 client.publish()
的第一个参数中缺少函数调用的括号。该行当前显示为:
if (client.publish(Topic.c_str, msg.c_str())){
应该是
if (client.publish(Topic.c_str(), msg.c_str())){
我试图让我的 ESP8266 发布到一个主题,其 mac 地址作为子地址以区分许多设备,但是当我创建一个主题字符串时,其中包含 mac client.publish(Topic, String) 中断... 我收到此错误
error: no matching function for call to 'PubSubClient::publish(<unresolved overloaded function type>, const char*)'
if (client.publish(Topic.c_str, msg.c_str())){
^
void loop() {
val = ( 100.00 - ( (analogRead(analogPin)/1023.00) * 100.00 ) ); // read the input pin
// Serial.println(val);
client.loop();
//client.publish("esp/test" val);
String mac = WiFi.macAddress();
String Topic = String("esp/test/moisture/" + mac);
String msg = String("{Moisture:") + String(val) + String(", mac:") + String(mac) + String("}");
if (client.publish(Topic.c_str, msg.c_str())){
Serial.println("Message Sent!");
// Serial.println(msg);
Serial.println(msg.c_str());
delay(10000);
}
}
您在 client.publish()
的第一个参数中缺少函数调用的括号。该行当前显示为:
if (client.publish(Topic.c_str, msg.c_str())){
应该是
if (client.publish(Topic.c_str(), msg.c_str())){