You are using staging server - a separate instance of the ESP Component Registry that allows you to try distribution tools and processes without affecting the real registry.

luckyp70/heliot

1.0.4

Latest
uploaded 2 days ago
Modular IoT application framework with domain-based architecture, built-in web server, WebSocket support, and extensible domains for ESP32

changelog

# Changelog

All notable changes to Heliot framework will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [1.0.0] - 2025-01-XX

### Added

#### Core Framework
- Initial public release of Heliot IoT framework
- Domain-based architecture for modular functionality
- Event-driven system with ESP-IDF event loop integration
- Persistent state management backed by NVS
- Comprehensive logging system with ESP_LOG integration

#### Web Server
- Full-featured HTTP server on ESP32
- WebSocket support for real-time bidirectional communication
- Static file serving with compression support
- Optional token-based authentication
- Real-time log capture and broadcast to web clients

#### Built-in Domains

**Device Domain**
- Device information and diagnostics
- System restart and factory reset
- Live log level control
- Memory and chip information reporting

**WiFi Domain**
- Station (STA) mode with auto-connect
- Access Point (AP) mode for configuration
- WiFi network scanning
- Persistent WiFi credentials storage
- Automatic fallback to AP mode on connection failure

**MQTT Domain**
- MQTT client with auto-reconnect
- Configurable broker connection
- Publish/subscribe functionality
- Persistent MQTT configuration
- Connection state monitoring

**Firmware Domain**
- Over-The-Air (OTA) firmware updates
- Optional AES-256 firmware encryption
- HMAC-based firmware validation
- Automatic rollback on boot failure
- Firmware version tracking

**Proto Domain**
- WebSocket protocol management
- Connection handshake (hello/ack)
- Ping/pong keepalive
- Message acknowledgment system

#### Developer Tools
- `bundle_modular_ui.mjs` - Modular UI bundler for domain-specific web files
- `minify_write.mjs` - Web asset minification and compression
- Automatic UI file discovery from domains

#### Documentation
- Comprehensive README with quick start guide
- Example project demonstrating basic usage
- API documentation in header files
- MIT License

### Features

- **Multi-chip Support**: ESP32, ESP32-S2, ESP32-S3, ESP32-C3, ESP32-C6
- **ESP-IDF Compatibility**: ESP-IDF v5.0+
- **Memory Efficient**: ~60-80 KB RAM, ~200-300 KB Flash
- **Production Ready**: Battle-tested in real-world deployments
- **Extensible**: Easy to add custom domains for application-specific needs

### Known Limitations

- WebSocket sessions limited by available memory
- Maximum 64 domains (configurable via DOMAIN_MAX_NUMBER)
- Single HTTP server instance
- No HTTPS support yet (planned for future release)

---

## Release Notes

### v1.0.0 - Initial Release

This is the first public release of Heliot, extracted and refined from production IoT projects. The framework has been tested extensively in:
- Home automation devices
- Industrial sensors
- Environmental monitoring systems
- Smart building controllers

The API is considered stable, though minor adjustments may occur based on community feedback.

### Migration from Pre-release Versions

If you were using Heliot from the original ESP32 Radar project:
- Domain registration API has changed - see examples/basic_usage
- `heliot_domains_init()` now takes an array of custom domain functions
- Some internal headers have been reorganized
- No breaking changes to domain implementation patterns

### Future Plans

See [README.md](README.md) roadmap section for upcoming features.

---

[1.0.0]: https://github.com/username/heliot/releases/tag/v1.0.0

Links

Maintainer

  • your.email@example.com

License: MIT

To add this component to your project, run:

idf.py add-dependency "luckyp70/heliot^1.0.4"

download archive

Stats

  • Archive size
    Archive size ~ 4.59 MB
  • Downloaded in total
    Downloaded in total 5 times
  • Downloaded this version
    This version: 1 time

Badge

luckyp70/heliot version: 1.0.4
|