mixly make库二次开发——利用图形化自定义库(以DHT11为例)

Posted Mpara

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mixly make库二次开发——利用图形化自定义库(以DHT11为例)相关的知识,希望对你有一定的参考价值。


前言

本文章参考了这篇文章:
Mixly二次开发之make库的使用
Mixly自从2015年问世以来,就深受国内创客、中小学教师喜爱,如今已经成为国内最好用的Arduino图形化软件。Mixly最大的优点就是其开放性,Mixly建立了一个生态圈,这个生态圈欢迎所有人的加入,不限制厂家,不限制硬件。因此,任何一个掌握规则的人都可以为Mixly开发第三方库,来丰富Mixly的功能。
make库是一个制作Mixly中图形化模块的第三方库,其源码已托管到gitee和github上,如果没有这个库可搜索Libraries_For_Mixly进行下载。
(1)Gitee:
https://gitee.com/smilebrightly/Libraries_for_Mixly.git
(2)Github:
https://github.com/3294713004wlb/Libraries_for_Mixly.git
下载后导入xml文件即可。


提示:以下是本篇文章正文内容,下面案例可供参考

一、mixly第三方库结构

在这里插入图片描述
一个完整的库,需要包含以下三个文件:xxx.xml,block文件夹,generator文件夹,这两个文件夹下需要包含xxx.js文件
在这里插入图片描述
在编辑这三个文件时,需注意以下事项:
1.xxx.xml:

<!-- 
  type="company" 
  block="block/DHT11.js" 
  generator="generator/DHT11.js" 
  lib="th"
-->
<script type="text/javascript" src="../../blocks/company/DHT11.js"></script>
<script type="text/javascript" src="../../generators/arduino/company/DHT11.js"></script>

xxx.xml文件的最顶端需要添加以上代码,lib=xxx为库文件,DHT11可更换为自己的文件名。
2.block/xxx.js

'use strict';

goog.provide('Blockly.Blocks.DHT11');

goog.require('Blockly.Blocks');

在block文件夹里,我们需要把上图的三行代码写在xxx.js的最顶端,并把DHT11替换为现在的文件名(xxx)。
3.generator/xxx.js

'use strict';

goog.provide('Blockly.Arduino.DHT11');

goog.require('Blockly.Arduino');

在generator文件夹里,我们需要把上图的三行代码写在xxx.js的最顶端,并把DHT11替换为现在的文件名(xxx)。

二、第三方库制作,以DHT11为例

1.块外观制作

导入make后,可看到显示界面里为黑块,我们暂时不需要管,当制作块时,这里会实时显示所制作的块。先看主体类
在这里插入图片描述
block/xxx.js制作的是块的外观,需要用到输入接口,输入接口有以下几类:
在这里插入图片描述
这里为例的DHT11库需要用到的接口为模拟输入
在这里插入图片描述
使用DHT11时第一步要选择引脚,我们可以用下拉框选项来制作引脚
在这里插入图片描述
注意:下拉框内的NAME(1-13)会赋值给下拉框的NAME(PIN),我们引用PIN获取引脚数据即可.
然后定义需要获取的温度值或湿度值:
在这里插入图片描述
这时候块的外观就已经制作完毕了
在这里插入图片描述
可以在主体上自定义块的颜色。

2.为块添加代码

在genertor/xxx.js中为块添加功能代码
在这里插入图片描述
编辑生成代码类中拉拽我们需要使用的块来添加代码
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
我们需要引入dht11库,定义类,定义引脚,引脚用dropdown_NAME(这里使用的NAME为PIN)来引用
在这里插入图片描述
添加函数代码:
在这里插入图片描述

3.复制代码至文件中

在主体类里,这一块可以显示制作后的代码
在这里插入图片描述
我们选择显示原始代码:
在这里插入图片描述
将代码复制到相应的文件中
注意:xml文件中需要添加一行代码:

<category id="DHT11 DEMO" name="DHT11模块" colour= 20>
</category>

名字可以自定义,将制作好的xml代码复制这行代码中间,大功告成。

二、测试第三方库

导入后,我们可以看到自己的功能块
在这里插入图片描述
使用arduino+dht11来测试功能块的效果
接线在这里插入图片描述

图形化代码:
在这里插入图片描述
点击上传,查看串口监视器
在这里插入图片描述
测试成功。

以上是关于mixly make库二次开发——利用图形化自定义库(以DHT11为例)的主要内容,如果未能解决你的问题,请参考以下文章

mixly make库二次开发——利用图形化自定义库(以DHT11为例)

23-Mixly红外遥控编程 | Mixly技巧系列

Mixly第三方库开发

Mixly第三方库开发

Mixly第三方库开发

Mixly第三方库开发