前言
Mixly自从2015年问世以来,就深受国内创客、中小学教师喜爱,如今已经成为国内最好用的Arduino图形化软件。Mixly最大的优点就是其开放性,Mixly建立了一个生态圈,这个生态圈欢迎所有人的加入,不限制厂家,不限制硬件。因此,任何一个掌握规则的人都可以为Mixly开发第三方库,来丰富Mixly的功能。
Mixly基本原理
Mixly可以看作是介于普通用户与Arduino IDE之间桥梁,通过这个桥梁,即使用户不懂C语言的语法,也可以利用图形化程序编写Arduino程序。Mixly的基本原理是将图形化程序转化成C语言,再利用Arduino IDE上传到硬件中。在我们动手编写第三方库之前,先来了解Mixly是如何将图形化程序转化成C语言的。
根目录下的xxx.xml文件定义了图形块的基本信息,比如类别、名称,ID等。block/xxx.js文件定义了每个图形块的样式,比如颜色、文字、图标等。generator/xxx.js文件是将图形块程序转化成C语言的关键部分。language/xxx/en.js(zh-hans.js)等文件是语言文件,en.js是英文语言文件,zh-hans.js是简体中文语言文件,zh-hant.js是繁体中文语言文件。该类文件定义了图形块程序中每一个字段显示的文字内容。
各文件作用的流程如图 1所示
本次实验采用的是U8g2库,做二次开发使其自定义库模块可显示中文
注:U8g2库是嵌入式设备的单色图形库,具体内容参考如下博客:https://blog.youkuaiyun.com/dpjcn1990/article/details/92831760#21_U8g2_34
开发开始:
开发硬件:Arduino、OLED
开发内容: OLED中文显示模块
开发准备: u8g2库
关于OLED显示中文,以及u8g2库的使用,可参考博客里另一个文章
新建文件,如下图:
在 block 和 generator 文件夹中新建文本文档,并重命名为 kivinOLED.js , 如下图所