編程已成爲當代青年需掌握的一項基本技能,也許一提到編碼大多數人想到的畫面是這樣的:
或是這樣的:
這樣的:
還有這樣的:
其實編程還可以是這樣的:
對沒錯,圖形化編程,當前也有較多的圖形化編程工具,從本節開始,我將帶領大家開啓基於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
微信關注圖中張十三的博客公衆號,學習更多技術乾貨: