【转载】MIXLY二次开发(傻瓜版)

Mixly01:米思齐(Mixly)简介 米思齐(Mixly)官网:http://mixly.org/ 创客教育不断普及,以Arduino为基础的创意电子类创客教育课程正逐步在中小学中推广开来。然而,由于受到其本身技术门槛的限制,创意电子类课程的开设给广大师生提出了巨大的挑战(Arduino需要通过C/C++语言编程实现创意,这对低年龄段的学生来说几乎是不可能的)。创客教育需要更好的图形化编程工具,Mixly(米思齐)因此应运而生。Mi... 阅读详情

Mixly是北师大教育学部创客教育实验室开发的一款图形化编程软件,是在Google Blockly图形化语言的基础上开发,目前支持大部分arduino型号。可惜Mixly还不支持Genuino101的六轴传感器和BLE蓝牙两项强大功能,在和

北师大教育学部创客教育实验室的老师交流之后,我决定自己来开发Mixly对Genuino101的支持模块。

Mixly的大部分程序都是用JavaScript写的,本人之前从未接触过JavaScript,参考了两篇教程,自己摸索了几天,终于把功能实现了,所以希望通过我这篇开发提示,更多人能够根据自己需要修改Mixly软件。

 

Step 1: 文件结构与功能

Picture of 文件结构与功能

Picture of 文件结构与功能

Picture of 文件结构与功能

先来个整体的结构介绍:

1. Mixly0.97\arduino-1.7.9 这个文件夹里是ArduinoIED的免安装文件,可以直接双击里面的arduino图标,打开ArduinoIDE。子文件夹Libraries里是arduino的库文件,这里我需要将用到的库文件放在这个路径。

2. Mixly0.97\company 这个文件夹里定义了我们的模块名称、种类、相关文件的路径,文件格式为

xxx.XML。

3.Mixly0.97\blockly 这个文件夹里的文件是我们修改软件的主要工作:

Mixly0.97\blockly\blocks 这里的文件定义了图形化模块的图形外观。

Mixly0.97\blockly\generators\arduino 将图形化语言转换到arduino代码。

Mixly0.97\blockly\media 图片的使用。

Mixly0.97\blockly\msg\js 语言的切换。

Mixly0.97\blockly\apps\mixly 这里文件还没弄清楚,只知道color.css文件可以设置模块类的图标。

Mixly0.974_WinFull\Mixly0.97\blockly\core 这里面是Blockly的核心库文件,暂时不需要修改。

只需要根据后面的步骤执行有下划线的步骤,就可以完成一些简单模块功能的设计。

 

Step 2: 模块的各部分路径定义

Picture of 模块的各部分路径定义

Picture of 模块的各部分路径定义

首先我们要定义模块类的名称、子模块、相关文件的路径。以输入/输出模块类的子模块“高/低电平”为例,我们需要定义模块类的名称、外观,然后定义子模块的名称、外观和相关文件路径。

在路径Mixly0.97\company下新建一个文件curie.xml,按照图片的示例定义了4个子模块。

 

Step 3: 子模图形结构定义

Picture of 子模图形结构定义

Mixly0.97\blockly\blocks 这里的文件定义了图形化模块的图形外观,我们新建curie.js文件,我一共定义了四个子模块,这里以IMU为例,代码如下:

'use strict';

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

goog.require('Blockly.Blocks');

Blockly.Blocks.IMU = {

init: function() {

this.setColour(220);

this.appendDummyInput("")

.appendTitle(Blockly.xmaker_IMU)

.appendTitle(new Blockly.FieldDropdown([["ax", "ax"], ["ay", "ay"],["az", "az"],["gx", "gx"], ["gy", "gy"],["gz", "gz"]]), "IMUSENSOR");

this.setOutput(true, Number);

}

};

  • this.setColour()设置子模块颜色

  • this.appendDummyInput("")设置子模块的下拉选项菜单

  • .appendTitle(Blockly.xmaker_IMU)设置下拉菜单对应的文字说明,xmaker_IMU是我在文字定义文件里定义的一个字符串

  • .appendTitle(new Blockly.FieldDropdown([["ax", "ax"], ["ay", "ay"],["az", "az"],["gx", "gx"], ["gy", "gy"],["gz", "gz"]]), "IMUSENSOR");设置下拉菜单的选项内容,这里要注意,后面的图形转代码的程序编写需要这里的选项参数

  • this.setOutput(true, Number);设置子模块返回数字到前一级模块

 

