编程已成为当代青年需掌握的一项基本技能,也许一提到编码大多数人想到的画面是这样的:

或是这样的:

这样的:

还有这样的:

其实编程还可以是这样的:

对没错,图形化编程,当前也有较多的图形化编程工具,从本节开始,我将带领大家开启基于Mixly图形化编程之旅。

以下内容源自Mixly官方技术文档:

https://mixly.readthedocs.io/zh_CN/latest/basic/01Mixly_introduction.html

Mixly 简介

Mixly(米思齐)是一款图形化编程软件。用户可以通过拼接积木块的方式来编写程序。目前为止,Mixly已经支持Arduino,micropython,python等编程语言。

简介

Mixly(米思齐)是在北京师范大学教育学部创客教育实验室负责人傅骞老师的带领下,由其团队开发的一款国内自主研发,且免费开源的图形化编程工具。在国内外都掀起创客教育的浪潮中,傅骞老师认真分析了当前电子领域内的创客教育,并认为“如果不能给学生提供一个足够简单的、不能给教师提供一个容易上手的,不能给各大生产厂商提供一个足够自主的编程工具,所谓的“创”也只能是停留在表面的浮云,风一吹便散。”为了大力贯彻落实创客实验室“自主实践,分享快乐”的教育理念,傅骞老师带领其团队,开发出具有易用性、简单性、功能性、普适性、延续性及生态性等特点的Mixly。

特点

易用性

当前多数中小学机房安装了硬盘保护卡,频繁的软件安装与更新工作,给机房的管理工作造成极大的不便。为此,Mixly在设计上做到了完全绿色使用。用户直接从网上下载Mixly软件包,解压后即可在Windows XP及以上的操作系统运行。软件无需额外安装浏览器,也不用安装Java运行环境,极大方便了师生的使用。

简单性

Mixly采用了Blockly图形化编程引擎,使用图形化的积木块代替了复杂的文本操作,为学生的快速入门奠定了良好的基础。另外,Mixly的开发团队使用以下方式来帮助师生快速熟悉软件:第一,用不同颜色的示意图标代表不同类型的功能块,方便用户归类区分;第二,在复合功能块中提供默认选项,有效减少用户的拖动次数;第三,在同一个界面整合软件的所有功能;第四,提供参考教程及代码示例。

功能性

当前,很多学校将组织或参与创客类比赛作为创客教育的一种途径,比赛的竞技性对软件的功能提出了更高的要求。因此,Mixly在功能的设计上力求和Arduino IDE的文本编程保持一致,目前最新发布的Mixly 0.97版已经实现Arduino的所有官方功能(包括中断处理),并加入了大量的第三方扩展库功能,如红外遥控、超声波等,可以保证课程开设和各类创客比赛的双重需求。

普适性

Mixly在设计上考虑了绝对的普适性。首先,对于Arduino官方支持的所有开发板,Mixly都提供了完美的支持:Mixly会根据开发板的类型自动改变模块中的管脚号、中断号、模拟输出管脚等;其次,对于Arduino支持的第三方开发板,Mixly同样支持,用户只要把相应开发板的定义复制到Mixly中即可。如国内大量的ESP8266开发板、各类用户修改后的开发板等等,以保证用户在开发板选择上的最大自由度。

延续性

图形化编程系统的目标绝对不是替换原有的文本编程方式,而是希望学生通过图形化编程更好更快地理解编程的原理和程序的思维,并为未来的文本编程打好基础。Mixly的设计理念也是如此。在软件的设计上加入了更多的可延续性内容,从而保护用户的学习成果。具体来说,包括引入变量类型、在模块的设计上尽量保持和文本编程的一致、支持图形编程和文本编程的对照等。

生态性

