---
# System prepended metadata

title: Introducció a MQTT
tags: [SMX]

---

<div style="width: 45%; margin-left: auto;">

![image](https://hackmd.io/_uploads/By3ai4Bolx.png)

</div>

<a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/"><img alt="Llicència de Creative Commons" style="border-width:0" src="https://i.creativecommons.org/l/by-sa/4.0/88x31.png" /></a><br />Aquesta obra està subjecta a una llicència de <a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/">Reconeixement-CompartirIgual 4.0 Internacional de Creative Commons</a>

# Introducció a MQTT
![image](https://hackmd.io/_uploads/ryvzhL_G-e.png)


## Què és MQTT?

**MQTT (Message Queuing Telemetry Transport)** és un protocol de
comunicació lleuger, dissenyat per a dispositius amb recursos limitats i
xarxes inestables. És molt utilitzat en l'àmbit de l'**IoT**, domòtica i
sistemes distribuïts.

## Característiques principals

### **1. Lleuger i eficient**

-   Missatges amb molt poca sobrecàrrega.
-   Ideal per microcontroladors i connexions de baixa qualitat.

### **2. Model publish/subscribe**

-   Els clients **publiquen** missatges en *topics*.
-   Altres clients es **subscriuen** a aquests *topics*.
-   El **broker** central gestiona tota la comunicació.


## Conceptes clau

### **Broker**

Servidor central per on passen tots els missatges. Exemples: Mosquitto,
EMQX, HiveMQ.

### **Topic**

Canal de comunicació, per exemple:

    casa/sala/temperatura

### **Qualitat de Servei (QoS)**

  Nivell      Descripció
  ----------- ----------------------------------------
  **QoS 0**   S'envia una vegada, sense confirmació.
  **QoS 1**   Almenys una vegada, amb confirmació.
  **QoS 2**   Exactament una vegada (més fiable).

### **Retained messages**

El broker manté l'últim missatge d'un topic per enviar-lo als nous
subscriptors.

## Exemples d'ús

-   Enviament de dades de sensors (temperatura, humitat...)
-   Control domòtic (llum, portes, HVAC...)
-   Comunicació entre robots o sistemes industrials
-   Monitoratge remot

## Exemple de flux bàsic MQTT

1.  Un sensor publica:

    PUBLISH topic: casa/sala/temperatura
    payload: 22.5

2.  Els dispositius subscrits al topic reben el missatge.



## Per què utilitzar MQTT?

-   Simple i ràpid de configurar\
-   Funciona en xarxes inestables\
-   Escalable\
-   Compatible amb milers de dispositius IoT