Step 4: 子模块图形转Arduino代码程序

Picture of 子模块图形转Arduino代码程序

最后一步是实现我们拖动子模块时,对应的Arduino代码的生成。

我的模块类里有四个子模块,因此对应四个完成Arduino代码生成的函数,以IMU六轴传感器数据返回模块为例,程序如下:

Blockly.Arduino.IMU = function() {
Blockly.Arduino.definitions_['define_IMU'] = '#include ';

Blockly.Arduino.setups_['IMUBegin'] = 'CurieIMU.begin();\n';

Blockly.Arduino.setups_['IMUSetGyro'] ='CurieIMU.setGyroRange(250);\n';

Blockly.Arduino.setups_['IMUSetAcc'] ='CurieIMU.setAccelerometerRange(2);\n';

var what = this.getTitleValue('IMUSENSOR');

var funcName='IMU_get'+what;

var code='float'+ ' ' + funcName + '() {\n'

+' int gxRaw, gyRaw, gzRaw;\n'

+' float gx, gy, gz;\n'

+' int axRaw, ayRaw, azRaw;\n'

+' float ax, ay, az;\n'

+' CurieIMU.readGyro(gxRaw, gyRaw, gzRaw);\n'

+' CurieIMU.readAccelerometer(axRaw, ayRaw, azRaw);\n'

+' gx = (gxRaw * 250.0) / 32768.0;\n'

+' gy = (gyRaw * 250.0) / 32768.0;\n'

+' gz = (gzRaw * 250.0) / 32768.0;\n'

+' ax = (axRaw * 2.0) / 32768.0;\n'

+' ay = (ayRaw * 2.0) / 32768.0;\n'

+' az = (azRaw * 2.0) / 32768.0;\n'

+' return '+what+';\n' +' }\n';

Blockly.Arduino.definitions_[funcName] = code;

return [funcName+'()',Blockly.Arduino.ORDER_ATOMIC];

};

总结出几条规则:

  • Blockly.Arduino.definitions后面带宏定义

  • Blockly.Arduino.setups后面带setupup里面的代码

  • return后面是loop里面的代码

Step 5: 大功告成,做几个示例

Picture of 大功告成,做几个示例

Picture of 大功告成,做几个示例

软件下载地址:

http://pan.baidu.com/s/1skSeDqt

【mixly】APDS9960第三方库开发 APDS9960第三方库开发 文章目录APDS9960第三方库开发前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。 提示:以下是本篇文章正文内容,下面案例可供参考 一、pandas是什么? 示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。 二、使用步骤 1.引入库 代码如下(示例 阅读详情

相关推荐

Arduino Mixly入门到精通教程

Arduino Mixly入门到精通 55个传感器实验带你一步步玩转Mixly

m0_60012883的博客 4万+

Mixly米思齐图形化编程初体验

Mixly是一款基于Scratch图形化编程语言的Arduino编程软件,它主要用于为初学者提供一个简单且易于理解的编程环境。通过Mixly,用户可以通过拖拽代码块的方式来编写Arduino程序,而无需手动输入代码。它提供了丰富的Arduino库函数和示例,使得用户可以快速上手并进行各种电子项目的实现。

ShenZhen_zixian的博客 1万+

一起玩儿物联网人工智能小车——08. Mixly(米思利)的安装和使用

本文介绍Mixly(米思利)的安装和使用的基本知识。

一起玩儿科技 6574

10-N个你可能不知道的Mixly软件操作小技巧 | Mixly技巧系列

Mixly 是由北师大米思齐团队开发的图形化编程软件,自发布以来深受国内创客圈的喜爱。Mixly 编程软件采用图形化编程,不用记代码,只需要拖拽、简单设置,就能让你快速完成创意电子编程。本...

铁熊玩创客 6057

mixly二次开发培训.zip

mixly二次开发培训资料大全,mixly模块编程IDE二次开发源码介绍资料。

Windows 11下用Ollama一键部署DeepSeek-R1大模型(附8B/14B版本选择建议)

本文详细介绍了在Windows 11环境下使用Ollama工具一键部署DeepSeek-R1大模型的完整指南,包括8B和14B版本的选择建议。通过硬件评估、安装配置、性能优化等步骤,帮助开发者高效实现本地部署,提升AI应用体验。

weixin_29079643的博客 272

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

Mixly 是由北师大米思齐团队开发的图形化编程软件,自发布以来深受国内创客圈的喜爱。Mixly 编程软件采用图形化编程,不用记代码,只需要拖拽、简单设置,就能让你快速完成创意电子编程。本...

铁熊玩创客 4912

资源描述框架RDF及Turtle

文章目录1. RDF1.1 简介1.2 格式1.3 RDF的要求2. Turtle2.1 语法2.1.1 简单三元组2.1.2 Turtle中的命名空间2.1.3 Base URI2.1.4 谓语列表2.1.5 宾语列表2.1.6 空白节点(bNodes)2.1.7 数据类型2.1.8 Class membership2.1.9 空URI2.1.10 集合 1. RDF 1.1 简介 RDF(Resource Description Framework)语义网的标准数据模型,是一个用于描述 Web 上的资

doublewhite233的博客 2493

2-Mixly支持的开发板及语言 | Mixly技巧系列

Mixly 是由北师大米思齐团队开发的图形化编程软件,自发布以来深受国内创客圈的喜爱。Mixly 编程软件采用图形化编程,不用记代码,只需要拖拽、简单设置,就能让你快速完成创意电子编程。本...

铁熊玩创客 1472

深入浅出SSD:固态存储核心技术、原理与实战(文末赠书)

作为经典畅销书的升级版,本书在第1版的基础上新增了大量新知识(如闪存、UFS、测试、文件系统等),并改写或删减了许多过时或不适用的内容,总修改量超过60%。本书由SSD技术社区SSDFans的核心团队成员联合业界、高校SSD方面的专家共同完成,相对于第1版,内容更全面、更新,也更有深度。本书从产品、技术和应用3个维度展开,全面、详细讲解了SSD的发展历史、产品形态、工作原理、整体架构,以及各个功能模块的原理和使用,从SSD的前端接口协议到FTL算法,再到后端的闪存和纠错,以及测试,本书都有涉及。

阿玥的小博客 3122

【ChatGPT实战案例】ChatGPT如何帮助产品经理高效工作?

1. 产品经理主要工作方向, 2. 具体工作中,向ChatGPT提问参考

weixin_62909516的博客 1899

创客教师必备技能:Mixly第三方库开发

创客教师必备技能:Mixly第三方库开发 转载自:https://www.jianshu.com/p/c491e831a7de hznupeter 2018.02.16 12:14:24字数 2,462 前言 Mixly自从2015年问世以来,就深受国内创客、中小学教师喜爱,如今已经成为国内最好用的Arduino图形化软件。Mixly最大的优点就是其开放性,Mixly建立了一个生态圈,这个生态圈欢迎所有人的加入,不限制厂家,不限制硬件。因此,任何一个掌握规则的人都可以为Mixly开发第三方库,来丰

程序猿的实验室 4741

土壤水动力学_前 言

Van Genuchten (V-G) 模型是土壤水分特征曲线中最常用的模型之一。它通过数学方程描述了土壤基质吸力与体积含水量之间的关系,被广泛应用于土壤水分运移、土壤盐渍化、边坡稳定性等研究领域。V-G模型是描述土壤水分特征曲线的重要工具,但它并不是完美的。在实际应用中,需要根据土壤类型、试验条件等因素选择合适的模型。土壤基质吸力是土壤水分学中的一个重要概念,它对土壤水分的保持、植物的生长以及土壤的工程性质都有重要影响。

weixin_44259522的博客 5325

18-认识蜂鸣器 | Mixly技巧系列

Mixly 是由北师大米思齐团队开发的图形化编程软件,自发布以来深受国内创客圈的喜爱。Mixly 编程软件采用图形化编程,不用记代码,只需要拖拽、简单设置,就能让你快速完成创意电子编程。本...

铁熊玩创客 1873

LBM模式学习·保姆级安装及初步使用教程

在学习LBM的过程中,我感觉可供参考的材料较为有限,对于一个独立学习LBM模式的初学者非常不友好(我就是这个初学者哈哈),因此萌生了写一篇保姆级的LBM模式教程,并将我踩过的坑一一指出,有助于后来者更快地上手该模式,而非半途而废。

weixin_42762673的博客 1万+

广东省道路工程检测练习试题(判断题)真题

按下式计算小于某粒径颗粒质量百分数:X=(A/B)x100( )49.、挖坑灌砂法适用于在现场测定基层(或底基层)、砂石路面及路基土的各种材料压实层的密度和压实度,但不适用于填石路堤等有大孔洞或大孔隙材料的压实度检测。95.挖坑灌砂法适用于在现场测定基层(或底基层)、砂石路面及路基土的各种材料压实层的密度和压实度,但不适用于填石路堤等有大孔洞或大孔隙材料的压实度检测( )107.以干密度 pd 为纵坐标,含水率w为横坐标,绘 pd-w 关系曲线,曲线上峰值点的纵、横坐标分别为最大干密度和最佳含水率( )

ZShy001238的博客 682

15-Mixly模拟输出 | Mixly技巧系列

Mixly 是由北师大米思齐团队开发的图形化编程软件,自发布以来深受国内创客圈的喜爱。Mixly 编程软件采用图形化编程,不用记代码,只需要拖拽、简单设置,就能让你快速完成创意电子编程。本...

铁熊玩创客 1692

12-RK平台U-Boot启动流程

先看概述,把这一章要回答的问题摆出来,带着问题听。RK 特有的 BootROM -> MiniLoader -> SPL -> U-Boot -> Kernel。这是因为 RK 平台使用闭源的 DDR 初始化固件,需要通过 MiniLoader 来加载和运行。为什么多一层?这是 RK 平台的特殊性决定的。RK 平台使用闭源的 DDR 初始化固件,这段代码 Rockchip 不开源,只能以二进制形式提供,它需要一个载体来加载和运行,这个载体就是 MiniLoader。

内核笔记 1146

20-认识RGB七彩灯 | Mixly技巧系列

Mixly 是由北师大米思齐团队开发的图形化编程软件,自发布以来深受国内创客圈的喜爱。Mixly 编程软件采用图形化编程,不用记代码,只需要拖拽、简单设置,就能让你快速完成创意电子编程。本...

铁熊玩创客 2134

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

14-Mixly中你可能没用过的数学运算(第2部分) | Mixly技巧系列

Mixly 是由北师大米思齐团队开发的图形化编程软件,自发布以来深受国内创客圈的喜爱。Mixly 编程软件采用图形化编程,不用记代码,只需要拖拽、简单设置,就能让你快速完成创意电子编程。本...

铁熊玩创客 1590

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

1-Mixly软件的安装与升级 | Mixly技巧系列

Mixly 是由北师大米思齐团队开发的图形化编程软件,自发布以来深受国内创客圈的喜爱。Mixly 编程软件采用图形化编程,不用记代码,只需要拖拽、简单设置,就能让你快速完成创意电子编程。本...

铁熊玩创客 1117

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

25-常见的错误与解决办法 | Mixly技巧系列

Mixly 是由北师大米思齐团队开发的图形化编程软件,自发布以来深受国内创客圈的喜爱。Mixly 编程软件采用图形化编程,不用记代码,只需要拖拽、简单设置,就能让你快速完成创意电子编程。本...

铁熊玩创客 5520

Mixly第26课~第28课,内容抢先看 | Mixly米思齐纯干货系列

Mixly 是由北师大米思齐团队开发的图形化编程软件,自发布以来深受国内创客圈的喜爱。Mixly 编程软件采用图形化编程,不用记代码,只需要拖拽、简单设置,就能让你快速完成创意电子编程。本...

铁熊玩创客 966

13-Mixly中你可能没用过的数学运算(第1部分) | Mixly技巧系列

Mixly 是由北师大米思齐团队开发的图形化编程软件,自发布以来深受国内创客圈的喜爱。Mixly 编程软件采用图形化编程,不用记代码,只需要拖拽、简单设置,就能让你快速完成创意电子编程。本...

铁熊玩创客 1173

16-模拟输入 | Mixly技巧系列

Mixly 是由北师大米思齐团队开发的图形化编程软件,自发布以来深受国内创客圈的喜爱。Mixly 编程软件采用图形化编程,不用记代码,只需要拖拽、简单设置,就能让你快速完成创意电子编程。本...

铁熊玩创客 943

12-Scoop多线程 | Mixly技巧系列

Mixly 是由北师大米思齐团队开发的图形化编程软件,自发布以来深受国内创客圈的喜爱。Mixly 编程软件采用图形化编程,不用记代码,只需要拖拽、简单设置,就能让你快速完成创意电子编程。本...

铁熊玩创客 3600
上一篇: micropython for Esp8266内置库
下一篇: 利用zigbee2mqtt自制Zigbee 网关接入Domoticz 和HomeAssistant
A-level
博客等级 码龄14年 82粉丝 37原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值