生态性是Mixly最重要的设计理念,也是它区别于其它Arduino图形化编程的最重要特征。为了实现Mixly可持续发展,Mixly在设计上既允许厂商开发自己的特有模块(当前已经支持DfRobot、StartLab、MakeBlock、Sense、Seeed、Lubot,Microduino、Ruilong、NodeMcu,Nova,用户需要有JavaScript编程基础才能制作这部分模块),也允许用户直接利用Mixly的图形化编程功能生成通用模块(如数码管显示、蜂鸣音播报等,用户只需会使用Mixly即可制作这部分模块)。以上两类模块均可通过“导入库”功能导入Mixly系统,从而在Mixly软件的普及中实现用户自身的价值。

软件安装与更新

目前最新版本为1.0.0,支持Windows 7/8/10、MacOS、Linux(非arm框架)。

下载软件

  • 【推荐1】

  • 【推荐2】

  • 【推荐】

Windows版本安装

安装软件

下载Mixly_WIN.7z压缩包,右键解压到本地磁盘。

注解

  • 建议解压到硬盘根目录,路径不能包含中文及特殊字符(如:. _ ( ) 等)。

  • 建议安装路径如E:Mixly

解压后目录如图所示。

第一次解压的软件只含有最基础的文件,不能直接运行。需要先运行 一键更新.bat 或 update.bat下载最新版的Mixly软件。

等待片刻后,会显示更新进度。

当看到提示“Mixly更新完成”时,说明软件下载完毕。

更新完成后,软件目录如图所示,可以双击Mixly.exe打开Mixly软件。

更新软件

Mixly软件的更新是基于git设计的,每次更新会自动对比最新版与用户使用的版本的差异,只更新差异文件,避免重复下载造成版本混乱。

先关闭Mixly软件,再运行 一键更新.bat或update.bat 启动更新程序。

稍等片刻后,更新完成。

驱动安装

开发板与电脑连接通讯需要安装相应的串口芯片驱动,常用的串口芯片驱动有CH340和CP2102。 在arduino/drivers目录中可以找到这两种串口芯片驱动。

根据使用的开发板的串口芯片选择相应的驱动,如果不确定是哪种串口芯片,也可以将两个驱动都安装上。

启动软件

双击Mixly.exe即可启动Mixly软件。

Mac版本安装

解压软件

下载jre-8u221-macosx-x64.dmg Java 安装包,根据提示默认安装。

下载Mixly1.0_MAC.zip压缩包,右键解压到本地磁盘。

解压后目录如图所示。

1.MAC必须安装JDK8,而且只能安装JDK8,高版本JAVA不行,可以直接使用云盘目录自带的JDK 2.需要安装相应的开源硬件驱动,常用的就是云盘自带的cp210x驱动和ch34x驱动 3.需要自行安装 python3(安装包在云盘) 4.安装完python3之后,运行以下命令行操作

1

2

3

4

5

6

7

sudo xcode-select --install

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

brew install portaudio

pip3 install pyaudio

brew install opencv

pip3 install opencv-python

pip3 install baidu-aip matplotlib pandas numpy

5.解压Mixy后双击Mixly.jar即可使用

驱动安装

开发板与电脑连接通讯需要安装相应的串口芯片驱动,常用的串口芯片驱动有CH340和CP2102。 Mixly/drivers目录中可以找到这两种串口芯片驱动。

根据使用的开发板的串口芯片选择相应的驱动,如果不确定是哪种串口芯片,也可以将两个驱动都安装上。

启动软件

双击Mixly.jar即可启动Mixly软件。

更新软件

Mixly软件的更新是基于git设计的,每次更新会自动对比最新版与用户使用的版本的差异,只更新差异文件,避免重复下载造成版本混乱。

先关闭Mixly软件。 打开 终端 并通过 cd 命令进入mixly软件所在目录(输入 cd后可以将mixly文件夹拖入 终端 窗口)。

依次输入输入更新命令:

1

2

3

git add *

git stash

git pull origin master

稍等片刻,就可以看到更新文件完成。

界面介绍

Mixly软件主要分成图形化程序选择区、图形化程序编辑区、代码预览区、系统功能区、消息提示区。

图形化程序选择区

