Índice:

Comunicação sem fio SmartHome: os fundamentos extremos do MQTT: 3 etapas
Comunicação sem fio SmartHome: os fundamentos extremos do MQTT: 3 etapas

Vídeo: Comunicação sem fio SmartHome: os fundamentos extremos do MQTT: 3 etapas

Vídeo: Comunicação sem fio SmartHome: os fundamentos extremos do MQTT: 3 etapas
Vídeo: IoT e as Redes de Computadores 2024, Julho
Anonim
Comunicação SmartHome Wireless: os fundamentos extremos do MQTT
Comunicação SmartHome Wireless: os fundamentos extremos do MQTT
Comunicação SmartHome Wireless: os fundamentos extremos do MQTT
Comunicação SmartHome Wireless: os fundamentos extremos do MQTT

MQTT Básico:

** Vou fazer uma série de Domótica, vou seguir os passos que dei para aprender tudo o que fiz no futuro. Este Instructable é a linha de base sobre como configurar o MQTT para uso em meus futuros Instructables. No entanto, os ensinamentos neste conteúdo serão aplicáveis a qualquer projeto que alguém queira realizar. **

Internet das Coisas:

A Internet das Coisas está dominando o mundo, especialmente em comunidades como a nossa aqui na Instructables. Desde que entrei para esta comunidade, ela se fortaleceu com a construção de pessoas

Dispositivos conectados e controlados pela Internet. Ao trabalhar com Internet das Coisas é difícil não vir pelo protocolo MQTT. Este é um protocolo de comunicação como outros usados na Internet hoje, como HTTP ou FTP, porém a forma como funciona é diferente, o que o torna ideal para aplicativos da Internet das Coisas.

O que é MQTT:

