Skocz do zawartości

Użycie MQTT do komunikacji Raspberry Pi z ESP32


Pomocna odpowiedź

Witaj, bardzo dobry artykuł jednak mam problem z uruchomieniem serwera mosquitto. Mianowicie po instalacji mosquitto (bez node reda) kompiluję program wg. Twojego przykładu z moimi danymi i okazuje się, że musiałem wymienić bibliotekę 

#include <WiFi.h> na #include <ESP8266WiFi.h>, aby nie pojawiały się błędy odnośnie zmiennej 

const char* ssid = "Ixxx"; //ZMIENIC na swoje
const char* password = "yyyy"; //ZMIENIC na swoje 

Pojawiało się coś takiego: invalid conversion from 'const char*' to 'char*' [-fpermissive] chodziło o linię z kodem   WiFi.begin(ssid, password);

Jak zmieniłem na ESP8266WiFi.h to moduł ESP 12E łączy się bez problemu, natomiast nie chce się połączyć z MQTT cały czas mam z tym problem i teraz pytanie co może być nie tak?

W tej chwili chodzi mi tylko o uruchomienie MQTT na mojej malince, bo poprzez np. cloudmqtt.com łączę się bez problemu z ESP 12E. (na czystym raspberry lite, wykonane zostały Twoje polecenia dotyczące instalacji mosquitto)

Czy masz może jeszcze jakieś sugestie dotyczące uruchomienia w/w serwera?

Pozdrawiam,
Piotr

Link do komentarza
Share on other sites

10 godzin temu, mediakon napisał:

Pojawiało się coś takiego: invalid conversion from 'const char*' to 'char*' [-fpermissive] chodziło o linię z kodem   WiFi.begin(ssid, password);

Aby uniknąć tego błędu musisz usunąć słowo const.

 

10 godzin temu, mediakon napisał:

Jak zmieniłem na ESP8266WiFi.h to moduł ESP 12E łączy się bez problemu, natomiast nie chce się połączyć z MQTT cały czas mam z tym problem i teraz pytanie co może być nie tak?

Jeśli łączysz się z zewnętrznym serwerem to musisz zmienić adres IP na jego nazwę. Jeśli jest problem w sieci lokalnej upewnij się co do adresu IP Raspberry. Jeśli to nie daje rezultatu spróbuj zrobić restart, dalej komendy:

sudo systemctl disable mosquitto.service

sudo apt-get install --reinstall mosquitto

sudo systemctl enable mosquitto.service

sudo reboot now

Jeśli to nie pomoże to wklej proszę logi z konsoli ESP.

  • Lubię! 2
Link do komentarza
Share on other sites

Dziękuję za odpowiedź o poświęcony czas.

Logi wkleję jak będę przed komputerem, natomiast Raspberry i jego moquitto działa bez problemu tylko na raspberry (lokalnie). Otwierając dwa okna Putty (ssh) można przesyłać wiadomości via mqtt. 

Może laickie pytanie, czy raspberry ma przydzieloną nazwę np. raspberrypi.local ( jeszcze nie próbowałem dziś o tym czytałem )?

Wygląda to tak jakby ESP (arduino) nie widział IP maliny jako serwera MQTT czyli np. 192.168.1.9 w moim przypadku.

IP maliny jest poprawne takie widnieje na routerze i tak się łącze po ssh do niej.

Jeszcze jedno pytanie mi się nasuwa czy router INEA nie blokuje portu 1883...

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

O routerze ciężko jest mi się jednoznacznie wypowiedzieć, ponieważ nie znam tego dostawcy internetu. Możesz spróbować uruchomić router przez telefon (funkcja hotspot/tethering) i wtedy przypisać odpowiednie dane.

Link do komentarza
Share on other sites

W chwili kiedy używam biblioteki WiFi.h (najnowsza wersja) dostaję taki komunikat w konsoli

21:04:12.901 ->  ets Jan  8 2013,rst cause:4, boot mode:(3,6)
21:04:12.901 -> 
21:04:12.901 -> wdt reset
21:04:12.901 -> load 0x4010f000, len 1392, room 16 
21:04:12.901 -> tail 0
21:04:12.901 -> chksum 0xd0
21:04:12.901 -> csum 0xd0
21:04:12.901 -> v3d128e5c
21:04:12.901 -> ~ld
21:04:12.970 -> 
21:04:12.970 -> Laczenie z INEA-xxd2.4Ghz

Link do komentarza
Share on other sites

Jeśli po tym komunikacie nic nie następuje to znaczy, że problem jest w połączeniu z routerem. Skoro tak to albo jest problem z zasięgiem lub czymś innym po stronie niezależnej od programu albo jest problem z biblioteką. Spróbowałbym połączyć to z innym routerem (np przy pomocy udostępniania przez telefon).

Link do komentarza
Share on other sites

1 godzinę temu, mediakon napisał:

ps. na library wifi.h ciągle ten sam błąd co wyżej.

Prawdopodobnie jest to kwestia użytej płytki. Jak pisałem w artykule, mają one swoje "dziwactwa" więc jakoś szczególnie mnie to nie dziwi. Na tym etapie jednak zmiana biblioteki nic nie zmienia, bo używana jest tylko do nawiązania i utrzymania połączenia.

Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...