Press "Enter" to skip to content

Przyszłość jest teraz! Sposoby wymiany danych między IoT a SAP cz.2

W ostatnim artykule pokazałem w jaki sposób zbudować urządzenie na bazie mikro kontrolera Arduino Pro Mini. Naturalnie kolejnym krokiem jest zastosowanie protokołów wymiany danych. Naszym celem jest przekazanie danych do SAP.

Najbardziej trywialnym sposobem jest wykorzystanie protokołu HTTP/HTTPs. Niestety Arduino nie obsługuje szyfrowanych połączeń, zatem w naszym przypadku koniecznie jest zbudowanie middleware’a który będzie wstanie przesłać dalej nasze zapytanie ale już wykorzystując HTTPS. Całkiem rozsądnym rozwiązaniem jest, wystawienie API przez nasz system middleware’owy. Zwiększy to naszą elastyczność i początkującemu developerowi ułatwi trochę pracę 😉

Podstawową wadą tego rozwiązania jest to, że nie jesteśmy w stanie zapewnić działania real-time. W przypadku, gdy jest to dla nasz kluczowe wymaganie od razu lepiej rozważyć protokół MQTT bądź użycie Websocketów.

Protokół MQTT bardzo często używany jest w rozwiązaniach Internetu Rzeczy. Powód jest prosty. Protokół ten został zoptymalizowany, dla tego typu scenariuszy biznesowych. Jest on niemal 60-krotnie szybszy od HTTP, pozwala na transmisje danych real-time, a poza tym nie jest obciążający dla urządzeń na których on działa.
Facebookowy messanger opiera swoje działanie na omawianym protokole. Wyobraźmy sobie sytuacje, że dwoje użytkowników jest online i chcą porozmawiać. Z doświadczenia wiemy, że mogą prowadzić konwersację na bieżąco. Analogicznie jest w przypadku urządzeń. Jeśli urządzenia podpięte są do brokera, na bieżąco mogą wymieniać się danymi. W przypadku gdy jedno z urządzeń jest offline. Dane te będą czekać na nie do momentu, aż urządzenie znów będzie „online”, dokładnie tak, jak wiadomości we wspomnianym Messangerze.
W przypadku, gdy potrzebujemy czegoś skromniejszego, dobrą alternatywą mogą okazać się Websockety.

Zasadę działania można porównać do nastolatka oczekującego na wiadomość od swojej dziewczyny 😉 Użytkownik/Urządzenie jest cały czas tak jakby w trybie „Stand by” oczekując, aż dotrze do niego jakaś wiadomość, na którą mógłby odpowiedzieć. Websockety umożliwiają transmisję real-time, są również szybsze od HTTP, brak jednak optymalizacji względem IoT, przez co urządzenia są bardziej obciążone, niż w przypadku MQTT.

Share This:

Komentarze

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *