const char* mqttServer = "mymqtt";
const int mqttPort = 8883;
const char* mqttUser = "user";
const char* mqttPassword = "pswd";
String mesaj = "";
WiFiClient espClient;
PubSubClient client(espClient);
void setup(){
Serial.begin(115200);//seri port başlatma
WiFi.begin(ssid, password);//wifiye bağlanma
//wifi bağlantısı burda raporlanıyor
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.println("WİFİ AĞINA BAĞLANIYOR");
}
Serial.println("Wifi ağına bağlanıldı");//wifiye bağlanıldığı zaman rapor
client.setServer(mqttServer, mqttPort);//mqtt sunucusuna bağlanma
client.setCallback(callback);
while (!client.connected()) {
Serial.println("MQTT Sunucusuna Bağlanıyor...");
if (client.connect("getirbot1", mqttUser, mqttPassword )) {
Serial.println("MQTT Sunucusuna bağlanıldı!");
} else {
Serial.print("Bağlantı Başarısız Oldu. ");
Serial.print(client.state());
delay(2000);
}
}
client.publish("espdenpcye", "Hello from ESP32");
client.subscribe("pcdenespye");
}
void callback(char* topic, byte* payload, unsigned int length) {
Serial.print("Mesaj esp'ye ulaştı [");
Serial.print(topic);
Serial.print("] ");
for (int i = 0; i < length; i++) {
Serial.print((char)payload[i]);
mesaj += (char)payload[i];
}
void reconnect() {
// Loop until we're reconnected
while (!client.connected()) {
Serial.print("MQTT Bağlantısı koptu.Yeniden deneniyor...");
// Attempt to connect
if (client.connect("espClient")) {
Serial.println("Bağlandı..");
// Once connected, publish an announcement...
client.publish("espdenpcye", "hello world");
// ... and resubscribe
client.subscribe("pcdenespye");
} else {
Serial.print("failed, rc=");
Serial.print(client.state());
Serial.println(" try again in 5 seconds");
// Wait 5 seconds before retrying
delay(5000);
}
}
}
这是我的代码。我总是收到这个错误: 退出状态 1
从 'const char*' 到 'char' 的无效转换 [-fpermissive]
我该如何解决这个问题? 董事会:DeneyapKart(又名 ESP32) 顺便说一下,我在我的 MQTT 服务器上使用了 HiveMQ。 而且我的wifi密码和ssid没有特殊字符。 我需要更改我的 Wi-Fi SSID 和 Pswd 吗?