Co to jest „Embedded Agent” w odniesieniu do urządzenia Edge IoT o niskim poborze mocy?


14

Pytanie: Jaka jest podstawowa koncepcja „Embedded Agent” w odniesieniu do urządzeń brzegowych o niskiej mocy Internetu Rzeczy (IoT)?

Niektórzy dostawcy usług w chmurze IoT powołują się na instalację agenta osadzonego w urządzeniach brzegowych opartych na czujnikach. Wygląda na to, że jest to zastrzeżone oprogramowanie, które producenci instalują na każdym urządzeniu łączącym się z chmurą. Poniżej znajdują się dwa obrazy stosów oprogramowania z odniesieniami do Agenta . Część stosu oprogramowania znajduje się w mikrokontrolerze.

Agent IOT - 1

Agent IOT

Również tutaj jest bardzo szerokie wyjaśnienie blog Thingworx

Agent to program osadzony, który działa na urządzeniu IoT lub w jego pobliżu i zgłasza stan niektórych zasobów lub środowiska. W aplikacji IoT zawsze występuje agent. Zwykle agent odczytuje stan z czujników lub lokalnej łączności z zasobem, stosuje pewne reguły lub logikę dotyczącą tego, jak często nadawca musi agregować informacje, a następnie wysyła je za pośrednictwem sieci komunikacyjnej dalekiego zasięgu do serwera. Ten proces może również działać odwrotnie.

Zakładam, że agent ten składa się z informacji o łączności, takich jak adres IP, nazwa serwera, informacje o typie SSID w celu ułatwienia łączności. Czy te agenty osadzone mają inne funkcje poza zapewnianiem łączności?

Bibliografia:


Czy mógłbyś podać odniesienie do architektury IoT (drugie zdjęcie)? Dzięki
BiG_TooTh

Odpowiedzi:


13

Ogólnie rzecz biorąc, agent jest oprogramowaniem „dwukierunkowym”; tzn. odczytuje parametry z urządzenia i komunikuje to samo z chmurą, a nawet bramą. Najczęściej producent OEM kontroluje biblioteki w celu opracowania oprogramowania do sterowania parametrami urządzenia. Natomiast producent OEM może wybrać dowolny z popularnych protokołów komunikacyjnych (MQTT, HTTP itp.), Aby opublikować odczytane wartości. Zazwyczaj integracja tych dwóch jest przestrzenią, w której wchodzi integrator systemów.

Na przykład agent może działać na pulpicie systemu Windows, aby odczytywać obroty wentylatora co 5 sekund. Ta wartość jest następnie przekazywana do platformy chmurowej za pomocą uzgodnionego protokołu.

Przykładowy kod z PAHO MQTT (Python) stronie internetowej :

mqttc.connect("iot.eclipse.org")
mqttc.loop_start()

while True:
    temperature = sensor.blocking_read()
    mqttc.publish("paho/temperature", temperature)

Powyższy fragment kodu jest z grubsza agentem, ponieważ istnieje część „z urządzenia” w postaci funkcji, sensor.blocking_read()a część „do chmury” w postaci a mqttc.publish().

Zaawansowani agenci będą mieli mechanizmy do obsługi pamięci offline, obsługę TLS do komunikacji w chmurze, wdzięczne reagowanie na wszelkie aktualizacje z chmury (w tym ponowne uruchamianie, w razie potrzeby) itp. A w konkretnym przypadku tego pytania agent poradzi sobie z ograniczeniami mocy zbyt. Na przykład reaguj na wyzwalacze poziomu urządzenia, takie jak sen, budzenie itp.


To interesująca definicja dwukierunkowego. Nie nazwałbym czujnika dwukierunkowym, gdyby tylko czyta i raportuje. Powiedziałbym, że musi być w stanie odebrać co najmniej jeden rodzaj wiadomości, aby był dwukierunkowy. Odczytywanie prędkości wentylatora jest nieodłącznym uzasadnieniem bycia, a nie komunikacją.
Helmar

Nie rozumiem twojego zastosowania „dwukierunkowego” tutaj. Agent to oprogramowanie na urządzeniu, które działa w imieniu serwera (w tym kontekście). Nie musi komunikować się z serwerem (chociaż jest to bardzo częsty przypadek użycia). Na przykład można tam ustawić wyłącznie parametry konfiguracyjne lub pobrać aktualizacje.
Gilles „SO- przestań być zły”
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.