Serwer do obsługi połączeń z inteligentnymi gniazdami


9

Obecnie pracuję nad architekturą dla aplikacji, która będzie zarządzać inteligentnymi gniazdami i potrzebuję porady. Oto, co mam na teraz:

architektura systemu

Nie jestem pewien, jak poradzić sobie z połączeniem między sprężyną a gniazdem inteligentnym (chcę móc włączyć / wyłączyć gniazdo z mojej aplikacji internetowej). Komunikuję się z moimi gniazdami przez HTTP. Moim pomysłem jest posiadanie serwera, który będzie zarządzał połączeniami i poleceniami między Spring a gniazdami:

  1. Gdy gniazdo zostanie włączone, spróbuje połączyć się z serwerem.
  2. Serwer będzie czekał na nowe połączenia z inteligentnych gniazd, aby je zapisać. Będzie także czekał na polecenia ze strony Spring, aby zmienić stan gniazda.

Czy to dobry pomysł? Jeśli tak, czy jest jakieś narzędzie, które mi w tym pomoże (może być wbudowane wiosną), czy powinienem to napisać samodzielnie?


Na pierwszy rzut oka jest tu wiele ruchomych części. W tej chwili Node-RED nie wydaje się robić nic poza nieprzyzwoitymi danymi do instancji Mongo, ale (zakładając, że jest to tylko dla ciebie), prawdopodobnie jest w stanie zaprezentować również cały przód
hardillb

Odpowiedzi:


7

Masz już możliwość publikowania danych za pomocą protokołu MQTT, nawet brokera i sposobu przekazywania określonych żądań do Spring z gniazda.

Nie widzę sensu przejmować odpowiedzialności za to, czy gniazdo jest podłączone do niektórych próśb na wiosnę. Broker MQTT robi to pod maską, nie musisz już wymyślać koła ponownie.

Tak więc stworzyłbym więcej wydawców i subskrypcji Springa i gniazda i używałbym MQTT jako protokołu, nie dotykając tym razem http.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.