对于scratch+arduino的可视化编程,本人研究了差不多快一年时间,主要是针对makeblock的开源源码进行研究和分析,目前已经将整个平台的编译环境搭建、源码修改,二次开发需要注意的问题和流程,以及整个源码的详细分析文档整理出来了,一共120多页,也算是一路趟了很多坑(中国开源源码,你们懂的....),然后将一路的坑和经验花时间一点一滴的整理成文档,有兴趣和有需要的可以联系我或加我微信:18321109398 或 13023212969,同时也可以加qq群:347567337 ,愿意和大家共同分享彼此经验!
版本 |
日志 |
作者 |
日期 |
V1.0 |
创建文档 |
Dragon |
2016.2.29 |
V1.1 |
增加第1章 |
Dragon |
2016.5.2 |
V1.2 |
增加第2、3章 |
Dragon |
2016.7.1 |
V1.3 |
增加第4、6章 |
Dragon |
2016.8.9 |
V2.0 |
增加第7章 |
Dragon |
2016.10.3 |
V2.1 |
增加第8、9章 |
Dragon |
2016.11.1 |
V2.2 |
增加第10-13章 |
Dragon |
2016.12.5 |
V2.3 |
增加第14-16章 |
Dragon |
2017.1.5 |
V2.4 |
增加第17-20章 |
Dragon |
2017.2.12 |
V2.5 |
增加第21-23章 |
Dragon |
2017.3.1 |
V3.0 |
增加第24-25章 |
Dragon |
2017.4.20 |
V3.1 |
增加第26-28章 |
Dragon |
2017.5.5 |
V3.2 |
增加第29章 (发布V3.2) |
Dragon |
2017.6.11 |
V3.3 |
在V3.2基础上对文档进行了全面整理和修改,特别是增加了打包加壳的安装步骤及添加其他一些细节开发技术。 (发布V3.3 BuildDouble版本) |
Dragon |
2019.3.29 |
目录
BuildDouble详细设计文档................................................................................................. 1
一、 BuildDouble开发环境搭建及配置.............................................................................. 4
1.1 安装源码编辑器.............................................................................................. 5
1.2 下载最新版的AIR-SDK..................................................................................... 5
下载最新版的AIR-SDK,目前24.0.............................................................................. 5
1.3 BuildDouble 源码............................................................................................. 5
1.4 拷贝必要的DLL............................................................................................... 5
1.5 新建项目工程................................................................................................. 5
运行Flash builder 4.7新建一个 ActionScript Project...................................................... 5
1.6 添加库文件..................................................................................................... 6
选择项目的属性:添加 库文件夹: BuildDouble\source\libs....................................... 6
1.7 添加扩展库..................................................................................................... 8
添加本机扩展库: BuildDouble\source\libs\*.ane........................................................ 8
1.8 创建并添加数字签名....................................................................................... 9
1.9 导出文件........................................................................................................ 9
择导出成发行版本时需要导出的文件:..................................................................... 9
1.10 配置主xml文件......................................................................................... 11
1.11 处理DLL文件............................................................................................ 11
1.12 添加Arduino IDE......................................................................................... 11
1.13 添加portable文件夹.................................................................................. 12
二、 BuildDouble项目的框架结构及包说明..................................................................... 12
2.1 默认包.......................................................................................................... 13
2.2 Assets包....................................................................................................... 13
2.3 block包......................................................................................................... 13
2.4 cc.makerblock包............................................................................................ 14
2.5 Drivers包...................................................................................................... 14
2.6 ext.libraries包............................................................................................... 14
2.7 extensions包................................................................................................. 14
2.8 firmware包................................................................................................... 15
2.9 icons包......................................................................................................... 15
2.10 interpreter包................................................................................................. 16
2.11 locale包........................................................................................................ 16
2.12 Media包....................................................................................................... 16
2.13 primitives和scratch包................................................................................... 17
2.14 ui和uiwidgets包........................................................................................... 17
三、 添加扩展模块及相关文件说明................................................................................ 18
3.1 BuildDouble.s2e文件里的数据格式说明.......................................................... 18
3.2 json库........................................................................................................... 20
3.3 js文件说明.................................................................................................... 21
3.4 固件文件说明................................................................................................ 27
四、 更换默认角色库的方法.......................................................................................... 31
4.1 把图片放入media文件夹.............................................................................. 32
4.2 在mcat.json文件里做相应的修改.................................................................. 32
五、 修改界面menu菜单栏........................................................................................... 33
5.1 修改menu.xml文件....................................................................................... 33
5.2 修改topsystemMenu.as类............................................................................. 33
六、 控制板及扩展菜单栏功能实现................................................................................ 35
七、 固件安装功能实现方法.......................................................................................... 37
7.1 关键代码处如下截图所示.............................................................................. 38
八、 下载更新功能........................................................................................................ 42
8.1 关键代码位置................................................................................................ 43
8.2 去掉每次打开软件时弹出的升级对话框......................................................... 44
8.3 去掉开机画面................................................................................................ 45
九、 报错反馈功能页面................................................................................................. 46
9.1 修改Menu.xml............................................................................................... 46
9.2 修改ErrorReportFrame.as类.......................................................................... 46
十、 单一显示扩展模块功能实现................................................................................... 47
10.1 原理.......................................................................................................... 47
十一、 BuildDouble通讯协议.......................................................................................... 47
11.1 数据包格式说明......................................................................................... 48
11.2 通道号....................................................................................................... 49
十二、 注释扩展菜单栏功能的步骤................................................................................ 49
12.1 需要修改的地方如图所示........................................................................... 50
十三、 删掉Arduino模式的方法..................................................................................... 50
13.1 修改Menu.xml........................................................................................... 51
13.2 修改topsystemMenu.as类.......................................................................... 52
十四、 Flashbuilder的破解方法及工具............................................................................ 52
十五、 关于在导出程序为发行版时无法构建本地线程及构建空间出错的问题................. 63
15.1 如图所示问题............................................................................................ 64
十六、 关于安装固件功能已做过的实验......................................................................... 64
十七、 关于项目的主配置文件说明................................................................................ 67
十八、 改变软件的图标................................................................................................. 70
十九、 保存的Scratch文件类型..................................................................................... 71
二十、 关于气泡里的值的显示的代码............................................................................ 72
二十一、 关于复选框checkbox的研究............................................................................ 73
二十二、 调试中遇到的缓存问题................................................................................... 75
22.1 清除软件缓存的方法:.............................................................................. 75
22.2 利用flashbuilder的菜单目录下的清理命令.................................................. 75
二十三、 导出工程项目为发行版过程............................................................................ 76
23.1 点击红色箭头所示的按钮........................................................................... 76
23.2 导出的4种形式说明:.............................................................................. 77
23.3 导出的最后一步不要选择时间戳................................................................ 78
二十四、 导出项目中的问题.......................................................................................... 78
二十五、 软件安装步骤加壳设置................................................................................... 80
25.1 使用setup factory工具打包........................................................................ 80
二十六、 有关本机扩展的更多信息请参阅本机扩展....................................................... 85
26.1 官方对本机展应用程序的说明.................................................................... 85
26.2 ane开发步骤................................................................................................. 86
26.3 ane开发视频教程.......................................................................................... 86
26.4 为ane打包的可视化工具........................................................................... 86
26.5 大神做的一些ane库的一些例子................................................................ 86
26.6 ane资料........................................................................................................ 86
关于windows环境下使用adobe air的本机扩展(ane)的一些心.............................. 86
26.7 在flashbuilder中如何使用本机扩展的资料.................................................. 86
二十七、 mbot相关资料................................................................................................ 87
27.1 mbot的资料汇总........................................................................................... 87
27.2 Mcore小车的主控板接口详解........................................................................ 87
27.3 BuildDouble固件协议说明.............................................................................. 87
27.4 mbot的源码探究........................................................................................... 87
27.5 用dOxygen生成的BuildDouble的Arduino库之间的关系.............................. 87
二十八、 关于使用FlashBuilder的快捷键........................................................................ 87
二十九、 学习资料........................................................................................................ 88
29.1 SCratchX框架................................................................................................ 88
29.2 Web版SCratch.............................................................................................. 88
29.3 Arduino编程帮助文档.................................................................................... 88
29.4 各种传感器知识和Arduino编程知识........................................................... 88
29.5 传感器通讯协议说明.................................................................................. 89
29.6 SCratch的文件格式说明(英文).................................................................. 89
29.7 Scratch源代码分析文件................................................................................. 89
29.8 Adobe AIR程序开发的官方文档...................................................................... 89
29.9 搜索各种电子书的两个网站....................................................................... 89
29.10 这个电子发烧友网站上的电子类资料......................................................... 89
29.11 图片搜索................................................................................................... 89
29.12 软件的简易逻辑框架图.............................................................................. 90
三十、 附件................................................................................................................... 90
30.1 FlashBuilder 打不开....................................................................................... 90
30.2 Arduino教程.................................................................................................. 91