Witam jak w temacie posiadam wersiej Uno z Shield W5100 chce odpalić na nim MQTT Client niestety mam caly czas bład
Łączenie z MQTT brokerem...
Błąd połączenia. Kod błędu: -2
Testowany MQTT z PC jako Klijent dzaiła bez problemu
2024-01-01 11:03:51: New connection from 192.168.1.140:60868 on port 1883.
2024-01-01 11:03:52: New client connected from 192.168.1.140:60868 as test (p5, c1, k60, u'mqtt').
Łączenie z MQTT brokerem...
Błąd połączenia. Kod błędu: -2
Testowany MQTT z PC jako Klijent dzaiła bez problemu
2024-01-01 11:03:51: New connection from 192.168.1.140:60868 on port 1883.
2024-01-01 11:03:52: New client connected from 192.168.1.140:60868 as test (p5, c1, k60, u'mqtt').
Kod:
#include &tSPI.h&t
#include &tEthernet.h&t
#include &tPubSubClient.h&t
// Ustawienia Ethernet
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress ip(192, 168, 1, 88); // Dostosuj adres IP do swojej sieci
// Ustawienia MQTT
const char* mqttServer = "192.168.149"; // Zmień na adres swojego brokera MQTT
const int mqttPort = "1883";
const char* mqttUsername = "mqtt"; // Opcjonalne, jeśli brokera wymaga autentykacji
const char* mqttPassword = "kaiGheeWu8vaevupagac5ooNea1oongol4eboo0Uc9ohdohs0Sae9Ahphevaech0"; // Opcjonalne, jeśli brokera wymaga autentykacji
EthernetClient ethClient;
PubSubClient client(ethClient);
void setup() {
Serial.begin(9600);
Ethernet.begin(mac, ip);
delay(1500);
client.setServer(mqttUsername, mqttPassword);
// Opcjonalne, jeśli brokera wymaga autentykacji
// client.setCredentials(mqttUsername, mqttPassword);
}
void loop() {
if (!client.connected()) {
reconnect();
}
client.loop();
// Dodaj swoją logikę tutaj
}
void reconnect() {
while (!client.connected()) {
Serial.println("Łączenie z MQTT brokerem...");
if (client.connect("ArduinoClient")) {
Serial.println("Połączono z brokerem MQTT");
// Tutaj możesz dodać subskrypcje, publikacje itp.
} else {
Serial.print("Błąd połączenia. Kod błędu: ");
Serial.println(client.state());
delay(5000);
}
}
}