Taula de continguts:

Comunicació sense fils SmartHome: els fonaments extrems de MQTT: 3 passos
Comunicació sense fils SmartHome: els fonaments extrems de MQTT: 3 passos

Vídeo: Comunicació sense fils SmartHome: els fonaments extrems de MQTT: 3 passos

Vídeo: Comunicació sense fils SmartHome: els fonaments extrems de MQTT: 3 passos
Vídeo: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, De novembre
Anonim
Comunicació sense fils SmartHome: els fonaments extrems de MQTT
Comunicació sense fils SmartHome: els fonaments extrems de MQTT
Comunicació sense fils SmartHome: els fonaments extrems de MQTT
Comunicació sense fils SmartHome: els fonaments extrems de MQTT

Conceptes bàsics de MQTT:

** Faré una sèrie de domòtica, seguiré els passos que vaig fer per aprendre tot el que he fet en el futur. Aquest instructable és la base sobre com configurar MQTT per utilitzar-lo en els meus futurs instructables. Tot i això, els ensenyaments d’aquest contingut seran aplicables a qualsevol projecte que vulgueu assumir. **

Internet de les coses:

La Internet de les coses s’apodera del món i, sobretot, en comunitats com la nostra, aquí a Instructables. Des que em vaig unir a aquesta comunitat, s’ha consolidat amb la creació de persones

Dispositius connectats i controlats per Internet. Quan es treballa amb Internet of Things, és difícil no complir el protocol MQTT. Es tracta d’un protocol de comunicacions com altres que s’utilitzen avui dia a Internet, com ara HTTP o FTP, però la seva forma de funcionar és diferent, cosa que el fa ideal per a aplicacions d’Internet de les coses.

Què és MQTT:

MQTT (Message Queuing Telemetry Transport) és un protocol de comunicació lleuger que utilitza una arquitectura de publicació / subscripció. HTTP, que és el que utilitza la majoria d’Internet, es basa en un sistema de sol·licitud / resposta. Això vol dir que rep una sol·licitud d’un client i envia una resposta a aquest client. MQTT també té un servidor (anomenat broker) i molts clients. A diferència de HTTP, MQTT permet als clients publicar o subscriure's a "temes" específics. Això permet una comunicació més àmplia mitjançant un punt centralitzat, el broker. Cada node pot publicar un tema del broker i qualsevol node subscrit a aquest tema rebrà el missatge. Els clients també poden subscriure's a diversos temes i, a continuació, poden rebre diverses directives o actualitzacions.

Tot el sistema està basat en esdeveniments i permet enviar missatges del broker a cada client subscrit. Per tant, en lloc d’HTTP, on el client sol·licita la informació, el client l’envia directament a l’agent quan la rep. També hi ha serveis integrats que permeten diverses garanties, com ara les especificacions de QOS. Una especificació de QOS permet a un agent determinar si cal enviar un missatge com a màxim una vegada, almenys una vegada o exactament una vegada. D’aquesta manera es garanteix que les dades s’entreguen de la manera requerida a cada client. Els clients també poden sol·licitar que els missatges publicats al seu tema es guardin en memòria intermèdia en el broker en cas que se’n desconnectin per qualsevol motiu. Un cop torni a estar en línia, aquestes dades seran transmeses al client.

Un tema no té res d’especial, només és una varietat de cadenes que es combinen i se separen per barres inclinades. El format de l’exemple que s’utilitzarà a continuació és el següent: casa / dormitori / sostre_llum. Cada barra inclosa es col·loca després d’un tema per significar un subtema. Per tant, es podria publicar un missatge a casa, on tots els dispositius de la casa el rebran. Es podria publicar directament a casa / dormitori, on tots els dispositius del dormitori rebran el missatge. I pot baixar al dispositiu específic tal com es mostra per primera vegada home / dormitori / sostre_llum, on només el llum del sostre del dormitori rebrà el missatge. La forma en què podem abstraure dispositius individuals com aquest fins a tot un ecosistema és molt útil, sobretot pel que fa a la domòtica. Hi ha altres maneres de desglossar els temes, i aprofundiré en ells en els futurs Instructables, on l'aplicació té més sentit.

