Node-RED: Caso de uso: conectar caixas de correio

Conecte sem esforço centenas de caixas de correio num posto de correios

👋 Bem-vindo à documentação da Stackhero!

A Stackhero oferece uma solução Node-RED cloud pronta a usar que proporciona uma série de benefícios, incluindo:

  • Servidor MQTT incluído (Mosquitto).
  • Acesso completo à interface de administração do Node-RED.
  • Dashboard do Node-RED incluído.
  • Servidor de email SMTP ilimitado e dedicado incluído.
  • Atualizações sem esforço com apenas um clique.
  • Nome de domínio personalizável seguro com HTTPS (por exemplo, https://node-red.sua-empresa.com).
  • Desempenho ótimo e segurança robusta alimentados por uma VM privada e dedicada.

Poupe tempo e simplifique a sua vida: leva apenas 5 minutos para experimentar a solução de hospedagem em cloud Node-RED da Stackhero!

Um dos nossos clientes gere caixas postais, centenas delas, para ser preciso. A empresa pretendia notificar os seus clientes quando recebessem novo correio (não emails, mas correio em papel!). Foi criada uma solução IoT para alcançar este objetivo, utilizando Node-RED, MQTT e MongoDB, e foi implementada em apenas alguns dias. É semelhante a um Amazon Dash, mas especificamente adaptado para notificações de correio. Aqui está como foi realizado.

O dispositivo IoT é de uma simplicidade elegante. É uma pequena caixa preta, alimentada por USB, que incorpora um botão e uma luz vermelha. Há um dispositivo atribuído a cada caixa de correio.

Quando o correio é recebido na receção, é colocado na caixa de correio correspondente, e o operador pressiona o botão. A luz vermelha pisca durante 15 segundos. Se o operador pressionar o botão novamente dentro deste período, a notificação é cancelada. Se nenhuma ação for tomada dentro destes 15 segundos, uma notificação por email é enviada ao cliente.

Cada botão está equipado com um ESP8266, um chipset compatível com WiFi. Esta conexão WiFi facilita a comunicação do dispositivo com a Internet.

Um ESP8266 numa placa WEMOS D1 MiniUm ESP8266 numa placa WEMOS D1 Mini

O protocolo MQTT foi escolhido para a comunicação entre o ESP8266 e o servidor. É um protocolo leve, ideal para aplicações IoT.

Quando o botão é pressionado, após uma breve pausa de 15 segundos, uma mensagem é enviada ao servidor via MQTT. O servidor então identifica o email correspondente e envia uma notificação ao cliente.

MQTT é perfeito para IoT. Infelizmente, a autenticação não está ativada por padrão, nem a encriptação. Observámos muitas plataformas IoT vulneráveis a ataques, levando a vazamentos de dados privados. Felizmente, quando inicia uma instância MQTT na Stackhero, tanto a autenticação quanto a encriptação são ativadas, proporcionando uma solução totalmente segura desde o início.

Para gerir as ações dos botões e enviar notificações aos utilizadores, foi escolhido o Node-RED para o processamento de dados, com uma base de dados MongoDB para armazenar os emails dos utilizadores.

Node-RED é uma ferramenta de programação gráfica desenvolvida pela IBM, ideal para este tipo de tarefa. É fácil de usar, poderoso e altamente extensível.

Graças ao Node-RED, o nosso cliente conseguiu criar todo o seu backend em apenas algumas horas!

Quando um botão de caixa de correio é pressionado, a mensagem é recebida pelo Node-RED via MQTT. O Node-RED localiza então o utilizador correspondente na base de dados MongoDB, compõe um novo email e envia-o.

Fluxo Node-RED: apenas 5 nós são necessários para criar todo o backend!Fluxo Node-RED: apenas 5 nós são necessários para criar todo o backend!

Quando inicia uma instância Node-RED na Stackhero, obtém um servidor MQTT juntamente com um servidor de email dedicado, permitindo-lhe enviar emails ilimitados!

A interface de backoffice é utilizada pelos operadores do posto de correios. Podem adicionar um novo botão com um email associado ou remover um conforme necessário.

Node-RED inclui um servidor HTTP, permitindo a criação de páginas HTML e APIs com um mínimo de esforço.

Fluxo de backoffice Node-REDFluxo de backoffice Node-RED

Toda a interface de backoffice foi desenvolvida diretamente no Node-RED. Consiste numa página HTML com autenticação e uma API com duas rotas. A primeira rota da API permite a adição de um novo botão, enquanto a segunda facilita a remoção de um botão existente.

Node-RED serviu como a pedra angular deste projeto. Com a instância da Stackhero fornecendo um servidor MQTT seguro e um servidor de email desde o início, o projeto foi realizado em apenas algumas horas, algo que as ferramentas tradicionais não poderiam igualar.

Node-RED oferece possibilidades ilimitadas. Pode, por exemplo, conectá-lo a qualquer API ou base de dados e adicionar módulos externos sem esforço (~2000 módulos estão disponíveis!).

Se o Node-RED lhe interessa, pode iniciar uma instância na Stackhero em apenas 2 minutos: Node-RED.