MQTT (Message Queuing Telemetry Transport é um protocolo de comunicação leve que utiliza uma arquitetura de publicação / assinatura. HTTP, que é o que a maioria da Internet usa, é construído em um sistema de solicitação / resposta. Isso significa que ele obtém uma solicitação de um cliente e envia uma resposta a esse cliente. MQTT também tem um servidor (chamado de broker), bem como muitos clientes. Em contraste com HTTP, MQTT permite que os clientes publiquem ou assinem "tópicos" específicos. O que isso permite é uma comunicação mais ampla por meio um ponto centralizado, o corretor. Cada nó pode publicar em um tópico no corretor, e qualquer nó inscrito nesse tópico receberá a mensagem. Os clientes também podem se inscrever em vários tópicos e, então, receber várias diretivas ou atualizações.

Todo o sistema é orientado por eventos e permite que as mensagens do corretor sejam enviadas para cada cliente inscrito. Portanto, em vez de HTTP, onde o cliente solicita as informações, o cliente recebe as informações diretamente do corretor após o recebimento. Também há serviços integrados que permitem várias salvaguardas, como especificações de QOS. Uma especificação de QOS permite que um corretor determine se uma mensagem precisa ou não ser entregue no máximo uma vez, pelo menos uma ou exatamente uma vez. Isso garante que os dados sejam entregues da maneira necessária para cada cliente. Os clientes também podem solicitar que as mensagens publicadas em seus tópicos sejam armazenadas em buffer no broker, caso sejam desconectados dele por qualquer motivo. Assim que ficar online novamente, esses dados serão enviados ao cliente.

Um tópico não é nada especial, é apenas uma variedade de strings que são combinadas e separadas por barras. O formato no exemplo que será usado a seguir é o seguinte: casa / quarto / luz do teto. Cada barra é colocada após um tópico para significar um subtópico. Assim, uma mensagem pode ser publicada na casa, onde todos os dispositivos da casa a receberão. Pode ser publicado diretamente na casa / quarto, onde todos os dispositivos do quarto receberão a mensagem. E pode ir para o dispositivo específico, conforme mostrado pela primeira vez em casa / quarto / luz do teto, onde apenas a luz do teto do quarto receberá a mensagem. A maneira como podemos abstrair dispositivos individuais como este até um ecossistema inteiro é extremamente útil, especialmente quando se trata de automação residencial. Existem outras maneiras de dividir os tópicos, e irei examiná-los mais detalhadamente em Instructables futuros, onde o aplicativo faz mais sentido.

Suprimentos

Apenas um dos seguintes é necessário:

Ubuntu:

Subsistema Windows para Linux: https://ubuntu.com/wsl (somente se você não tiver Linux / MacOS)

MacOS: requer um MacBook

Isso é obrigatório:

Mosquitto MQTT Broker - baixado usando apt-get (documentação:

Etapa 1: configuração inicial (dependendo do seu sistema operacional)

MacOS / Linux:

Nenhuma configuração necessária, apenas abra seu terminal e pule para a configuração do Mosquitto!

Janelas:

Se você estiver no Windows, precisará instalar o subsistema Windows para Linux. Esta é uma ferramenta super fácil de usar e extremamente valiosa que permite que você execute um terminal Ubuntu dentro do Windows. Não há necessidade de instalar e dual boot Ubuntu apenas para testar o desenvolvimento no terminal!

Etapas de instalação:

1. Vá para a Windows Store e pesquise por ubuntu

2. Baixe e instale o subsistema Windows para Linux

3. Abra o aplicativo e siga as instruções para concluir a configuração e você está pronto para continuar!

Etapa 2: Configuração do Mosquitto:

Configuração do Mosquitto
Configuração do Mosquitto
Configuração do Mosquitto
Configuração do Mosquitto
Configuração do Mosquitto
Configuração do Mosquitto

Portanto, conforme discutido na introdução sobre MQTT, o protocolo requer um broker (servidor). Este corretor é o ponto base para todas as conexões estabelecidas com cada cliente. Todas as mensagens são transmitidas e enfileiradas neste broker. Existem muitas opções para escolher um corretor, e você pode encontrá-las online, mas a que usaremos é provavelmente a mais comum: Mosquitto.

Mosquitto é um MQTT Broker baseado em Linux com uma tonelada de funcionalidades. Não vou entrar nos detalhes dessa funcionalidade agora, mas alguns requisitos básicos que ela atende são autenticação de usuário / senha e suporte à criptografia TLS, todos úteis no desenvolvimento de dispositivos da Internet das Coisas.

Passos:

Todas essas etapas devem ser concluídas em uma janela de terminal.

1. Instale os clientes Mosquitto e MQTT

sudo apt-get install mosquitto mosquitto-clients

2. Inscrever-se em um tópico

mosquitto_sub -t "teste"

O que isso faz é se inscrever em um tópico. Este tópico é denotado por "-t" e o valor do tópico é "teste". Este valor após o "-t" pode ser qualquer coisa que você quiser, exceto para algumas reservas especiais.

3. Abra uma nova janela de terminal e publique uma mensagem no tópico "teste"

mosquitto_pub -t "test" -m "Olá, mundo com MQTT!"

Isso publica uma mensagem no tópico "teste", permitindo que nossa outra instância de terminal receba a mensagem no lado da assinatura. A mensagem publicada é denotada por um "-m" e o valor da mensagem é "Hello World With MQTT". Esta mensagem, assim como o tópico, pode ser alterada para o que você quiser!

4. Vá para a primeira janela do terminal para ver seus resultados! Você deve receber uma mensagem que diz "Hello World With MQTT" exibida. Se você não vir isso, certifique-se de ter digitado o tópico correto. Se você tiver concluído isso com êxito, continue brincando com ele. Experimente diferentes tópicos, com subtópicos e mensagens diferentes!

Etapa 3: Concluir

É isso! Depois de concluir tudo, você entende os fundamentos de como o MQTT funciona. Este é um tutorial muito rudimentar que mostra apenas o mínimo do protocolo MQTT. O Future Instructables explicará com mais detalhes como o protocolo funciona na prática com a Internet das Coisas, particularmente com módulos ESP8266 executando o Arduino. Minha primeira aplicação prática será a cafeteira inteligente que tenho atualmente em meu quarto. Se você gostaria de aprender como fazer uma cafeteira que possa ser controlada pelo seu telefone e pelo Alexa, certifique-se de me seguir para mais tutoriais.

Recomendado: