Repository navigation
Release v1.0.8 - JIT Provisioning & Enhanced Diagnostics
🎉 Major Features
Just-In-Time (JIT) Certificate Provisioning
- Automatic device provisioning with unique AWS IoT certificates
- Seamless transition from provisioning certificates to device-specific certificates
- License key-based device identification for secure provisioning
- Automatic reconnection with new certificates after successful provisioning
Enhanced MQTT Connectivity
- Switched to PubSubClient library for better ESP32-C6 compatibility
- Improved connection stability with optimized keepalive and timeout settings
- Robust reconnection logic with connection state tracking
- Unique client IDs using MAC address for proper device identification
🔧 Improvements
Diagnostic Enhancements
- Added device identification to diagnostic messages (license key, device ID, firmware version, hardware ID)
- Enhanced packet statistics with total bytes received and rate limiting metrics
- Improved emergency shutdown reporting with detailed shutdown reasons and counts
- Better connection monitoring with signal strength and network information
Sensor Processing
- Temporarily disabled packet validation to prevent false rejections of valid sensor data
- Maintained rate limiting (1000 packets/minute) and emergency shutdown protection
- Enhanced sensor cache management with automatic cleanup of oldest sensors
- Improved TPMS packet processing with better error handling
System Stability
- Hardware recovery mechanism via boot button for emergency shutdown recovery
- Persistent emergency shutdown state with protection disable flags
- Enhanced OTA update support with alternative update methods
- Improved WiFi configuration with better AP mode handling
🐛 Bug Fixes
- Fixed MQTT connection loops that were causing repeated connect/disconnect cycles
- Resolved certificate loading issues with proper fallback to embedded certificates
- Fixed client ID conflicts by using MAC-based unique identifiers
- Corrected AWS IoT policy permissions for proper topic access
- Fixed compilation errors and function declaration issues
🔐 Security
- Secure certificate storage in device preferences with fallback to embedded certificates
- Proper AWS IoT policy enforcement with device-specific permissions
- License key validation for device identification and provisioning
- Secure MQTT communication with TLS 1.2 encryption
📋 Technical Details
AWS IoT Integration
- Provisioning topic structure:
pressurepro/devices/WifiSensorGateway/provisioning/request - Response topic structure:
pressurepro/devices/WifiSensorGateway/provisioning/{license_key}/response - Device topics:
pressurepro/devices/WifiSensorGateway/{license_key}/{sensor-readings|diagnostics|commands} - Automatic policy creation with device-specific client ID patterns
Firmware Configuration
- Firmware version: 1.0.8
- Target platform: ESP32-C6
- MQTT library: PubSubClient
- JSON library: ArduinoJson
- Certificate management: Preferences-based with embedded fallback
�� Deployment Notes
- First-time devices will automatically provision with unique certificates
- Existing devices will continue using their current certificates
- Emergency shutdown recovery available via boot button press during startup
- Debug mode can be enabled via MQTT command for troubleshooting
- OTA updates supported via MQTT commands with URL specification
📊 Monitoring
The enhanced diagnostic messages now include comprehensive device identification and performance metrics, making it easier to monitor device health and troubleshoot issues across your fleet of IoT gateways.
Note: This release includes significant changes to the MQTT connectivity and certificate management systems. Please test thoroughly in your environment before deploying to production devices.