esthesis device agent comes with two embedded endpoints:
An MQTT endpoint, allowing external applications to communicate with the device agent using MQTT, and
An HTTP/REST endpoint, allowing external applications to communicate with the device agent using HTTP.
The purpose of the embedded endpoints is to allow external sources to forward data to the esthesis platform. Since the endpoints are defined and configured on the esthesis device agent, external sources can forward data to the esthesis platform without having to be aware of any connectivity details, other than the IP address and port of the endpoints on the esthesis device agent.
As depicted above, in the case where the external source is running on the same device as the esthesis device agent, the external source can be configured to use 127.0.0.1.
Both embedded endpoints expect data to follow the esthesis Line Protocol (eLP), however you can push any other format you may have and convert it into the esthesis Line Protocol using the Transforming payloads functionality of the agent.
HTTP endpoints
esthesis device agent exposes two HTTP endpoints:
/telemetry - for sending telemetry data to the esthesis platform, and
/metadata - for sending metadata to the esthesis platform.
Sending data example (HTTP)
curl -X POST 127.0.0.1:8080/telemetry -d "cpu temperature=30"
curl -X POST 127.0.0.1:8080/metadata -d "net ip='192.168.1.1'"
MQTT endpoint
esthesis device agent exposes two MQTT endpoints:
telemetry - for sending telemetry data to the esthesis platform, and
metadata - for sending metadata to the esthesis platform.
Sending data example (MQTT)
To send data to the MQTT endpoints you need to use an MQTT client. The following examples use the Mosquitto MQTT client, which is available for most operating systems.