Mixly第三方库开发

本文介绍了Mixly这款Arduino图形化编程软件的第三方库开发流程,包括编写xml配置文件、block.js样式文件和generator.js转化代码,以及如何导入和测试自定义库。通过自定义库,用户可以扩展Mixly的功能,使其更加个性化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

Mixly自从2015年问世以来,就深受国内创客、中小学教师喜爱,如今已经成为国内最好用的Arduino图形化软件之一。Mixly最大的优点就是其开放性,Mixly建立了一个生态圈,这个生态圈欢迎所有人的加入,不限制厂家,不限制硬件。因此,任何一个掌握规则的人都可以为Mixly开发第三方库,来丰富Mixly的功能。
Mixly基本原理
Mixly是一款图形化编程软件,即使用户不懂C语言的语法,也可以利用图形化程序编写Arduino程序。Mixly的基本原理是将图形化程序转化成C语言,再利用Arduino IDE上传到硬件中。在我们动手编写第三方库之前,先来了解Mixly是如何将图形化程序转化成C语言的。
Mixly库的目录主要有以下文件

  • xxx.xml文件:定义了图形块的基本信息,比如类别、名称,ID等。
  • block/xxx.js文件:定义了每个图形块的样式,比如颜色、文字、图标等。
  • generator/xxx.js文件:将图形块程序转化成C语言的关键部分。
  • language/xxx/en.js等文件:语言文件,en.js是英文语言文件,zh-hans.js是简体中文语言文件,zh-hant.js是繁体中文语言文件。该类文件定义了图形块程序中每一个字段显示的文字内容。

**文件结构如下:

└─xxx                    		// 项目根目录
    ├─ xxx.xml           		// 本用户库的配置文件
    │
    ├─ block                 
    │      xxx.js				// 图形化样式文件
    │
    ├─ generator                 
    │          xxx.js			// 图形块转C语言文件
    │
    └─ language
              └─xxx
    		      zh-hans.js    // 简体中文语言文件



实验步骤

介绍完米思齐的一些基本知识后,下面就开始添加米思齐的自定义库了,添加米思齐自定义库

1、编写xxx.xml文件

  • block 中的 type 相当于积木块的ID,需与block/xxx.js、generator/xxx.js中
    “Blockly.Blocks.XX” 的XX一致
  • value是积木块中的参数,name为参数的ID,后面会调用到
  • shadow 中 type 为输入框中类型,text 表示为文本型
<!--该注释为!!!路径!!!,此为刚需!
  type="company" 
  block="block/OLED.js" 
  generator="generator/OLED.js" 
-->
<script type="text/javascript" src="../../blocks/company/OLED.js"></script>
<script type="text/javascript" src="../../generators/arduino/company/OLED.js"></script>
 
<!--根路径&外观配置&所有模块的内容物-->
<category id="kivin OLED demo" name="OLED中文显示" colour= 20>
 
<!-- OLED模块 -->
 
      <!--include模块-->
      <block type="U8g2lib_include">
                <value name="String">
                    <shadow type="text">  <!--可编辑文本-->
                        <field name="_text">U8g2lib.h</field>
                    </shadow
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值