JZFramwork 为 ESP32-S3 带来熟悉的 Qt 对象模型——信号槽、对象树与事件循环,让你用 C++ 高效、优雅地构建物联网设备。
#include <jzf/jzf.h> class SmartButton : public JObject { J_OBJECT(SmartButton) public: J_SIGNAL(clicked); // 声明信号 void press() { emit clicked(); } J_SLOT void onNet(bool ok) { led.set(ok ? ON : OFF); } }; int main() { JApp app; JWiFi wifi; SmartButton btn(GPIO_NUM_0); JLed led(GPIO_NUM_2); connect(&btn, &SmartButton::clicked, &wifi, &JWiFi::connect); connect(&wifi, &JWiFi::connected, &led, &JLed::on); return app.exec(); // 事件循环 }
熟悉的 connect / emit,组件间彻底解耦,逻辑清晰可维护。
父子关系自动管理生命周期,离开作用域即释放,告别内存泄漏。
深度适配双核 Xtensa、WiFi/BLE、LCD/CAM 与 USB,开箱即用。
J_OBJECT / J_SIGNAL / J_SLOT 宏带来运行时内省与属性绑定。
pip 安装 jzf-cli,自动配置 ESP-IDF 工具链。
指定 --chip esp32s3,生成 Qt 风格工程骨架。
jzf build & flash,设备上电即运行事件循环。
$ pip install jzf-cli ✓ jzf 2.6.0 installed $ jzf init device --chip esp32s3 ✓ project ready (Qt-style) $ jzf build && jzf flash compiling hal/esp32s3 ... ✓ flashed · app.exec() running 🚀