Insight

Hva er MQTT og hvordan brukes det?

Headerbilde med MQTT-logo

MQTT blir stadig mer populært, spesielt for å overføre data fra fysiske enheter til skyløsninger. Selv om protokollen har eksistert i mer enn 20 år, er den spesielt godt egnet for IoT-enheter, som har hatt en kraftig økning de siste årene. I denne artikkelen ser vi nærmere på hvordan MQTT fungerer, og viser hvordan du kan bruke den.

Hva er MQTT?

MQTT (Message Queing Telemetry Transport) er en lightweight publish/subscribe nettverksprotokoll for maskin-til-maskin-kommunikasjon. Protokollen kjører vanligvis over TCP/IP.

MQTT ble opprinnelig utviklet for bruk i olje- og gassindustrien for å kunne sende data til remote servere med minimal båndbredde. I dag er fremdeles MQTT spesielt nyttig å for å få tilgang til data fra steder med begrenset nettverkskommunikasjon, for eksempel fjerntliggende kraftverk, fiskeoppdrettsanlegg i sjøen og bevegelige fartøy, som lastebiler og skip.

En av de største grunnene til at MQTT har blitt populær er at den er enkel å ta i bruk. Med en lett protokoll kan den tilgjengelige båndbredden brukes effektivt. I tillegg kan den settes opp svært fleksibelt med Quality of Service og publish/subscribe-prinsippet i stedet for tradisjonell klient/server. Det finnes flere ulike typer MQTT på markedet, både kommersielle (HiveMQ er mest kjent) og med åpen kildekode, for eksempel Mosquitto.

Slik fungerer MQTT

MQTT Broker

En publish/subscribe-kommunikasjonsmodell er i stor grad uavhengig. Klientene publiserer selv data når de vil, og kan også abonnere på de dataene de ønsker. En sentral rolle her er en MQTT Broker. Denne styrer kommunikasjon mellom publisher og subscriber i riktig retning. Så snart Broker mottar en melding fra publisher, videresendes den til alle klienter som abonnerer på meldingen.

MQTT Broker kommunikasjon

Illustrasjonen viser hvordan data sendes fra anleggsgulvet, via en MQTT Broker til ulike klienter. Deretter sendes kommandoer tilbake til anleggsgulvet for styring av industrielt utstyr.

Topics og Payload

I tillegg til det fleksible oppsettet i kommunikasjonsarkitekturen, kan også innholdet i meldingene fylles ut etter egne behov. Meldinger kan struktureres på grunnlag av såkalte «Topics»: En hierarkisk referanse til et bestemt emne som ligner på en URL. Ulike meldinger kan deretter plasseres på dette stedet, med hvilket som helst innhold du ønsker. Dette er Payload. JSON-formatet brukes ofte til dette, fordi det publiserer tekst som er lett å lese og tolke.

Hva er Sparkplug B?

For å kunne gi klienter og Broker veiledning om strukturen til dataene, brukes ofte Sparkplug B som standard. Sparkplug B legger til metadata til innholdet, slik at subscribers selv kan tolke hvilke og hva slags data de mottar. Dette gjør at MQTT-klienter som støtter Sparkplug B kan kommunisere lettere med hverandre.

MQTT og Unified Namespace (UNS)

Unified Namespace (UNS) forenkler tilgjengelighet, vedlikehold og administrasjon av data fra industrielt utstyr og systemer, og er i ferd med å bli et av de viktigste verktøyene for industriell digitalisering. For å bygge et UNS må du bruke en standardisert IoT-protokoll, hvor MQTT er et av de vanligste valgene.

Produkter med MQTT-støtte

Som nevnt øker bruken av MQTT, også innen industriell automasjon. Store skyleverandører som Microsoft, Google og Amazon foretrekker denne protokollen for å registrere data, og tilbyr derfor MQTT «entrypoints» som Azure IoT Hub. I tillegg, på grunn av protokollens enkelthet, er det mulig å bygge inn en MQTT-klient på alle typer enheter: Fra komplette Windows-systemer til små Raspberry Pi og Ardiono-kort. I dag finnes det til og med sensorer som kan publisere dataene sine direkte i MQTT. 

Mange løsninger for datatilgang og lagring tilbyr i dag støtte for MQTT som standard. Her er en oversikt over våre produkter som tilbyr dette: 

OPC – industriell kommunikasjon

Prosessdatabase

DataOps

Vil du vite mer om hvordan du kan bruke MQTT i din bedrift? Ta kontakt med oss for å snakke med en av våre produkteksperter. 

Flere insights