图形化程序选择区中包含了各类图形化程序,每一个类别中都包含多个图形化。通过将这些图形块拖动到图形化程序编辑区就可以完成编程。

程序编写区

程序编写

我们通常把能完成一定功能的代码块拖动到该区域处进行连接。

程序删除

  • 将不需要的代码拖到右下方的垃圾桶。

  • 将不用的代码拖到最左侧的图形化程序选择区。

  • 选中不用的代码后点击键盘Delete或者Backspace键。

程序缩放

在右下角垃圾桶上方有缩放按钮。

  • 第一个按钮是图形块大小正常化并居中。

  • 第二个是放大图形块。

  • 第三个是缩小图形块。

当然也可以直接使用鼠标滚轮进行缩放。

程序整理

当编写的程序比较多时,需要对程序进行整理。

在空白区右击,选择清理块。

注意

只有当有多个分离块时,才能进行整理。

程序复制

  • 在图形块上右击,选择复制,会产生一个一样的块,但该方式只能复制一个块。

  • 先用鼠标拖住多个块,再按下Ctrl+C,Ctrl+V可以复制多块。

切换语言

在该区域的右上角,还可以选取语言的种类。

截止目前为止,Mixly可支持英语、西班牙语、简体中文及繁体中文。

撤销及重做

在选择语言的左边还有两个箭头,分别是撤销(undo,Ctrl + Z)及重做(redo,Ctrl + Y)。

撤销功能是当我们编写代码时误删代码后,便可点击左箭头或直接按Ctrl + Z来恢复误删代码。

而重做则是和Ctrl + Z相反,它是恢复上一步操作,该功能也可通过点击右箭头或直接键入Ctrl + Y 来实现。

帮助文档

在选择语言的左侧?图标是帮助文档的链接,点击该图标可以打开帮助文档。

代码预览区

该区域可通过点击右侧深灰色箭头来显示或隐藏。

在图形化程序选择区拖拽图形块后,在代码编辑区会生成对应的代码。可以帮助用户掌握代码的学习。

注意

在该区域无法直接对代码进行编辑,需要点击图形化程序选择区左上角的 代码 按钮才能进行编辑。

消息提示区

消息提示区通常是给学生予以信息反馈的场所。比如编译或上传进程中,编译或上传是否成功,如果失败原因是什么;或者是导入库是否成功等消息。

系统功能区

系统功能区主要执行的功能有新建、打开、保存、另存为、导出库、导入库、管理库、编译、上传、选择主控板型号及端口、串口监视器及软件界面放大缩小等功能。

一般功能

Mixly的一般功能包括新建、打开、保存、另存为,其中代码保存或另存为的格式为.mix或者.ino。

当用户需要打开已保存的文件时,可以先打开Mixly软件,再点击“打开”,找到*.mix文件。也可以直接双击*.mix文件打开。

库功能

为了方便用户使用及代码分享,Mixly特增加了库功能。库功能分别包括:导出库,导入库以及管理库。 当用户编写完一段代码后(比如语音播报),可这个代码集成在一个函数中(假设该函数为sayNum)。之后只需要点击导出库并给该库起个名字便能使用。

保存后就可以将该库上传至平台,供他人下载使用、学习。

当有人下载该代码后,可直接将该库进行导入并使用。点击导入库找到该文件的位置。

导入后界面会刷新,耐心等待1-2秒,便可在模块选择区见到新导入的库,同时,在消息提示区也会提示“导入自定义库成功!”接着可直接点击sayNum库,将指令拖入程序构建区,调用该函数即可。

 

管理库的功能是可以对已导入的库进行重命名、删除和打开目录。

编译&上传

当用户编写完代码后,如果想要检查代码逻辑是否有误,可点击编译。

如果显示“编译失败”,则需要根据提示检查自己的代码,如显示“编译成功”则证明代码逻辑上无误,可上传。

如果出现“上传失败”,大多数情况插拔USB线即可解决该问题。

如果出现“上传成功”,则证明代码已上传至板子上。当然,如果用户对于代码逻辑信心十足,可直接点击上传按钮。

板卡&端口

当用户点击主控板下拉三角时即可看到有众多主控板型号可供选择。用户需按照当前手中主控板型号予以选择。

注意

开始编程前就要先选择板卡,编写好程序再切换板卡将导致程序丢失。

选择好板卡后,还需要选择该板卡对应的端口号,端口号是计算机与板卡通信的通道。

串口监视器

串口监视器与模块选择区的通信模块中的串口通信指令一起使用。 可以用于输出变量、传感器数值等。

界面缩放

在串口监视器右侧有一个左右可拉的按钮,该按钮可放大或缩小Mixly整个界面的大小。

与程序构建区内的放大、缩小不同(该按钮只可放大或缩小程序构建区代码的大小),拖动缩放界面可放大除消息提示区外所有区域的大小。

支持板卡

从语言上来说,Mixly目前支持Arduino、MicroPython、Python三种语言。 当我们开始使用Mixly编写程序时,需要先在Mixly软件右下角选择正确的板卡

Arduino板卡

该类别下采用Arduino编程,支持板卡如下:

  • Arduino/Genuino Uno

  • Arduino Nano

  • Arduino/Genuino Mega or Mega 2560

  • Arduino Leonardo

  • Generic ESP8266 Module

  • NodeMCU 1.0 (ESP-12E Module)

  • LOLIN(WEMOS) D1 R2 & mini

  • WeMos D1 R1

  • ESP32 Dev Module

  • Arduino MixGo

  • Arduino HandBit

  • Arduino MixePi

MicroPython板卡

该类别下采用MicroPython编程,支持板卡如下。

  • MicroPython[ESP32_Generic]

  • MicroPython[ESP32_HandBit]

  • MicroPython[ESP32_MixGo]

  • MicroPython[NRF51822_microbit]

Python

纯python编程,不需要任何板卡。

  • mixpy

微信关注图中张十三的博客公众号,学习更多技术干货:

玩转Mixly – 1、Mixly图形化编程工具介绍相关推荐

  1. scratch(图形化编程工具)做一个贪吃蛇的游戏(包含视频讲解+源码)!

    用scratch做一个贪吃蛇游戏! 下边上视频讲解: 代码部分,开始按钮: 开始界面文字动画: 结束页面文字动画: 蛇头代码: 蛇身代码: 食物代码: 好了,今天的教程就分享到这里吧. 本篇文章完整代 ...

  2. 优秀课程案例:使用Scratch图形化编程工具模拟物理机械运动-连杆

    点击上面微信号关注我关注我哟每天坚持推送文章,争取做到日更,喜欢的可以设置星标,并分享点赞我们的文章,非常感谢大家的支持,您的点击的在看就是我们的动力! 今天我们来分享使用少儿图形化编程工具模拟一下物 ...

  3. scratch(图形化编程工具)使用画笔绘制雪绒花!真的太美了!

    2022年目标是永久会员在服务200人,达到300永久会员规模. 我的永久会员购买链接: 永久会员包含很多资料,电子资料我都放在QQ群的群资料中,放百度网盘容易丢失和被和谐. 除了群文件的资料,我还会 ...

  4. 不跳舞的人羡慕吧?scratch(图形化编程工具)使用点阵绘制跳舞的人!

    2022年目标是永久会员在服务200人,达到300永久会员规模. 我的永久会员购买链接: 永久会员包含很多资料,电子资料我都放在QQ群的群资料中,放百度网盘容易丢失和被和谐. 除了群文件的资料,我还会 ...

  5. scratch(图形化编程工具)3.28.0版本更新了!

    点击上方蓝字关注我们 开工大吉,2022年目标是永久会员在服务200人,达到300永久会员规模. 我的永久会员购买链接: 永久会员包含很多资料,电子资料我都放在QQ群的群资料中,放百度网盘容易丢失和被 ...

  6. ROS(indigo) 用于机器人控制的图形化编程工具--code_it robot_blockly

    0 简介: 编程语言有汇编,高级语言,解释语言等,现在图形化编程也越来越流行.图形化编程简单易学.8年前,微软推出了VPL用于机器人程序设计,如Python和JavaScript都可以用图形化框图实现 ...

  7. scratch(图形化编程工具)绘制一个彩虹尾巴猫!

    老规矩,先宣传一波我的VIP永久会员: 1.静态效果图如下: 2.动态效果图如下: 3.代码展示: 主要还是用了克隆体相关的知识. 相关素材 本篇文章完整代码和素材我已经放到VIP的QQ群文件中,大家 ...

  8. scratch(图形化编程工具)制作透视效果!

    开工大吉,2022年目标是永久会员在服务200人,达到300永久会员规模. 我的永久会员购买链接: 永久会员包含很多资料,电子资料我都放在QQ群的群资料中,放百度网盘容易丢失和被和谐. 除了群文件的资 ...

  9. scratch(图形化编程工具)做一个像素画板,快来发挥的你想象力一起绘画吧!...

    老规矩,先来分享一波我的永久会员,少儿编程案例源码+竞赛真题题库为您打造全访问的资料库: 我先来一个效果,你也可以发挥你的想象力做一个哦: 作品动态效果: 代码部分: 网格: 颜色画笔: 点击后填充颜 ...

  10. scratch(图形化编程工具)做3.0版本的猫咪积木模拟器。

    视频效果如下: 代码部分如下: 猫咪积木素材如下,有N个造型动作: 好了,今天的内容就分享到这里了. 好了,今天的教程就分享到这里吧. 本篇文章完整代码和素材我已经放到VIP的QQ群文件中,大家自行下 ...

