Hoppa till huvudinnehåll

Åtkomst till IoT-plattformens API och MQTT-broker

IoT-plattformen exponerar två programmatiska gränssnitt:

  • ett REST-API (https://beta.yggio.net/api/…), fullständigt dokumenterat i Swagger; och
  • en MQTT-broker (mqtt.beta.yggio.net:8883) för pub/sub - se MQTT-referensen för fullständiga detaljer.

Den här sidan är en snabbreferens för att komma åt dem med tre vanliga verktyg - curl, Postman och MQTT Explorer. För praktiska genomgångar, se träningslektionerna: Curl, Postman, MQTT Explorer.

Autentisering (REST)​

Hämta en användaråtkomsttoken och skicka den som en Bearer-header i varje autentiserad förfrågan.

POST https://beta.yggio.net/api/auth/local
Content-Type: application/json

{ "username": "…", "password": "…" } → { "token": "eyJ…" }
Authorization: Bearer <token>

Tokens upphör att gälla; begär en ny vid behov. För långlivad applikationsåtkomst, skapa en klientapp (POST /api/client-apps) eller, för MQTT, en uppsättning grundläggande autentiseringsuppgifter (Basic Credential Set) (POST /api/basic-credentials-sets). Ändpunkten för att skicka enhetsdata (/http-push/generic) autentiserar istället med enhetens egen secret.

Vanliga REST-ändpunkter​

ÅtgärdFörfrågan
Lista enheterGET /api/iotnodes (filter: ?q=<field>)
En enhetGET /api/iotnodes/{_id}
Uppdatera ett enhetsfältPUT /api/iotnodes/{_id}
TidsserieGET /api/iotnodes/{_id}/stats?measurement=<field>&start=<ms>&distance=<s>
Skicka data till en generisk enhetPOST /http-push/generic?identifier=secret (body innehåller secret)

Se Swagger för den fullständiga listan och scheman.

curl​

Kommandorad, idealisk för skriptning. Håll token i en variabel:

export YGGIO_URL="beta.yggio.net"
export YGGIO_TOKEN=$(curl -sS -X POST "https://$YGGIO_URL/api/auth/local" \
-H "Content-Type: application/json" \
-d '{"username":"USER","password":"PASS"}' | jq -r .token)

# read
curl -sS "https://$YGGIO_URL/api/iotnodes?q=temperature" \
-H "Authorization: Bearer $YGGIO_TOKEN" | jq .

# push to a generic device (uses the device secret, not the token)
curl -sS "https://$YGGIO_URL/http-push/generic?identifier=secret" \
-H "Content-Type: application/json" \
-d '{"secret":"YOURDEVICESECRET","temperature":22}'

Postman​

Grafiskt HTTP-klientverktyg; bra för att utforska API:et och köra sparade collections.

  1. Skapa en POST-förfrågan till {{baseUrl}}/api/auth/local (JSON-body med username/password); i fliken Tests spara token med pm.environment.set("token", pm.response.json().token).
  2. På andra förfrågningar, sätt headern Authorization: Bearer {{token}}.
  3. Läs med GET {{baseUrl}}/api/iotnodes; skicka med POST {{baseUrl}}/http-push/generic?identifier=secret.
  4. För massimport av tidsserier finns en färdig collection - CSV-importcollection (se Lektion 1.4).

MQTT-broker​

Anslut med valfri MQTT-klient:

InställningVärde
Värdmqtt.beta.yggio.net
Port8883 (TLS - aktivera kryptering + certifikatvalidering)
Autentiseringsuppgifteren uppsättning grundläggande autentiseringsuppgifter (Basic Credential Set)
Publicera till (generisk enhet)yggio/generic/v2/<id>
Prenumerera på användarutdatayggio/output/v2/<userID>/#

Att publicera till yggio/generic/v2/<id> skapar/uppdaterar automatiskt en enhet; delämnen blir nästlade objekt. Fullständiga detaljer (kanaler, reserverade ämnen, exempel) finns i MQTT-referensen.

MQTT Explorer​

MQTT Explorer är ett skrivbordsklientverktyg för att inspektera brokern:

  1. Ny anslutning → Värd mqtt.beta.yggio.net, Port 8883, Kryptering på, Validera certifikat på, och din uppsättning grundläggande autentiseringsuppgifter.
  2. Ta bort standardämnena först. MQTT Explorer prenumererar på # och $SYS/# som standard, men IoT-plattformen ger inte åtkomst till brokerns rot - dessa prenumerationer avvisas (de kräver root-behörighet). Öppna Advanced, ta bort posterna # och $SYS/#, och lägg till ditt eget ämne istället (t.ex. din enhets- eller anvädarutdataämne). Detta är det vanligaste misstaget.
  3. Publicera en JSON-payload till yggio/generic/v2/<id> för att skapa/uppdatera en enhet.
  4. Prenumerera på ditt eget ämne för att se exakt vad IoT-plattformen publicerar, live.

Verktygsöversikt​

VerktygGränssnittBäst för
curlRESTsnabba tester, skriptning/automatisering
PostmanRESTutforska API:et, sparade collections, CSV-import
MQTT ExplorerMQTTpublicera testdata, inspektera brokern
mosquitto_sub/pubMQTTCLI/skriptad MQTT (se MQTT-referensen)

Se även​