-
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. :)
Następne wpisy z tego wątku
- 10.08.22 20:41 heby
- 10.08.22 22:06 Marek
- 10.08.22 22:43 Grzegorz Niemirowski
- 10.08.22 23:26 heby
- 12.08.22 11:25 Piotr Gałka
- 16.08.22 13:20 Atlantis
- 17.08.22 18:58 Mirek
- 18.08.22 11:03 Atlantis
Najnowsze wątki z tej grupy
- Dziwne zachowanie magistrali adresowej w 8085
- Współczesne mierniki zniekształceń nieliniowych THD audio, produkują jakieś?
- Jaki silikon lub może klej?
- Smar do video
- Litowe baterie AA Li/FeS2 a alkaliczne
- "ogrodowa linia napowietrzna"
- jaki zasilacz laboratoryjny
- jaki zasilacz laboratoryjny
- Puszka w ziemię
- T-1000 was here
- Ściąganie hasła frezem
- Koszyk okrągły, walec 3x AA, na duże paluszki R6
- Brak bolca ochronnego ładowarki oznacza pożar
- AMS spalony szybkim zasilaczem USB
- stalowe bezpieczniki
Najnowsze wątki
- 2025-02-12 Warszawa => Expert Recruiter 360 <=
- 2025-02-12 Ostrów Wielkopolski => Area Sales Manager OZE <=
- 2025-02-12 Bieruń => Regionalny Kierownik Sprzedaży (OZE) <=
- 2025-02-12 Dęblin => Node.js / Fullstack Developer <=
- 2025-02-12 Kraków => PHP Full Stack Developer <=
- 2025-02-12 Karta dźwiękowa stereo
- 2025-02-12 Dęblin => JavaScript / Node / Fullstack Developer <=
- 2025-02-12 Gdańsk => Specjalista ds. Sprzedaży <=
- 2025-02-12 Łódź => NodeJS Developer <=
- 2025-02-12 Błonie => Sales Specialist <=
- 2025-02-12 Dziwne zachowanie magistrali adresowej w 8085
- 2025-02-11 Mini pecet
- 2025-02-10 Spalił się spaliniak
- 2025-02-10 zarowka wifi - z sensowna apka lub lepiej albo lokalnie lub przez web. I zeby harmonogram miala
- 2025-02-10 Chrzanów => Programista NodeJS <=