Jak korzystać z MQTT na Arduino, które używa serial serial do wysyłania poleceń AT do ESP8266

10

Właśnie zacząłem przeglądać protokół MQTT.

Sytuacja

W moim projekcie college'owym obecnie używam Arduino jako głównego MCU i wykonuję wszystkie prace w tym zakresie i używam Serial Comm. wysyłać komendy AT do esp8266 (dla żądań HTTP, do uruchamiania skryptów na serwerze itp.). Zasadniczo potrzebowałem przesłać niektóre dane (z Arduino) na stronie internetowej (hostowanej przez lokalny serwer). Przeszukałem i znalazłem protokół MQTT , który umożliwia publikowanie i subskrybowanie danych na klientach (dokładnie to, czego chciałem). Ale większość samouczków, które znajduję, są albo w całości na Arduino (z osłoną Wi-Fi), albo w całości na esp8266.

Chcę wiedzieć, że istnieje możliwy sposób używania MQTT tak jak w mojej obecnej konfiguracji? To znaczy, używając Arduino do wykonania całej pracy i za pomocą szeregowego komunikatora. Publikowanie danych tylko za pomocą komend AT na MQTT.

Dodatkowe informacje na temat mojego projektu są wymienione tutaj: Nie jestem pewien, jakiej technologii użyć w systemie Smart Home

Salim Shamim
źródło
Możesz wysłać MQTT przez Wi-Fi między Arduino i ESP. Nie ma potrzeby wykonywania połączenia fizycznego.
Jimmy Westberg,
do tego też potrzebowałbym Wi-Fi na Arduino, prawda? Nie muszę wysyłać danych między Arduino a ESP. Używam esp do wysyłania danych z arduino na lokalny serwer, moje arduino nie ma osłony wifi
Salim Shamim
Aha, jeśli masz już wykonane fizyczne połączenie, po prostu spójrz na FW ESP Easy, które mają dość solidną integrację MQTT po wyjęciu z pudełka.
Jimmy Westberg,
sonyarouje.com/2016/03/15/… Znalazłem ten post, Czy to, co mówiłeś: P Czy to dobra droga? Przepraszam, jestem bardzo nowy: D
Salim Shamim
1
Próbowałem MQTT przez UART (aby wysłać komendy AT do esp8266) github.com/nopnop2002/MQTT_UNO
nopnop2002

Odpowiedzi:

4

W końcu znalazłem tutorial Sony Arouje . Jak się okazuje, musiałem całkowicie zrezygnować z ręcznego wysyłania poleceń esp i musiałem skorzystać z biblioteki (WiFiEsp.h). Wskazówka ... jest lepiej!

Chociaż początkowo nie działał z moim esp8266, ponieważ miał starsze oprogramowanie i zgłosił błąd „oprogramowanie nie jest obsługiwane”. Musiałem sflashować nowsze oprogramowanie układowe (w moim przypadku działa z wersją 1.54). Każdy, kto ma problem z flashowaniem oprogramowania układowego, może znaleźć pomoc dotyczącą tego tematu: Nie można zaktualizować najnowszego oprogramowania układowego ESP8266, mówi „Błąd szybkiego flashowania” i „Nieprawidłowy szef pakietu ('')”

Zapisałem również kopię wszystkich narzędzi do pobierania i samą stronę samouczka, więc jeśli w przyszłości post zostanie usunięty lub jeśli nikt nie znajdzie narzędzi do flashowania. Dotrzyj do mnie w komentarzach lub czymś innym (nie zamieszczam tutaj, ponieważ nie wiem, czy można publikować treści innych osób)

Salim Shamim
źródło