Strona 1 z 1
MQTT - protokół do IoT i nie tylko - materiały
: sobota 03 cze 2017, 14:48
autor: dambo
Witam, coraz częściej w projektach z ESPkami i ogólnie IoT widać protokół MQTT. Przejrzałem sporo na jego temat i dzielę się najfajniejszymi materiałami:
- filmik opisujący co to:
https://www.youtube.com/watch?v=EIxdz-2rhLs- po naszemu jakby ktoś chciał:
http://adam.wroclaw.pl/2014/10/mqtt-cie ... chnologia/- filmik kwiatavr - ESP i mosquito
https://www.youtube.com/watch?v=DD2hWRDt2ow- opis biblioteki do c#
http://www.hivemq.com/blog/mqtt-client- ... dia-m2mqtt- brokem mqtt online z którego korzystam
http://www.mqtt-dashboard.com/- mqtt essentials - mega fajne materiały
http://www.hivemq.com/blog/mqtt-essentials/Znalezione przy okazji - dobre i złe praktyki w C#:
https://msdn.microsoft.com/pl-pl/librar ... esc-1.aspxzrobiłem sobie dla testu też aplikację w C#:
sssss.png
tu można ją pobrać i sprawdzić:
mqtt_cs.rar
Możemy sami do siebie coś powysyłać, odpalić kilka razy ta apke i rorozsyłać dane do nich lub zobaczyć topici na stronie
http://www.mqtt-dashboard.com/index.html i się podłączyć pod jakiś i nasłuchać - dużo z nich to jakieś termometry itp
Jak coś znajdę jeszcze ciekawego to wstawię poniżej.
Re: MQTT - protokół do IoT i nie tylko - materiały
: sobota 03 cze 2017, 19:52
autor: Grzegorz...
Świetny zbiór.
Trochę się ostatnio oczytywałęm z tym protokołem, ale Twoje linki dadzą zapewne kopa zarówno mi jak i wielu innym.
Re: MQTT - protokół do IoT i nie tylko - materiały
: czwartek 07 wrz 2017, 22:10
autor: dambo
jako ciekawostka:
odświeżałem sobie dziś te rzeczy z MQTT, odpaliłem apkę i wszedłem na stronę zobaczyć jakie są aktywne kanały, żeby zobaczyć czy subskrybowanie działa.
Znalazłem taki z na 99 inteligentnego domu i sobie zasubskrybowałem - i co ok sekunde jakiś sensorek przesyłał temperaturę. Zasubskrybowałem jeszcze kilka od tego samego kolesia.
I tu uwaga - bo to co zrobiłem było złe i mi głupio :/
Na jeden z jego kanałów z temperaturą przesłałem "dzień dobry" i... wszystko ucichło, chyba mu zepsułem tym coś :/
Z drugiej strony ktoś z "platformy do testów" zrobił sobie swój serwer na dane, a jeśli nie i się uczył - to już wie, żeby zabezpieczać takie rzeczy :p
Re: MQTT - protokół do IoT i nie tylko - materiały
: czwartek 07 wrz 2017, 23:21
autor: dambo
Powiem wam, że świetnie to działa - odpaliłem u siebie na kompie Mosquito - serwer MQTT. Do niego mogę podłączyć się tą apką w C# no i wytestowałem też ESP8266 ( w arduino IDE, a co :p ) i od strzała ruszyło
"pokaz" działania - czyli dowód, że to działa:
https://www.youtube.com/watch?v=ECoeezYsGgA
Re: MQTT - protokół do IoT i nie tylko - materiały
: piątek 08 wrz 2017, 15:39
autor: squeez
Dambo - teraz zauważyłem ten topik (wcześniej jakoś przeoczyłem) poczytałem, poszperałem i temat bardzo ciekawy i wart przetestowania

tym bardziej że broker (mosquitto) dostępny pięknie na linuxa a i do PHP są już gotowe biblioteki

Do ESP8266 (nonos SDK) znalazłem przeportowaną bibliotekę:
https://github.com/tuanpmt/esp_mqttWięc w weekend pewnie się pobawię tym

