Skip to content
@the-bifrost

Bifrost

Gateway modular de comunicação entre dispositivos IoT. Interligando protocolos. Conectando possibilidades.
Logo

Bifrost

Gateway de Protoclos Wireless!
Ver mais »



Introdução

Uma central de comunicação inteligente que conecta múltiplos dispositivos usando diversas tecnologias sem fio, como ESP-NOW, LoRa, MQTT e futuramente Zigbee. O objetivo é permitir o envio e recebimento de dados entre sensores, atuadores e a central de forma eficiente, roteando as mensagens para os respectivos destinos.


Raspberry Pi como Central (Dispatcher)

  • O Raspberry Pi 4B atua como a central principal (dispatcher) da rede.
  • Ele é responsável por:
    • Receber as mensagens de vários gateways e dispositivos;
    • Armazenar dados, gerenciar dispositivos e tópicos (MQTT);
    • Decidir qual protocolo usar para enviar cada mensagem;
    • Fazer a ponte entre protocolos diferentes (exemplo: receber via ESP-NOW e retransmitir via MQTT).

Vantagens do Raspberry Pi na central

  • Processamento mais robusto e flexível do que ESP32s;
  • Capacidade de rodar scripts Python para lógica e roteamento;
  • Pode hospedar banco de dados local e broker MQTT (ex: Mosquitto);
  • Interface com múltiplas interfaces físicas (UART, SPI, Ethernet, Wi-Fi).

Protocolos Envolvidos

ESP-NOW

  • Comunicação Wi-Fi ponto a ponto, rápida e com baixo consumo;
  • Ideal para troca direta entre ESP32s sem passar por roteador.

LoRa

  • Comunicação de longo alcance e baixo consumo;
  • Útil para sensores remotos que não têm Wi-Fi.

MQTT

  • Protocolo leve de mensagens para IoT, baseado em tópicos;
  • Rodado em broker no Raspberry Pi;
  • Excelente para comunicação em redes IP, controle remoto e armazenamento em nuvem.

Zigbee (Futuramente)

  • Protocolo mesh para IoT;
  • Potencial para maior escalabilidade e roteamento dinâmico.

Formato de Comunicação: JSON Padronizado

Para garantir interoperabilidade, as mensagens são enviadas dentro de um "envelope comum" no formato JSON.

Estrutura Básica do JSON:

{
  "v": 1,
  "src": "source/fonte/sensor",
  "dst": "destino",
  "type": "tipo-da-mensagem",
  "ts": 1686026400,
  "payload": {}
}

Funcionalidades:

  • Comunicação ESP-NOW entre ESP8266;
  • Comunicação UART entre ESP8266 e Raspberry Pi 4;
  • Liberação de UART's "Extras" do Raspberry Pi 4 (Possível utilização de até 5 RX & TX);
  • Docker MQTT Broker;
  • Comunicação MQTT com o Broker;
  • Filtro de mensagens da payload;
  • MQTT Explorer para controle da comunicação MQTT e debug;
  • Acesso externo ao MQTT Explorer via Cloudflared;

Tutoriais


Metas do Desenvolvimento

Protocolos
  • Implementar suporte completo ao ESP-NOW
  • Estabelecer comunicação estável via LoRa
  • Integrar MQTT com o broker e tópicos dinâmicos
  • Iniciar testes com Zigbee
Funcionalidades
  • Biblioteca própria da Bifrost
  • Interface web para monitoramento
  • Filtro de payloads por tipo e origem
  • Roteamento inteligente entre protocolos
  • MQTT Explorer para melhor Debug
Hardware
  • Instalar múltiplos gateways físicos
  • Habilitar até 5 UARTs no Raspberry Pi 4
  • Testar estabilidade de alimentação dos módulos
  • Garantir isolamento entre interfaces físicas

Pinned Loading

  1. dispatcher dispatcher Public

    📬 Núcleo de roteamento da central, responsável por receber mensagens, identificar seus destinos e repassá-las corretamente entre dispositivos.

    Python 1

  2. landing-page landing-page Public

    🖼️ Landing Page tecnológica, eficiente, moderna e escalável, assim como a Bifrost.

    CSS

  3. gateway-espnow gateway-espnow Public

    📖 Aqui se encontra o código do receptor ESP-NOW e todos os codigos de exemplo para utilizacao em ESP's

    C++

  4. auto-installation auto-installation Public

    ⚙️ Script de instalação automática da Bifrost, projetado para configurar e preparar o ambiente de forma simples e rápida. Ele detecta dependências, instala pacotes necessários e ajusta as configura…

    Shell

Repositories

Showing 8 of 8 repositories

Top languages

Loading…

Most used topics

Loading…