Código-fonte completo, sob uma licença que indicamos
O firmware ESP32 do RBgrid é publicado na íntegra: pipeline de medição, estatísticas, motor tarifário, armazenamento, REST/WebSocket/MQTT. Uma compilação, todas as funções. O firmware não tem anúncios nem telemetria para nós. Source-available sob PolyForm Noncommercial 1.0.0: livre para usar, modificar e compilar para uso pessoal e não comercial; uso comercial mediante licença.
- licença (PolyForm Noncommercial 1.0.0)
- plataforma ESP32-WROVER / ESP32-S3
- ESP-IDF 5.5.1
- 16 MB de flash
- v1.2.1
Licença, em termos simples
PolyForm Noncommercial 1.0.0. Não é uma licença open source aprovada pela OSI, e não lhe chamamos uma. Eis o que significa para si:
| Executar em casa, na sua oficina, numa escola ou numa associação sem fins lucrativos | Sim, gratuito |
|---|---|
| Ler, modificar, recompilar, manter um fork privado | Sim |
| Partilhar a sua versão modificada com outros, de forma não comercial | Sim, sob a mesma licença |
| Usar numa empresa com fins lucrativos, vender dispositivos ou kits que o executem, instalá-lo para clientes pagantes | Mediante licença — escreva para info@rbamp.com |
| Usar o nome ou o logótipo do RBgrid num fork | Não — renomeie o fork |
| Usar as bibliotecas de módulos rbAmp em qualquer projeto, comercial ou não | Sim — são MIT, separadas desta licença |
As partes de terceiros mantêm as suas próprias licenças (ESP-IDF, driver I²C corrigido — Apache-2.0; littlefs — MIT/BSD): ver NOTICE.
Porque esta licença: as vendas dos módulos financiam o projeto; a licença mantém o RBgrid gratuito para as pessoas e permite que as empresas que o usam contribuam de volta.
O que obtém
components/rbpower/(coleção I²C rbAmp, estatísticas, motor tarifário, armazenamento, REST/WS, MQTT)main/(aplicação, ponte rbAmp, hub ESP-NOW, registo de eventos)webapp/(o código-fonte da própria aplicação web — TypeScript, o seu próprio sistema de design, scripts e documentação)components/esp_driver_i2c/(driver I²C corrigido do ESP-IDF, Apache-2.0, ver NOTICE)components/rbbench/ecomponents/bench_kit/(o banco de testes usado nas medições)examples/docs/FLASHING.md,partitions.csv,sdkconfig.defaults,CHANGELOG.md,LICENSE,COMMERCIAL.md,NOTICE.
Não está neste repositório: o componente ESP-IDF da rbAmp (rb-amp/rbamp-esp-idf, MIT), obtido automaticamente na compilação.
Como está construído
ESP32-WROVER ou ESP32-S3 (N16R8), PSRAM obrigatória; 16 MB de flash, duas partições OTA com reversão; histórico para até 12 pontos de medição (os restantes mostram valores em direto). O histórico começa na v1.1.0: um corte limpo; o desenvolvimento continua em público a partir daqui. O firmware funciona apenas por API, sem o pacote da aplicação.

Compilar e gravar
ESP-IDF v5.5.1 fixado (a v5.4.1 também compila); o componente ESP-IDF da rbAmp é obtido automaticamente. Ou grave a imagem de versão sem compilar, e instale a aplicação web a partir da versão — ver Começar.
git clone https://github.com/rb-amp/RBgrid.git
cd RBgrid
components/rbpower/certs/gen_dev_cert.sh # once, before the first build (generates the development certificate)
idf.py set-target esp32
idf.py build
idf.py -p <PORT> flash # <PORT> e.g. /dev/ttyUSB0, COM3API: autodescritiva
GET /api/v1/schema lista cada endpoint com métodos e parâmetros — a referência deste site é gerada a partir dele (um descritor próprio, não OpenAPI)
REST
/api/v1resumo, histórico, export.csv, economia, unidades, sensores, eventos
REST
/api/systemconfig, unidades, plano tarifário, MQTT, Wi-Fi, hora, segurança, token, OTA, cópia de segurança/restauro, carregamento da interface
Quadro WebSocket v2 + MQTT
canal de comandos, descoberta do HA
As escritas exigem o token de administrador; as leituras são abertas na sua LAN ou protegidas por um token de leitura; lista de permissões CORS para clientes de navegador.
Problemas, discussões, pull requests
Erros e pedidos de funcionalidades vão para o GitHub Issues; perguntas e apresentações para o Discussions. As contribuições são aceites sob o Developer Certificate of Origin — mantém os seus direitos de autor e certifica que tem o direito de submeter o código. A sua contribuição fica sujeita aos termos do projeto: PolyForm Noncommercial 1.0.0. Tudo o que for além disso pedimo-lo no pull request, não antecipadamente.
O nome e o logótipo do RBgrid pertencem ao projeto; os forks são renomeados.