Code source complet, sous une licence nommée

Le firmware ESP32 de RBgrid est publié intégralement : pipeline de mesure, statistiques, moteur tarifaire, stockage, REST/WebSocket/MQTT. Un seul build, toutes les fonctions. Le firmware ne contient ni publicité ni télémétrie vers nous. Code source disponible sous PolyForm Noncommercial 1.0.0 : libre d'utilisation, de modification et de compilation pour un usage personnel et non commercial ; usage commercial sous licence.

  • licence (PolyForm Noncommercial 1.0.0)
  • plateforme ESP32-WROVER / ESP32-S3
  • ESP-IDF 5.5.1
  • 16 Mo de flash
  • v1.2.1

Licence, en termes simples

PolyForm Noncommercial 1.0.0. Ce n'est pas une licence open source approuvée par l'OSI, et nous ne la qualifions pas ainsi. Voici ce qu'elle signifie pour vous :

Le faire tourner à la maison, dans votre atelier, dans une école ou une association à but non lucratifOui, gratuit
Lire, modifier, recompiler, garder un fork privéOui
Partager votre version modifiée avec d'autres, de façon non commercialeOui, sous la même licence
L'utiliser dans une entreprise à but lucratif, vendre des appareils ou kits qui le font tourner, l'installer pour des clients payantsSous licence — écrivez à info@rbamp.com
Utiliser le nom ou le logo RBgrid sur un forkNon — renommez le fork
Utiliser les bibliothèques de modules rbAmp dans n'importe quel projet, commercial ou nonOui — elles sont sous MIT, distinctes de cette licence

Les composants tiers conservent leurs propres licences (ESP-IDF, pilote I²C patché — Apache-2.0 ; littlefs — MIT/BSD) : voir NOTICE.

Pourquoi cette licence : les ventes de modules financent le projet ; la licence garde RBgrid gratuit pour les particuliers et permet aux entreprises qui le réutilisent de contribuer en retour.

Ce que vous obtenez

  • components/rbpower/ (collecte I²C rbAmp, statistiques, moteur tarifaire, stockage, REST/WS, MQTT)
  • main/ (application, pont rbAmp, hub ESP-NOW, journal des événements)
  • webapp/ (le code source de l'application web — TypeScript, son propre design system, scripts et documentation)
  • components/esp_driver_i2c/ (pilote I²C ESP-IDF patché, Apache-2.0, voir NOTICE)
  • components/rbbench/ et components/bench_kit/ (le banc de test utilisé pour les campagnes de mesure)
  • examples/
  • docs/FLASHING.md, partitions.csv, sdkconfig.defaults, CHANGELOG.md, LICENSE, COMMERCIAL.md, NOTICE.

Pas dans ce dépôt : le composant ESP-IDF rbAmp (rb-amp/rbamp-esp-idf, MIT), récupéré automatiquement lors de la compilation.

Voir sur GitHub

Comment il est construit

ESP32-WROVER ou ESP32-S3 (N16R8), PSRAM requise ; 16 Mo de flash, deux emplacements OTA avec retour arrière ; historique pour jusqu'à 12 points de mesure (les autres affichent les valeurs en direct). L'historique commence à la v1.1.0 : une coupure nette ; le développement se poursuit publiquement à partir d'ici. Le firmware fonctionne en mode API seule, sans le paquet d'application.

Schéma de flux de données : les modules rbAmp envoient les mesures par I²C à un hub ESP32-WROVER, qui calcule les points, les statistiques, les coûts tarifaires et l'historique, et sert l'application web, Home Assistant et une API REST/WebSocket/MQTT.Ouvrir l'image en taille réelle

Compiler et flasher

ESP-IDF v5.5.1 épinglé (v5.4.1 compile aussi) ; le composant ESP-IDF rbAmp est récupéré automatiquement. Ou flashez l'image de release sans compiler, et installez l'application web depuis la release — voir Commencer.

sh
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, COM3

API : auto-descriptive

GET /api/v1/schema liste chaque point de terminaison avec ses méthodes et paramètres — la référence de ce site en est générée (un descripteur personnalisé, pas OpenAPI)

  • REST /api/v1

    summary, history, export.csv, economics, units, sensors, events

  • REST /api/system

    config, units, tariff plan, MQTT, Wi-Fi, time, security, token, OTA, backup/restore, UI upload

  • Trame WebSocket v2 + MQTT

    canal de commande, découverte HA

Les écritures exigent le jeton admin ; les lectures sont ouvertes sur votre LAN ou protégées par un jeton de lecture ; liste d'autorisation CORS pour les clients navigateur.

Issues, Discussions, pull requests

Les bugs et demandes de fonctionnalités vont dans GitHub Issues ; les questions et les présentations vers Discussions. Les contributions sont acceptées sous le Developer Certificate of Origin — vous conservez vos droits d'auteur et certifiez avoir le droit de soumettre le code. Votre contribution est soumise aux conditions du projet : PolyForm Noncommercial 1.0.0. Tout le reste, nous le demandons dans la pull request, pas à l'avance.

Le nom et le logo RBgrid restent au projet ; les forks sont renommés.

Faites-le tourner sur votre propre hub