Полный исходный код — под названной лицензией
Прошивка ESP32 RBgrid опубликована полностью: конвейер измерения, статистика, движок тарифов, хранилище, REST/WebSocket/MQTT. Одна сборка, все функции. Прошивка не содержит рекламы и не передаёт нам телеметрию. Source-available по PolyForm Noncommercial 1.0.0: бесплатно использовать, изменять и собирать для личного и некоммерческого использования; коммерческое использование — по лицензии.
- лицензия (PolyForm Noncommercial 1.0.0)
- платформа ESP32-WROVER / ESP32-S3
- ESP-IDF 5.5.1
- 16 MB флеш-памяти
- v1.2.1
Лицензия простыми словами
PolyForm Noncommercial 1.0.0. Это не лицензия OSI (open source), и мы её так не называем. Вот что она значит для вас:
| Запускать дома, в мастерской, в школе или некоммерческой организации | Да, бесплатно |
|---|---|
| Читать, изменять, пересобирать, вести закрытый форк | Да |
| Делиться своей изменённой версией с другими, некоммерчески | Да, по той же лицензии |
| Использовать внутри коммерческой компании, продавать устройства или наборы с ним, устанавливать для платных клиентов | По лицензии — пишите на info@rbamp.com |
| Использовать название или логотип RBgrid в форке | Нет — переименуйте форк |
| Использовать библиотеки модулей rbAmp в любом проекте, коммерческом или нет | Да — они под MIT, отдельно от этой лицензии |
Сторонние части сохраняют свои лицензии (ESP-IDF, пропатченный драйвер I²C — Apache-2.0; littlefs — MIT/BSD): см. NOTICE.
Почему эта лицензия: продажи модулей финансируют проект; лицензия оставляет RBgrid бесплатным для людей и позволяет компаниям, которые на нём строят, вкладывать обратно.
Что вы получаете
components/rbpower/(сбор данных rbAmp по I²C, статистика, движок тарифов, хранилище, REST/WS, MQTT)main/(приложение, мост rbAmp, хаб ESP-NOW, журнал событий)webapp/(собственный исходный код веб-приложения — TypeScript, собственная дизайн-система, скрипты и документация)components/esp_driver_i2c/(пропатченный драйвер I²C для ESP-IDF, Apache-2.0, см. NOTICE)components/rbbench/иcomponents/bench_kit/(стенд для измерений, bench harness)examples/docs/FLASHING.md,partitions.csv,sdkconfig.defaults,CHANGELOG.md,LICENSE,COMMERCIAL.md,NOTICE.
Не в этом репозитории: компонент ESP-IDF rbAmp (rb-amp/rbamp-esp-idf, MIT), подтягивается автоматически при сборке.
Как это устроено
ESP32-WROVER или ESP32-S3 (N16R8), требуется PSRAM; 16 MB флеш-памяти, два OTA-слота с откатом; история для до 12 точек измерения (остальные показывают текущие значения). История начинается с v1.1.0: чистый разрыв; разработка с этого момента ведётся публично. Прошивка работает только через API, без пакета приложения.

Сборка и прошивка
Зафиксирован ESP-IDF v5.5.1 (v5.4.1 тоже собирается); компонент ESP-IDF rbAmp подтягивается автоматически. Либо прошейте релизный образ без сборки и установите веб-приложение из релиза — см. «Начало работы».
git clone https://github.com/rb-amp/RBgrid.git
cd RBgrid
components/rbpower/certs/gen_dev_cert.sh # один раз, до первой сборки (создаёт сертификат разработки)
idf.py set-target esp32
idf.py build
idf.py -p <PORT> flash # <PORT>, например /dev/ttyUSB0, COM3API: самоописываемый
GET /api/v1/schema перечисляет каждую конечную точку с методами и параметрами — справочник на этом сайте генерируется из него (собственный дескриптор, не OpenAPI)
REST
/api/v1summary, history, export.csv, economics, units, sensors, events
REST
/api/systemконфигурация, единицы, тарифный план, MQTT, Wi-Fi, время, безопасность, токен, OTA, резервное копирование/восстановление, загрузка UI
Кадр WebSocket v2 + MQTT
командный канал, обнаружение HA
Записи требуют административный токен; чтение открыто в вашей локальной сети или ограничено токеном чтения; список разрешённых CORS для браузерных клиентов.
Issues, обсуждения, pull requests
Ошибки и запросы функций — в GitHub Issues; вопросы и показы — в Discussions. Вклады принимаются по Developer Certificate of Origin — вы сохраняете авторские права и подтверждаете, что имеете право передать код. Ваш вклад лицензируется на условиях проекта: PolyForm Noncommercial 1.0.0. Всё, что сверх этого, мы запрашиваем в pull request, а не заранее.
Название и логотип RBgrid остаются за проектом; форки переименовываются.