导语:Arduino开发还在用传统IDE?一个名为 aily Blockly 的开源项目正在改变这一切。它不仅是图形化编程工具,更是全球首个AI原生的硬件开发环境——从需求分析到代码生成,AI全程参与。更重要的是,它用工程化的方式解决了嵌入式开发长期以来的痛点。
---
一、aily Blockly 是什么?
aily Blockly 是 aily Project 旗下的开源项目,定位全球首个AI原生的硬件开发环境。
| 项目 | 说明 |
|---|---|
| 定位 | AI驱动的硬件开发IDE |
| 目标用户 | 从创客到专业开发者 |
| 核心架构 | AI Agent 设计模式 |
| 支持平台 | Windows、macOS、Linux |
| 开源协议 | GPL(禁止未经授权商业销售) |
| 当前状态 | Alpha测试阶段 |
与传统工具的区别
| 特性 | Arduino IDE | aily Blockly |
|---|---|---|
| 编程方式 | 纯代码 | 图形化 + 代码双模式 |
| AI辅助 | 无 | 全流程AI参与 |
| 项目管理 | 全局库/板卡 | 工程级独立隔离 |
| 库生态 | 丰富但需手动 | AI自动转换生成 |
| 编译速度 | 本地慢速 | 边缘-云端闪电编译 |
二、核心功能详解
1. AI项目生成:从想法到架构
传统流程:
有想法 → 查资料选型 → 买硬件 → 查库 → 写代码 → 调试
(耗时数天到数周)
aily Blockly 流程:
输入:"做一个温控风扇"
↓
AI自动生成:
- 推荐开发板(ESP32/Arduino等)
- 推荐传感器模块
- 生成项目架构图
- 生成引脚连接图
- 创建项目框架
一键生成,立即可用。
2. AI库转换:解决图形化编程的最大痛点
痛点:Blockly等图形化工具库太少,想用Arduino的C/C++库却没有图形化版本。
解决方案:
用户提供Arduino库(.h/.cpp文件)
↓
AI自动分析代码结构
↓
生成对应的Blockly图形化库
↓
直接在图形界面拖拽使用
这意味着:Arduino生态的数千个库,瞬间变成图形化资源。
3. 工程级项目管理
传统Arduino IDE的痛点:
- 全局安装库,版本冲突
- 板卡包升级导致旧项目无法编译
- 团队协作困难
基于npm的依赖管理
↓
每个项目独立的node_modules
↓
开发板版本、库版本项目级隔离
↓
不同项目用不同版本,互不干扰
这是工业级软件架构在嵌入式开发中的首次应用。
4. 闪电编译:边缘-云端协同
| 场景 | 传统编译 | aily Blockly |
|---|---|---|
| 大型ESP32项目 | 30-60分钟 | 1-2分钟 |
| 技术原理 | 本地单核 | 边缘-云端分布式 |
- 本地预处理 → 云端并行编译 → 本地下载固件
- 利用云端算力,突破本地硬件限制
5. 专业级串口调试
内置功能:
- 数据可视化(图表实时显示)
- 多格式解析(HEX、ASCII、JSON等)
- 日志记录与导出
- 触发器与自动化测试
---
三、技术架构
┌─────────────────────────────────────────┐
│ 前端界面 (Electron + Angular) │
│ - Blockly图形编辑器 │
│ - 代码编辑器 (Monaco) │
│ - 串口调试工具 │
├─────────────────────────────────────────┤
│ AI Agent 层 │
│ - 项目生成Agent │
│ - 代码生成Agent │
│ - 库转换Agent │
│ - 板卡配置生成Agent │
├─────────────────────────────────────────┤
│ 工程管理 (Node.js/npm) │
│ - 项目依赖管理 │
│ - 板卡包管理 │
│ - 库版本控制 │
├─────────────────────────────────────────┤
│ 编译系统 │
│ - 本地预处理器 │
│ - 云端编译集群 │
│ - 固件生成与下载 │
├─────────────────────────────────────────┤
│ 硬件支持 │
│ Arduino | ESP32 | STM32 | RP2040 │
│ Renesas | Nordic | MicroPython(计划中) │
└─────────────────────────────────────────┘
---
四、应用场景
1. 教育教学
- 中小学生图形化入门编程
- 高校嵌入式课程实验
- 创客教育培训
2. 原型验证
- 硬件创业公司快速验证想法
- 企业研发部门PoC开发
- 个人创客项目
3. 专业开发(未来)
项目团队明确表示: > "我们的目标是设计和开发工业级软件。"
虽然目前处于Alpha阶段,但架构设计已经为专业开发做好准备。
---
五、开源生态
主要仓库
| 仓库 | 内容 |
|---|---|
| aily-blockly | 主程序 |
| aily-blockly-boards | 开发板支持 |
| aily-blockly-libraries | 图形化库 |
| aily-blockly-compilers | 编译工具链 |
| aily-project-tools | 辅助工具 |
赞助商
企业赞助商:Seeed Studio、逐飞科技、点灯科技、OpenJumper、派德微、钛实验室、Emakefun、Keyes等
个人赞助商:来自创客社区的多位贡献者
---
六、使用注意事项
⚠️ 当前版本限制:
1. Alpha测试阶段:不推荐用于量产设备固件开发 2. 库验证不足:AI生成的库需要社区共同验证和完善 3. 版本兼容性:后续更新可能引入不兼容变更 4. 商业使用:GPL协议禁止未经授权的商业销售
✅ 适合场景:
- 原型验证
- 教育教学
- 个人创客项目
- 开源贡献
七、未来路线图
| 功能 | 状态 |
|---|---|
| 硬件仿真 | 计划中 |
| MicroPython支持 | 模式已添加,库支持待完善 |
| 更多AI功能 | 持续迭代 |
| 自然语言编程 | 长期目标 |
---
八、如何开始
下载安装
- 官网:https://aily.pro/
- 文档:https://aily.pro/doc
- GitHub:https://github.com/ailyProject/aily-blockly
快速上手
1. 安装软件,选择开发板 2. 用自然语言描述项目需求 3. AI生成架构和连接图 4. 拖拽图形块编程 5. 一键编译上传
---
九、总结
aily Blockly 代表了硬件开发工具的新方向:
| 维度 | 传统工具 | aily Blockly |
|---|---|---|
| 编程范式 | 代码为中心 | AI+图形化双驱动 |
| 开发效率 | 线性提升 | 指数级提升 |
| 生态构建 | 人工维护 | AI自动生成 |
| 工程化 | 弱 | 强(npm级管理) |
对于:
- 教育者:降低教学门槛,学生更快见到成果
- 创客:快速验证想法,专注创意而非调试
- 专业开发者:工程化管理,团队协作更高效
---
参考资源
- 官网:https://aily.pro/
- GitHub:https://github.com/ailyProject/aily-blockly
- 用户文档:https://aily.pro/doc
- 库适配文档:https://github.com/ailyProject/aily-blockly-libraries
*本文基于公开资料整理,项目处于快速迭代中,具体功能以最新版本为准。*