Documentos
Descrições técnicas, especificações e notas para programadores e administradores de sistemas.
Para utilizadores
- Guia do usuário — instalação da aplicação, carregamento do programa no controlador, emparelhamento, chaves de convidado, automação e segurança.
- Configurador de controladores — a escolha de como o telemóvel e o controlador falam entre si.
- Controlador BLE — recebe comandos por Bluetooth sem internet, funciona a pilhas e só dispara quando o telemóvel está por perto (ESP32 / S3 / C3 / C6).
- Controlador pela internet — sempre online, abre o objeto de qualquer sítio (ESP32 / ESP8266 — Shelly Plus 1, NodeMCU, Wemos D1; Raspberry Pi Zero W / 3 / 4 / 5, Python e GPIO).
- Integrações sem substituir o programa — Tasmota, ESPHome, Home Assistant e Shelly ligam-se através de um webhook do Entrixy.
Arquitetura e protocolos
- Arquitetura v2 — o esquema geral cliente-servidor-controlador, os fluxos de dados e os formatos de mensagem.
- Arquitetura E2EE — cifra de ponta a ponta: o que é cifrado e onde (AES-256-GCM no aparelho).
- BLE — modelo de ameaças — o que um atacante à escuta do rádio pode e não pode fazer (ECDH X25519 com HMAC-SHA256).
- BLE — sincronização da hora — como o controlador fica a saber a hora atual, para verificar a janela de validade das chaves de convidado.
Código-fonte do firmware e dos scripts
- /esp32-example/ — o programa BLE (NimBLE, sono profundo). O modelo para o configurador
/esp/ble/. - /esp32-ws-example/ — o programa Wi-Fi para o ESP32 (cliente WSS e relé). O modelo para o configurador
/esp/socket/em modo ESP32. - /integrations/esp8266/ — o programa Wi-Fi para o ESP8266. O modelo para o configurador
/esp/socket/em modo ESP8266. - /integrations/raspberry-pi/ — o script Wi-Fi em Python para o Raspberry Pi. O modelo para o configurador
/esp/socket/em modo Pi. - /integrations/nodejs/ — um cliente Wi-Fi em Node.js para servidores sem ecrã e routers OpenWRT. O configurador ainda não o compila, mas o protocolo é compatível.
Design e interface
- Guia de design — a paleta, a tipografia e os componentes da aplicação.
Operação do servidor
- Capacidade — uma estimativa de carga até 100 mil utilizadores e os estrangulamentos.
- Plano de escalamento para 100k — fases A/B/C/D: o que fazer e por que ordem.
- Carga do servidor — de onde vem — em que gasta o servidor os recursos e o que fazer quanto a isso.
- Painel da carga do servidor — gráficos das ligações WebSocket, do CPU e da memória ao longo de 24 horas.
Testes
- Plano de testes — 191 cenários, 37 deles críticos para o servidor de produção. Cobre o emparelhamento BLE, a presença por WebSocket, as chaves de convidado, as condições geo/Wi-Fi/horário, os webhooks (telemóvel e servidor), a recuperação após reinício e a localização.