Nie wczytywałem się w kod ale ciekaw jestem jak jest zrobiona subskrypcja tematu, zapewne cykliczne odpalanie zapytania do brokera czy coś się pojawiło. Kodu nie jest dużo to zobaczę jak to jest zrobione.
Re: MQTT - protokół do IoT i nie tylko - materiały
: piątek 08 wrz 2017, 16:00
autor: dambo
squeez pisze:Nie wczytywałem się w kod ale ciekaw jestem jak jest zrobiona subskrypcja tematu, zapewne cykliczne odpalanie zapytania do brokera czy coś się pojawiło.
na 99% odwrotnie - to broker ma informacje o subskrybentach i przesyła im dane gdy się jakieś pojawią, 0 odpytywania - stąd "lekkość" tego protokołu.
Re: MQTT - protokół do IoT i nie tylko - materiały
: piątek 08 wrz 2017, 16:19
autor: squeez
to z tego by wynikało że jak jestem w LAN za maskaradą to wówczas nie dostanę danych, do serwer się nie wbija do LAN-a.
W przypadku odpytywania da radę bo połączenie inicjuje klient.
Re: MQTT - protokół do IoT i nie tylko - materiały
: piątek 08 wrz 2017, 16:34
autor: dambo
Teraz już nie na 99%, ale wydaje mi się, że połączenie jest ustanawiane/inicjalizowane w momencie subskrypcji (czyli musi to zrobić klient najpierw) i potem utrzymywane. Poszukam wieczorem więcej info, ale jakbym jakieś głupoty pisał to mnie popraw

Edit:
tutaj:
http://www.hivemq.com/blog/mqtt-essenti ... ablishmentmamy taką informację:
The MQTT connection itself is always between one client and the broker, no client is connected to another client directly. The connection is initiated through a client sending a CONNECT message to the broker. The broker response with a CONNACK and a status code. Once the connection is established, the broker will keep it open as long as the client doesn’t send a disconnect command or it looses the connection.
tylko, ze tam są obrazki, więc polecam też zerknąć

Edit2:
na końcu tamtego jest, że szczegóły opiszą potem, no ale juz wyszły i są tutaj:
http://www.hivemq.com/blog/mqtt-essenti ... -take-overczyli to client musi "spingować" broker co najmniej raz na 18h, czy to wiadomością, czy "pustym" pingiem, jeśli nie były pomiędzy nimi przesyłane żadne informacje.
Re: MQTT - protokół do IoT i nie tylko - materiały
: piątek 08 wrz 2017, 18:09
autor: squeez
Fakt dzięki za sprawdzenie. Z tego wynika że połączenie jest utrzymywane, a co zadany czas w "keep alive" wysyłany jest pingreq a w zamian, jeśli broker żyje odbierany jest pingresp.
Tak czy inaczej temat wart zgłębienia

Re: MQTT - protokół do IoT i nie tylko - materiały
: niedziela 10 wrz 2017, 12:39
autor: squeez
Pobawiłem się tym trochę i swoje projekty na ESP chyba zacznę przerabiać na MQTT

Tylko jeszcze będę musiał spróbować "ożenić" to z SSL, bo jeśli mosquitto dam na swoim serwerze, żeby mieć globalny dostęp to komunikację wolałbym zabezpieczyć

Potrenuję w wolnych chwilach i jak coś się uda dam znać.
-- EDIT --
Z kronikarskiego "obowiązku" dopiszę że SSL udało się okiełznać zarówno na ESP jaki mosquittp. Przy czym na mosquito było więcej problemu, biblioteka do MQTT z githuba działa świetnie bez żadnych przeróbek

Re: MQTT - protokół do IoT i nie tylko - materiały
: poniedziałek 09 paź 2017, 13:20
autor: dambo
aj nie zobaczyłem twojego edita - i co tam fajnego masz uruchomione na MQTT? broker masz u siebie gdzieś na serwerze, czy jak to wygląda?
Re: MQTT - protokół do IoT i nie tylko - materiały
: poniedziałek 09 paź 2017, 17:17
autor: squeez
Naraz jeszcze nie mam konkretów tzn testowałem to na orange pi zero, postawiony mosquitto jako że mam sieć z brakiem dostępu z zwenątrz to na serwerze jaki mam wystawiony w świat zainstalowałem drugiego mosquitto i połączyłem je razem czy ten w domu ma możliwość gadania z tym na zewnętrznym serwerze przy czym nie wszystkie topiki są wystawiane w świat.
Testowałem też z TLS i działało.
Miałęm na tym zrobić swoją automatykę domową ale do akcji chyba wkroczy demoticz z MQTT

tzn zamiast robić to tak jak w necie większość czyli ESPEasy albo mysensors połączone z demoticzem ja zamierzam podejść inaczej do tematu czyli ożenić demoticza z MQTT i wówczas własne nody też komunikujące się po MQTT. Więc zostanę przy SDK NONOS od ESP zamiast dzióbać w arduino i jakimś ESPEasy.
Re: MQTT - protokół do IoT i nie tylko - materiały
: poniedziałek 09 paź 2017, 17:23
autor: dambo
to jak Ci się uda to z chęcią bym poczytał jak to wygląda

domoticz mnie ciekawi, ale obecnie do niczego mądrego bym go nie użył - wynajmowane mieszkanie, więc nie poryję w instalacjach, ale za jakiś czas będzie jak znalazł
