Nie mam ambicji przedstawić tu wszystkich systemów dedykowanych do wymiany danych pomiędzy urządzeniami IoT. Przedstawię tylko niektóre ze sposobów, które zastosowałem w przedstawianych projektach. W tym i w kolejnych rozdziałach znajdziesz wyjaśnienia, jak tworzyć aplikacje internetowe w oparciu o różne metody komunikacji. Przygotowałem również odpowiednie usługi serwerowe dla Twoich aplikacji. To gotowe oprogramowanie po stronie serwera zapewni Ci dostęp do odpowiednio przygotowanych internetowych baz danych znajdujących się na moim serwerze. Będziesz mógł również korzystać z bardzo prostych interfejsów API, które dla Ciebie opracowałem. API to skrót od Application Programming Interface. Nie będziemy teraz omawiać szczegółów, ale API jest oprogramowaniem pośredniczącym, które pozwala dwóm aplikacjom komunikować się ze sobą. Gdy poznasz moje API, to Twoje aplikacje będą mogły się komunikować się z moimi, aby korzystać z usług mojego serwera (jest tu osobna sekcja o API).
Ogólnie rzecz biorąc, ta prezentacja nie nauczy Cię, jak serwery przetwarzają żądania usług. Możliwe, że kiedyś przygotuję specjalną prezentację dotyczącą przetwarzania danych po stronie serwera.
• Technika "HTTP polling"
Jest to najprostsza metoda komunikacji, w której klienty odpytują serwery żądając od nich danych.
• Technika "HTTP long polling"
Mechanizm "Long polling" jest to modyfikacja techniki "Polling" w celu niezależnego wysyłania (wypychania) danych do klienta ze strony serwera.
Technika "long polling" jest substytutem komunikacji w czasie rzeczywistym.
• Technika SSE - Server-Sent-Events
Jest to technika, w której klient sieciowy automatycznie pobiera aktualizacje z serwera za pośrednictwem połączenia HTTP. Aktualizacje danych przychodzą bez pytania serwerów, czy mają jakieś nowe informacje.
Technika SSE jest metodą umożliwiającą jednokierunkową komunikację w czasie rzeczywistym.
Protokół komunikacji sieciowej, zapewniający pełnodupleksowy kanał komunikacyjny za pośrednictwem pojedynczego połączenia TCP.
Websockets to metoda dwukierunkowej komunikacji w czasie rzeczywistym.
• MQTT - Message Queuing Telemetry Transport
Protokół MQTT został opracowany specjalnie do komunikacji z urządzeniami zdalnymi, w których przesyłane są niewielkie porcje danych.
• WebRTC -Web Real-Time Communication
WebRTC to otwarty projekt opracowany do bezpośredniej komunikacji w czasie rzeczywistym między zdalnymi urządzeniami.