eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaBiblioteka MQTT i dziwny kod w C › Re: Biblioteka MQTT i dziwny kod w C
  • Path: news-archive.icm.edu.pl!news.icm.edu.pl!news.man.lodz.pl!newsfeed.pionier.net.p
    l!2.eu.feeder.erje.net!3.eu.feeder.erje.net!feeder.erje.net!feeder1.feed.usenet
    .farm!feed.usenet.farm!news-out.netnews.com!news.alt.net!fdc2.netnews.com!peer0
    1.ams1!peer.ams1.xlned.com!news.xlned.com!peer01.ams4!peer.am4.highwinds-media.
    com!news.highwinds-media.com!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl
    !unt-spo-a-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail
    Date: Wed, 10 Aug 2022 19:25:51 +0200
    MIME-Version: 1.0
    User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
    Thunderbird/91.11.0
    Subject: Re: Biblioteka MQTT i dziwny kod w C
    Content-Language: pl
    Newsgroups: pl.misc.elektronika
    References: <62f14473$0$544$65785112@news.neostrada.pl>
    From: Atlantis <m...@w...pl>
    In-Reply-To: <62f14473$0$544$65785112@news.neostrada.pl>
    Content-Type: text/plain; charset=UTF-8; format=flowed
    Content-Transfer-Encoding: 8bit
    Lines: 23
    Message-ID: <62f3ea1f$0$463$65785112@news.neostrada.pl>
    Organization: Telekomunikacja Polska
    NNTP-Posting-Host: 83.27.21.205
    X-Trace: 1660152351 unt-rea-a-02.news.neostrada.pl 463 83.27.21.205:54420
    X-Complaints-To: a...@n...neostrada.pl
    X-Received-Bytes: 2384
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:773723
    [ ukryj 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: