eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaBiblioteka MQTT i dziwny kod w C › Re: Biblioteka MQTT i dziwny kod w C
  • Data: 2022-08-10 19:25:51
    Temat: Re: Biblioteka MQTT i dziwny kod w C
    Od: Atlantis <m...@w...pl> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    Ok, posiedziałem nad tym jeszcze przez kilka godzin i udało mi się
    znaleźć przyczynę. W wielkim skrócie maszyna stanów w funkcji
    MQTTReadPacket była źle napisana. Jeden if nie wykonywał się wcale, a
    część kodu w dalszej części była pomijana zupełnie z uwagi "break"
    umieszczony w złym miejscu. Efekt był taki, że kod przechodził dalej już
    po odebraniu nagłówka pakietu i nie pobierał pozostałych dwóch bajtów.

    Biblioteka w takiej formie działała tylko dlatego, że w wyniku innego
    błędu kod zawsze zakładał, że autoryzacja przeszła poprawnie. ;)
    Z uwagi na wadliwość tej funkcji rzecz jasna nie miały szans działać
    jakiekolwiek inne funkcje związane z odbieraniem danych od brokera.
    Niewykluczone zresztą, że będę musiał przeprowadzić dodatkowe testy i
    poprawić jeszcze kilka błędów, zanim uda mi się uruchomić sprawdzanie
    wiadomości PUBLISHACK albo subskrybowanie tematu i odbieranie wiadomości
    przychodzących od brokera.

    Wireskark pokazuje także, że mam trochę retransmisji TCP na porcie MQTT,
    więc temu też jeszcze będę musiał się przyjrzeć.

    Na chwilę obecną działa jednak najważniejsze - wrzucanie danych na
    serwer. Jeśli ktoś byłby zainteresowany, to po posprzątaniu mogę się tym
    podzielić. O ile ktoś jeszcze używa PIC32 z bibliotekami MLA i będzie
    potrzebował obsługi MQTT. :)

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: