Skip to content

alimadeoliveiranatalia/real-time-use-mqtt

Repository files navigation

Interface Consumo Protocolo MQTT

Interface Web para exibição de dados do broker MQTT mosquitto

Required softwares

Sobre o Next.js

This is a Next.js project bootstrapped with create-next-app.

Learn More

To learn more about Next.js, take a look at the following resources:

You can check out the Next.js GitHub repository - your feedback and contributions are welcome!

Infrastructure

Server Mosquitto

Para consumir dados será necessário já haver um servidor no mosquitto já configurado e com a comunicação websocket já habilitada.

Neste demo vamos utilizar um container mosquitto no docker.

Crie um arquivo Dockerfile na raiz do projeto, com as seguintes especificações:

FROM eclipse-mosquitto

COPY mosquitto.conf /mosquitto/config/mosquitto.conf

CMD ["mosquitto", "-c", "/mosquitto/config/mosquitto.conf"]

Crie um arquivo mosquitto.conf na raiz do projeto, com as seguintes especificações:

listener 1883
listener 9001
protocol websockets
allow_anonymous true

Atenção: Ao definir allow_anonymous true, é uma opção altamente insegura, em ambiente de produção, habilite mecanismos de autenticação.

Execute o seguinte comando no terminal, no mesmo diretório do arquivo Dockerfile e mosquitto.conf, para criar a imagem do servidor mosquito no docker

docker build -t mosquitto-websocket .

Em seguida, execute o seguinte comando de criação do servidor mosquitto em um container docker:

docker run --name mosquitto_server -p 1883:1883 -p 9001:9001 mosquitto-websocket

Get started In Client Server

Clone o projeto

  git clone https://github.com/alimadeoliveiranatalia/real-time-use-mqtt.git

Entre no diretório backend e frontend

    cd backend
    # or
    cd frontend

Instale as dependências do projeto

    npm install

Abra o terminal e execute

    node client_subscribe.js

O console exibirá a seguinte messagem: Inscrito no tópico: <name_topico>

Em outro terminal execute

    node client_publish.js

O console irá exibir os dados do csv no console.

Additional References