最新文章

  1. 学习运维工程师是正确的选择,发展与前景都是和好的
  2. SQLServer 条件查询语句大全
  3. 英文标点符号翻译大全
  4. php类代码中常看到::的操作符
  5. python画图怎么调色_Python气象数据处理与绘图(19):如何使用NCL色板(调色盘思路相同)...
  6. Anbox之android OpenGLES模拟器设计(八)
  7. 测试标准I/O缓冲的代码,
  8. 一步一步学习Git(2)——Git基本操作
  9. Atitit 2019技术趋势与没落技术 目录 1.1. abcdAtitit 技术领域趋势 abcd研究总结AI(人工智能)BlockChain(区块链)、Cloud(云)、和Data(大数据)
  10. 面向对象三大特性之——封装
  11. win10下, ColorPix取色器错位 指针偏移问题 解决方法
  12. JAVA正则表达式校验中国大陆手机号段【2022年2月】
  13. 2021SC@SDUSC Zxing开源代码(十七)Zxing代码解析——一维码
  14. graham算法 java_凸包Graham Scan算法实现
  15. 又到年末“团建”!某企业员工吐槽:这真是一场噩梦……
  16. css基础语法与注释,简述CSS注释
  17. 400G PAM4, ANEG LT 自适应及链路学习(Autonegotiation Link Training),浅析自适应及链路学习功能在400/200/100G PAM4模式
  18. 2021国赛A题第三问 - 点关于三维直线的对称点 - 入射光的反射向量
  19. 普元mobile_普元Mobile上架AppStore被拒合集(持续更新)
  20. 网站服务器评测,9.2分! 浪潮服务器受到海外权威专业评测网站肯定

热门文章

  1. 想定制Android系统实现改机?看完我也会了
  2. 小白入门之海康威视摄像机的二次开发
  3. (node:3872) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issue
  4. win10与win7系统之间文件共享
  5. vue + vant 使用阿里图标库
  6. ad10搜索快捷键_AD 常用快捷键
  7. 如何解决没有指定在Windows运行或者它包含错误
  8. 关于U盘物理读写锁失效解决(只读状态):工具解锁或U盘量产
  9. 游戏及相关CG行业知识分享大V全整合
  10. 百钱买百鸡问题的最优解法