MQTT-Socket-Fehler auf client - <unbekannt>
Ich habe setup MQTT auf einem Raspberry Pi und konfiguriert ein Arduino Uno an den Makler, aber ich bin zu sehen, den folgenden Eintrag in der /var/log/mosquitto/mosquitto.log-Datei:
New connection from 192.168.10.114 on port 1883.
Socket error on client <unknown>, disconnecting.
Den Pi-setup mit ETH0 WLAN zu meinem lokalen LAN-Netzwerk und hat eine IP-Adresse 192.168.1.50
Gibt es auch einen WLAN-AP einrichten auf dem Pi. Der Arduino Uno wird über WiFi zum senden/empfangen von MQTT-messages. Der WLAN-AP hat eine IP-Adresse 192.168.10.1 und stellt den DHCP-leases, die über dnsmasq
.
Habe ich versucht veröffentlichen und abonnieren test auf dem lokalen MQTT-broker-server (Pi) und bekomme den gleichen Fehler:
Command:
mosquitto_sub -h 192.168.10.1 -t topic
mosquitto.log:
New connection from 192.168.10.1 on port 1883.
New client connected from 192.168.10.1 as mosqsub/1837-raspberryp (cl, k60).
Socket error on client <unknown>, disconnecting.
Hier ist /etc/mosquitto/mosquitto.conf:
pid_file /var/run/mosquitto.pid
persistence true
log_dest file /var/log/mosquitto/mosquitto.log
allow_anonymous true
include_dir /etc/mosquitto/conf.d
sudo service mosquitto stop
sudo service mosquitto start:
mosquitto version 1.4.8 terminating
mosquitto version 1.4.8 (build date Sun, 14 Feb 2016 15:06:55 +0000) starting
Config loaded from /etc/mosquitto/mosquitto.conf.
Opening ipv4 listen socket on port 1883.
Opening ipv6 listen socket on port 1883.
Könnte es ein Problem in meiner Schnittstellen-Konfiguration. Hier ist /etc/network/interfaces:
source-directory /etc/network/interfaces.d
auto lo
iface lo inet loopback
iface eth0 inet manual
auto wlan0
allow-hotplug wlan0
iface wlan0 inet static
address 192.168.10.1
netmask 255.255.255.0
Kann mir jemand zeigen Sie mir auf, wo der socket error kommt, auf MQTT?
InformationsquelleAutor rwkiii | 2016-02-29
Du musst angemeldet sein, um einen Kommentar abzugeben.
War ich bestehen ähnliche Probleme, die von einem Arduino verbinden, um mosquitto:
Die erste Verbindung funktionieren würde, dann wäre es begegnen häufige socket-Fehler, die schließlich ganz Versagen zu arbeiten.
Nachdem einige Graben, entdeckte ich, dass ich nicht den Aufruf der
loop()
Funktion PubSubClient. Ohne diese Verbindung nicht ordnungsgemäß gewartet, was in timeouts und socket-Fehler. Versuchen Sieclient.loop()
zu Ihremloop()
Funktion.InformationsquelleAutor madleech
Kam ich zu diesem thread, da ich vor der gleichen Fehler. Nach einigen weiteren Fehlersuche, es war in Bezug auf die Konfiguration der Authentifizierung - client (Arduino) wurde versucht, eine anonyme Verbindung herzustellen (kein Kennwort), während der broker (Pi) eingerichtet, der nur authentifizierte verbindungen (allow_anonymous false in der MQTT-Konfiguration).
Hinzufügen das korrekte Passwort ein, um die Arduino-Anschluss code löste das Problem für mich.
InformationsquelleAutor Bogd
Für den Anschluss von anonym ich Probleme. Die Angabe "" als Benutzername und Passwort ist apearantly nicht anonym genug. Nur erwähnen es nicht in der Verbindungs-Anweisung funktioniert besser.
InformationsquelleAutor ExploWare
Du meinst die Himbeere ist der broker und der arduino ist der Abonnent, nicht wahr?
Ich hatte ein ähnliches Problem, wenn ich erreichen wollte der broker mit meinen Abonnenten, es würde keine Verbindung auf port 1883 (scheint nur für Verlage,..).
Ich löste es, mit den nachfolgenden änderungen,
config.mk :
WITH_WEBSOCKETS:=yes
mosquitto.conf:
Ändern :
user mosquitto by user pi
Fügen Sie am Ende der Datei:
listener 1883
listener 9001 <Raspberry IP>
protocol websockets
Re-run der broker
Dann könnte ich eine Verbindung zu meinem Abonnenten der broker auf port 9001.
InformationsquelleAutor Ramb0