Dla uproszczenia opiszę to za pomocą typowej konfiguracji inteligentnego domu jako odniesienia, ale aplikacja tak naprawdę nie naprawia niczego. Topologia wysokiego poziomu jest równie odpowiednia dla aplikacji do monitorowania farmy obejmującej kilka kilometrów z tysiącami lub czujnikami, śledzenia miejsc parkingowych w mieście lub zarządzania oświetleniem w budynku biurowym.
Zajmę się tym problemem w przybliżeniu w warstwach hierarchii urządzeń, co może odpowiadać coraz większej złożoności instalacji lub wciągnięciu konkretnych scenariuszy przypadków użycia. Oto mój ogólny schemat obejmujący całą sieć.
Poziom
węzła Indywidualny węzeł na moim schemacie to lampa podłączona do WiFi z lokalnym fizycznym przełącznikiem obejścia. Węzeł często ma zarówno funkcje czujnikowe, jak i kontrolne oraz niewielką ilość lokalnych obliczeń / pamięci. Idealnie węzeł może działać autonomicznie. Węzeł może przejąć kontrolę z przełączników lokalnych, bezpośrednio przez sieć LAN (jeśli ma WiFi / Bluetooth) lub z lokalnego koncentratora lub chmury. Węzeł często utrzymuje stałe połączenie TCP z koncentratorem lub chmurą.
Jedna lokalizacja zazwyczaj zawiera kilka węzłów, z różnymi funkcjami, przy użyciu różnych opcji łączności. Inteligentny dom może gromadzić dane dotyczące temperatury wewnętrznej / zewnętrznej, aktywności i wideo. Zdalne czujniki mogą korzystać z różnych połączeń z Internetem. Węzły zwykle używają mikrokontrolerów , często przy niskich częstotliwościach zegara.
Poziom koncentratora W inteligentnym domu może istnieć kilka koncentratorów (jeden dla każdego dostawcy urządzenia), agregacja lub hierarchia. Koncentrator można połączyć w routerze lub autonomicznie. Koncentrator nie musi nawet być aktywny w sieci (poza przekazywaniem pakietów). Koncentrator może być jednak odpowiedzialny za przekazywanie poleceń do węzła - poleceń pochodzących z innych lokalnie połączonych węzłów lub ze zdalnego serwera. Koncentrator może wdrożyć przechowywanie danych, kompresję lub filtrowanie danych. Naprawdę, hub jest tylko facylitatorem. Dzisiaj hub jest pierwszą częścią sieci, która ma możliwość zapewnienia publicznego DNS, co umożliwia publikowanie informacji o strukturze sieci w pełnym systemie. Jak opisano w tym pytaniuhub jest często konieczny do połączenia mostu pomiędzy przewodowym / WiFi TCP-IP a protokołem radiowym małej mocy, takim jak zigbee lub Bluetooth o niskiej energii . Koncentratory są zwykle zbudowane wokół mikroprocesorów i są mniej obciążone energią niż węzły.
Terminale mobilne zwane inaczej smartfonem. Są to często główny punkt interakcji użytkownika. Prosty węzeł może prezentować cały interfejs użytkownika za pośrednictwem smartfona, gdy węzeł może ustanowić bezpośrednie lub pośredniczące połączenie z określonym urządzeniem. Osiągnięcie tego zasadniczo wymaga mechanizmu ustanawiania zaufania / własności / parowania. Terminal może ustalić, czy jego własny koncentrator znajduje się w sieci lokalnej, czy musi wykonywać całą komunikację za pośrednictwem zewnętrznego serwera, czy też może wyszukać adres IP, który umożliwia bezpośrednie przekierowanie do jego „macierzystego” koncentratora. Ten drugi scenariusz zazwyczaj wymaga skonfigurowania routera do przekierowywania portów.
Usługa chmuryUsługa w chmurze często wykonuje większość pracy na stosie, chociaż nie zawsze jest to konieczne (i nie wszystkie implementacje wymagają jakiejkolwiek funkcji chmury). Najbardziej użyteczną funkcją, którą może zapewnić zewnętrzny (publicznie adresowany) serwer, jest aranżacja. Każdy węzeł i element pośredni sieci zazwyczaj jest w stanie komunikować się bezpośrednio z tym kanałem do serwera, a serwer może z łatwością przekazywać wiadomości z jednego urządzenia do drugiego. Serwer może agregować dane i przedstawiać wizualizacje użytkownikowi. W zależności od konfiguracji użytkownika może także przekazywać informacje innym użytkownikom (goście mogą uzyskać kontrolę dostępu i ogrzewania, na przykład ostrzeżenia o zalaniu / pożarze / włamaniu mogą wykorzystywać inne opcje sieciowe do generowania alertów). Chmura jest również dobrze przygotowana do przyjmowania innych źródeł danych,