Subministraments

Només cal un dels següents:

Ubuntu:

Subsistema Windows per a Linux: https://ubuntu.com/wsl (només si no teniu Linux / MacOS)

MacOS: requereix un MacBook

Això és obligatori:

Mosquitto MQTT Broker: descarregat amb apt-get (Documentació:

Pas 1: configuració inicial (segons el vostre sistema operatiu)

MacOS / Linux:

No cal cap configuració, només cal obrir el terminal i passar a la configuració de Mosquitto.

Windows:

Si sou a Windows, haureu d’instal·lar el subsistema Windows per a Linux. Es tracta d’una eina molt fàcil d’utilitzar i extremadament valuosa que us permet executar un terminal Ubuntu dins de Windows. No cal instal·lar i arrencar dual Ubuntu només per provar el desenvolupament al terminal.

Passos d'instal·lació:

1. Aneu al Windows Store i cerqueu ubuntu

2. Descarregueu i instal·leu el subsistema Windows per a Linux

3. Obriu l'aplicació i seguiu les instruccions per completar la configuració i ja podeu continuar.

Pas 2: Configuració de Mosquitto:

Configuració de Mosquitto
Configuració de Mosquitto
Configuració de Mosquitto
Configuració de Mosquitto
Configuració de Mosquitto
Configuració de Mosquitto

Així, tal com es va comentar a la introducció sobre MQTT, el protocol requereix un intermediari (servidor). Aquest broker és el punt base de totes les connexions establertes amb cada client. Tots els missatges es passen a la cua en aquest agent. Hi ha moltes opcions per triar per a un corredor i les podeu trobar en línia, però la que farem servir és probablement la més comuna: Mosquitto.

Mosquitto és un corredor MQTT basat en Linux amb una gran quantitat de funcionalitats. En aquest moment no entraré en els detalls d’aquesta funcionalitat, però alguns requisits bàsics que compleix són l’autenticació d’usuari / contrasenya i el xifratge TLS que són útils per al desenvolupament de dispositius Internet de les coses.

Passos:

Tots aquests passos s'han de completar en una finestra del terminal.

1. Instal·leu els clients Mosquitto i MQTT

sudo apt-get install mosquitto mosquitto-clients

2. Subscriu-te a un tema

mosquitto_sub -t "prova"

El que fa això és subscriure's a un tema. Aquest tema es denota amb "-t" i el valor del tema és "test". Aquest valor després de la "-t" pot ser qualsevol cosa que vulgueu estalviar per a algunes reserves especials.

3. Obriu una nova finestra de terminal i publiqueu un missatge al tema "prova"

mosquitto_pub -t "test" -m "Hello World with MQTT!"

Es publica un missatge al tema "prova", que permet a la nostra altra instància de terminal rebre el missatge a la part de la subscripció. El missatge publicat es denota amb una "-m" i el valor del missatge és "Hello World With MQTT". Aquest missatge, igual que el tema, es pot canviar pel que vulgueu.

4. Aneu a la primera finestra del terminal per veure els vostres resultats. Heu de rebre un missatge que digui "Hello World With MQTT". Si no ho veieu, assegureu-vos que heu escrit el tema adequat. Si ho heu completat amb èxit, continueu jugant amb ell. Proveu temes diferents, amb subtemes i missatges diferents.

Pas 3: conclou

Això és! Un cop ho hàgiu acabat tot, enteneu els conceptes bàsics de com funciona MQTT. Aquest és un tutorial molt rudimentari que només mostra el mínim del protocol MQTT. Future Instructables aprofundirà en el funcionament del protocol a la pràctica amb Internet de les coses, especialment amb els mòduls ESP8266 que executen Arduino. La meva primera aplicació pràctica serà la cafetera intel·ligent que tinc actualment a la meva habitació. Si voleu aprendre a fer una cafetera que es pugui controlar tant des del telèfon com des d’Alexa, assegureu-vos de seguir-me per obtenir més tutorials.

Recomanat: