GitHub 地址https://github.com/ailyProject/aily-blockly

简介

Aily Blockly​ 是 Aily Project 旗下的一款工业级硬件图形化开发环境。它基于 Electron + Angular 构建,深度融合了 Blockly 可视化编程与 AI 大模型能力,旨在打破专业嵌入式开发与业余创客之间的壁垒。

传统的 Arduino IDE 或 PlatformIO 环境配置复杂,且库版本冲突频发。Aily Blockly 引入了前端领域的 npm 工程化理念,实现了“每个项目独立管理开发板包和库版本”,彻底解决了环境依赖冲突问题。其长期愿景是实现真正的自然语言编程,让开发者通过对话即可完成硬件开发。

主要功能

1. 工程化项目管理(核心优势)

  • 环境隔离:采用类似前端开发的 package.json机制,每个项目独立管理开发板核心(Core)和库(Library)版本。这意味着你可以在不同项目中使用不同版本的 ESP32 核心或传感器库,互不干扰。

  • 依赖管理:内置库管理器,支持一键安装、更新和切换库版本,避免了传统 Arduino IDE 全局库管理导致的“版本地狱”。

2. AI 全流程辅助

  • AI 项目生成:向 AI 描述需求(如“做一个温湿度监测站”),AI 会自动推荐开发板(ESP32/STM32等)、模块、库,并生成项目架构图与引脚连接图。

  • AI 代码生成:在 Blockly 图形化编程中,AI 可根据自然语言描述生成对应的逻辑积木块或 MicroPython 代码。

  • AI 库转换杀手级功能。如果你有一个 Arduino 的 C++ 库但缺少对应的 Blockly 积木,只需将库文件提供给 AI,它会自动分析并生成对应的 Blockly 自定义积木库,极大扩展了生态边界。

3. 多硬件平台支持

  • 芯片支持:全面覆盖 Arduino (AVR)、ESP32、STM32、RP2040、nRF5x​ 等主流微控制器。

  • 语言模式:支持 Blockly 图形化编程与 MicroPython​ 代码编辑(开发中)。

4. 开发调试工具链

  • Pinout 视图:提供美观的交互式开发板引脚图,清晰展示电源、GPIO、ADC 等引脚功能。

  • 全能串口调试器:内置功能强大的串口监视器,支持数据可视化与协议调试。

  • 闪电编译(Lightning Compile):利用边缘-云协同编译技术,将原本需要数十分钟的编译任务缩短至 1 分钟左右(Phase 1 已上线)。

安装与配置

系统要求

  • 操作系统:Windows (10+)、macOS、Linux(需自行构建)。

  • 依赖环境:需要 Node.js​ 环境(用于包管理和脚本执行)。

安装步骤

  1. 获取安装包

    • 推荐:从 GitHub Releases 页面下载对应系统的最新预编译安装包(如 Aily-Blockly-0.9.40-win.exe)。

    • 开发者:克隆源码后执行 npm install安装依赖,使用 npm run electron启动。

  2. 首次配置

    • 启动软件,创建新项目时,在“项目设置”中选择目标开发板(如 esp32:esp32:esp32s3)。

    • 软件会自动通过 npm 拉取对应的编译工具链和核心库到项目本地目录。

配置 AI 能力(可选)

在设置中配置你的 AI API Key(如 OpenAI 或本地模型),即可解锁 AI 生成与转换功能。未配置时,部分在线 AI 功能不可用。

如何使用

标准开发工作流

  1. 创建项目:选择“AI 项目生成”,输入“基于 ESP32-S3 的 WS2812B LED 灯带控制器”,AI 会生成项目骨架。

  2. 连接硬件:参考 AI 生成的引脚连接图,将模块与开发板连接。

  3. 编程

    • 图形化:在 Blockly 编辑器中拖拽积木,或使用“AI 代码生成”描述逻辑。

    • MicroPython:切换到代码视图直接编写。

  4. 编译与烧录:点击“闪电编译”按钮,生成固件后通过内置的 Probe-rs 调试器(支持 DAPLink)一键烧录。

  5. 调试:使用内置串口工具查看传感器数据日志。

高级技巧:库转换实战

当你需要使用一个冷门传感器库(如 Adafruit_VEML7700)但 Aily 未内置时:

  1. 找到该库的 Arduino .h/.cpp文件。

  2. 在 Aily 中打开“AI 库转换”功能,上传文件。

  3. AI 会解析头文件,自动生成对应的 Blockly 积木块(如“设置 VEML7700 增益”、“读取 Lux 值”)。

  4. 保存为自定义库,即可在项目中像内置库一样拖拽使用。

应用场景实例(无代码)

场景一:教育领域的“零门槛”物联网教学

痛点:中小学或高职的物联网课程中,学生常被 C 语言语法、环境配置、库安装等难题劝退,一节课大半时间在解决编译报错。

Aily Blockly 方案

  1. 教师统一分发项目文件(包含预配置好的 ESP32 环境)。

  2. 学生通过拖拽 Blockly 积木(如“网络连接”、“MQTT 发布”),在 10 分钟内即可完成一个“教室温湿度上传到云平台”的案例。

  3. 价值:学生专注于硬件逻辑而非语法细节,教学效率提升 300%,且无需担心学生电脑环境不一致导致的问题。

场景二:硬件团队的“快速原型验证”

痛点:硬件工程师有一个新想法(如用 STM32 驱动新型屏幕),但软件工程师排期已满。手动写驱动和配置 HAL 库耗时数天。

Aily Blockly 方案

  1. 硬件工程师在 Aily 中创建 STM32 项目。

  2. 使用“AI 库转换”功能,将屏幕厂商提供的 HAL 库文件转换为积木。

  3. 通过图形化逻辑快速验证屏幕点亮、触摸等基础功能。

  4. 价值:1 天内完成硬件可行性验证,生成的代码框架可直接交付给软件工程师进行深度开发,节省大量前期沟通成本。

场景三:创客的“跨平台迁移”

痛点:创客有一个基于 Arduino Uno 的成熟项目,现在想升级到性能更强的 RP2040,需要重写大量引脚定义和库代码。

Aily Blockly 方案

  1. 在 Aily 中导入原项目的逻辑(或通过 AI 描述还原)。

  2. 切换项目开发板为 RP2040。

  3. AI 会自动适配 RP2040 的 SDK 和引脚映射,并提示需要修改的硬件连接(如串口引脚变化)。

  4. 价值:无需手动逐行移植代码,实现了硬件平台的“低摩擦”切换。

总结

Aily Blockly 不仅仅是“图形化 Arduino IDE”,它通过引入 npm 工程化AI 代码转换,解决了嵌入式开发中最为头疼的环境一致性和生态碎片化问题。它将 AI 定位为“硬件开发助手”而非单纯的代码补全工具,从项目生成到库适配,实现了全流程的智能化辅助。

对于教育、原型验证和快速迭代场景,它是目前最具工程化思维的硬件开发 IDE 之一。

GitHub 地址https://github.com/ailyProject/aily-blockly

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