Forum: Projekte & Code Ein MQTT Client


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Angehängte Dateien:

Lesenswert?

Ich habe einen Test Client für MQTT Protokoll V3.1 geschrieben. Anbei 
möchte ich diesen hier veröffentlichen.

Für Windows und Linux, man kann Publishen und Subscriben in QoS 0, 1 und 
2.
Eine einfache EXE, die ohne Installation und ohne extra DLL's auskommt.

Es gibt zwar schon viele MQTT Clients auf dem Markt, auch viele die 
besser sind, diese hat den Vorteil dass sie sehr schlank ist und man 
damit einfach was testen kann.
Dies ist eher als Demo Programm für eigene Implementierungen mit Lazarus 
gedacht und weniger als Super-Tollen Client, von daher alle die mit MQTT 
was machen wollen ist dies ein relativ kleiner und übersichtlicher Code.

Der ursprüngliche Quellcode kommt von hier:
https://github.com/jamiei/Delphi-TMQTT2
Der war stark buggy und ich habe so ziemlich jede Codezeile geändert und 
fehlendes hinzu gefügt. Der Quellcode kann nun von hier geladen werden:
https://github.com/jamiei/Delphi-TMQTT2/issues/7

Wer Bugs findet, gerne schreiben.
Für alle denen es wichtig ist: keine Garantie, für nichts.

Doku zum Protokoll:
http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/os/mqtt-v3.1.1-os.pdf

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

Nun ist der Quellcode und die EXE im Git verfügbar:
https://github.com/mmvisualgit/TMQTT3---Pascal

von Sven K. (svenk)


Lesenswert?

Hallo Markus,

Danke, dass Du dies veröffentlichst.

Gruß

Sven

von Karl-heinz ". (kahese)


Lesenswert?

Hallo Markus,
Ich kann mich mit meinem PC micht verbinden. Was kommte in UserID.
Vieleicht habe ich etwas verschlafen. alles andere ist mir klar.
mfg
Karl-Heinz

von J. S. (jojos)


Lesenswert?

Die UserID ist eine ID die je Client nur einmal vorkommen darf damit der 
Sever Namen für die Clients hat.
Verbindungsprobleme kommen oft daher das die Broker config als default 
nur lokale Clients zulassen, Remotes müssen da erst erlaubt werden.

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

Zum testen kann man sich von mosquitto den Server laden:
https://mosquitto.org/download/

Nach der Installation sieht man nichts, es wird nur der MQTT Server 
installiert, der ist dann unter "Dienste" in Windows zu finden.

Darauf kann man sich lokal mit "localhost" verbinden.

Den MQTT Client kann man mehrfach starten, damit sieht man wie sie 
gegenseitig die Nachrichten empfangen.

Den letzten Stand der EXE habe ich in das Git, unterordner "bin" 
geladen:
https://github.com/mmvisualgit/TMQTT3---Pascal

Es sind im "bin" 2 Dateien, das eine ist die Windows EXE, das andere die 
EXE für Linux.

: Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.