firmware_release
Executes the complete MCU firmware release: compiles with Keil, verifies a .bin checksum with MD5, uploads it to FTP, and publishes MQTT OTA commands to devices.
Instructions
Execute full MCU firmware release pipeline:
Keil command-line compilation (uVision.com -b or -r).
Automatic discovery of latest .bin firmware with timestamp freshness verification.
Calculate MD5 checksum.
Upload .bin binary to FTP server.
Publish MQTT OTA upgrade command (mcu_up) to target device topics.
Args: board_id: Optional board identifier (e.g. 'board_a') containing release config. rebuild: Force full Keil rebuild (-r) instead of incremental (-b). skip_build: Skip Keil compilation and use latest or specified existing binary. firmware_path: Explicit path to .bin file (bypasses auto-discovery). version: Firmware version string (e.g. '2.1.11'). If None, extracted from APP/config/config.h. device_ids: Target device ID(s) or topic(s). If None, taken from config. config_path: Path to custom firmware_release_config.json file. save_config: Save executed release artifact info back to the config file.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| rebuild | No | ||
| version | No | ||
| board_id | No | ||
| device_ids | No | ||
| skip_build | No | ||
| config_path | No | ||
| save_config | No | ||
| firmware_path | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||