Frage: Was ist das unterstreichende Design hinter einem „Embedded Agent“ in Bezug auf leistungsschwache IoT-Edge-Geräte (Internet of Things)?
Einige der Anbieter von IoT-Cloud-Diensten beziehen sich weiterhin auf die Installation eines eingebetteten Agenten auf den sensorgestützten Edge-Geräten. Es scheint sich um eine proprietäre Software zu handeln, die Anbieter auf jedem Gerät installieren, das eine Verbindung zur Cloud herstellt. Unten finden Sie zwei Bilder von Software-Stacks mit Verweisen auf Agent . Ein Teil des Software-Stacks befindet sich im Mikrocontroller.
Auch hier gibt es eine sehr breite Erklärung Thingworx Blog
Ein Agent ist ein eingebettetes Programm, das auf oder in der Nähe eines IoT-Geräts ausgeführt wird und den Status eines Assets oder einer Umgebung meldet. In einer IoT-Anwendung ist immer ein Agent vorhanden. In der Regel liest der Agent den Status von den Sensoren oder der lokalen Konnektivität eines Assets, wendet Regeln oder Logik an, wie oft der Absender die Informationen aggregieren muss, und sendet sie dann über ein Fernkommunikationsnetz an den Server. Dieser Vorgang kann auch umgekehrt ablaufen.
Ich gehe davon aus, dass dieser Agent aus Konnektivitätsinformationen wie IP-Adresse, Servername und SSID-Typ besteht, um die Konnektivität zu unterstützen. Haben diese eingebetteten Agenten andere Funktionen als die Bereitstellung von Konnektivität?
Verweise:
quelle
Antworten:
Im Allgemeinen ist ein Agent eine bidirektionale Software. Das heißt, es liest die Parameter vom Gerät und kommuniziert dasselbe mit der Cloud oder sogar einem Gateway. In den meisten Fällen steuert ein OEM die Bibliotheken für die Entwicklung der Software, um die Parameter des Geräts zu steuern. Während der OEM eines der gängigen Kommunikationsprotokolle (MQTT, HTTP usw.) auswählen kann, um die gelesenen Werte zu veröffentlichen. In der Regel ist die Integration dieser beiden Bereiche der Bereich, in dem ein Systemintegrator eingesetzt wird.
Beispielsweise könnte ein Agent auf einem Windows-Desktop ausgeführt werden, um alle 5 Sekunden die Drehzahl des Lüfters zu lesen. Dieser Wert wird dann über ein vereinbartes Protokoll an eine Cloud-Plattform übermittelt.
Beispielcode von der Paho MQTT (Python) -Website :
Das obige Snippet ist in etwa ein Agent, da es den Teil 'Von Gerät' in Form der Funktion
sensor.blocking_read()
und den Teil 'Nach Cloud' in Form einesmqttc.publish()
.Fortgeschrittene Agenten verfügen über Mechanismen zur Behandlung von Offlinespeicher, TLS-Unterstützung für die Kommunikation mit der Cloud, ordnungsgemäße Reaktion auf Aktualisierungen aus der Cloud (einschließlich Neustarts, falls erforderlich) usw. Im speziellen Fall dieser Frage wird der Agent mit Strombeschränkungen umgehen auch. Reagieren Sie beispielsweise auf Auslöser auf Geräteebene, wie z. B. Ruhezustand, Aufwachen usw.
quelle