于方軍 喬君
編者按:2017年7月,國務(wù)院印發(fā)的《新一代人工智能發(fā)展規(guī)劃》明確提出:實(shí)施全民智能教育項(xiàng)目,在中小學(xué)階段設(shè)置人工智能相關(guān)課程,逐步推廣編程教育。規(guī)劃的頒布為我國在基礎(chǔ)教育領(lǐng)域布局“人工智能教育”提供了政策上的保障,并指明了發(fā)展方向。但是人工智能涉及領(lǐng)域非常廣,有硬件、軟件,工程學(xué)、編程等,對(duì)教師的要求也特別高,針對(duì)如何在中小學(xué)具體落實(shí)的問題,本欄目后續(xù)幾期將通過基于“虛谷號(hào)”設(shè)計(jì)的系列課例,介紹在創(chuàng)客教育基礎(chǔ)上開展Python編程教學(xué)和人工智能教學(xué)的一些相關(guān)探索,以期能對(duì)廣大信息技術(shù)教師有所幫助。
虛谷號(hào)是中國電子學(xué)會(huì)現(xiàn)代教育技術(shù)分會(huì)創(chuàng)客教育專家委員會(huì)支持開發(fā)的一款具有中國特色的開源硬件。“虛谷號(hào)”的寓意是:虛懷若谷,兼容并蓄,繼往開來。這款開源硬件繼承了Arduino、樹莓派、Micro:bit等開源硬件的優(yōu)點(diǎn)。其開發(fā)目標(biāo)是:技術(shù)門檻如Micro:bit一樣低,支持Python和網(wǎng)絡(luò),支持虛擬磁盤燒錄,性能和成本優(yōu)于樹莓派,能夠兼容大部分Arduino項(xiàng)目,降低教師的時(shí)間成本和學(xué)校的經(jīng)濟(jì)成本。
● 虛谷號(hào)硬件
虛谷號(hào)是一款面向人工智能教學(xué)和Python編程學(xué)習(xí)的中國原創(chuàng)開源硬件,板內(nèi)集成了高性能處理器和通用單片機(jī),內(nèi)置多功能擴(kuò)展接口和多種通信接口,為人工智能和Python編程教學(xué)提供了完整的課程資源包。同時(shí),它具有Linux的操作系統(tǒng),又支持Arduino生態(tài)系統(tǒng)的各種開源硬件,這就類似于一塊樹莓派加一塊Arduino板,而且還具備U盤模式。因此,它既可以連接上顯示器、鍵盤鼠標(biāo)成為一款獨(dú)立卡片電腦,又可以通過數(shù)據(jù)線連到計(jì)算機(jī)上作為一個(gè)類似于Micro:bit的外接開源硬件(如圖1)。
通過串口虛谷號(hào)可以與板載Arduino UNO連接,且可以用任何一款A(yù)rduino的編程工具,展開Arduino代碼編寫,進(jìn)而控制Arduino UNO的所有引腳。例如,虛谷號(hào)給Arduino UNO寫上標(biāo)準(zhǔn)的FirMata協(xié)議,通過串口命令控制Arduino引腳,進(jìn)而降低初學(xué)者的開發(fā)門檻。同時(shí),系統(tǒng)還提供了和MicroPython語法完全兼容的“xugu庫”供Python編程時(shí)調(diào)用。
另外,通過虛谷號(hào)的引腳圖(如下頁圖2)可以看到虛谷號(hào)和Arduino UNO完全兼容,在Arduino UNO上使用的擴(kuò)展板可以用到虛谷號(hào)上,對(duì)應(yīng)的一些傳感器和硬件也可以通用,前期開展Arduino教學(xué)的套件如傳感器、馬達(dá)等,都可以繼續(xù)在虛谷號(hào)上使用,這就大大降低了經(jīng)濟(jì)成本和學(xué)習(xí)時(shí)間成本。
● 虛谷號(hào)預(yù)裝編程軟件
虛谷號(hào)運(yùn)行完整的Linux系統(tǒng),同時(shí)預(yù)裝了部分編程教學(xué)軟件。
1.Scratch
Scratch作為編程教學(xué)的中小學(xué)入門語言已經(jīng)被國內(nèi)大多數(shù)中小學(xué)教師認(rèn)可,虛谷號(hào)定位于學(xué)生編程計(jì)算機(jī),也支持Scratch教學(xué),其本身預(yù)裝了Scratch1.4版本,支持純軟件的Scratch教學(xué),Scratch高版本的學(xué)習(xí)支持瀏覽器模式,利用虛谷號(hào)預(yù)裝的Google瀏覽器可以訪問相應(yīng)的網(wǎng)站(如好好搭搭、編程貓等)開展相關(guān)學(xué)習(xí)。
Scratch支持的開源硬件教學(xué)有目前通用的S4A,而虛谷號(hào)上也可以安裝和運(yùn)行S4A程序,進(jìn)而實(shí)現(xiàn)開源硬件教學(xué)。
2.Arduino IDE
虛谷號(hào)預(yù)裝的是Arduino1.86版,它可以支持Arduino代碼編程教學(xué),且內(nèi)置了Ardublock圖形化編程工具,Ardublock類似于Mixly(米思奇),可以實(shí)現(xiàn)圖形化編程,支持上傳到Arduino板,實(shí)現(xiàn)脫機(jī)運(yùn)行,支持Linux的Ardublock版本,還可以選擇中文界面,并且支持的硬件類型也很多,完全可以勝任開源硬件的教學(xué)。
3.Python
虛谷號(hào)預(yù)裝了Python2.7和Python3.5,可以方便地開展Python教學(xué),且編程環(huán)境預(yù)裝了jupyter notebook,但是jupyter notebook占有資源比較大,筆者建議使用IDLE。如果在Windows環(huán)境安裝Python,系統(tǒng)一般默認(rèn)同時(shí)安裝了IDLE,在虛谷號(hào)上可以用“sudo apt-get install idle3”完成安裝,且在網(wǎng)絡(luò)環(huán)境比較好的情況下很快就能完成。
● 虛谷號(hào)上安裝卸載軟件操作
虛谷號(hào)運(yùn)行完整的Linux系統(tǒng),在虛谷號(hào)上安裝卸載軟件,可以通過lx終端用命令行完成。常用的安裝命令行為“sudo apt-get install? xxx(軟件名)”,卸載命令行為“sudo apt-get remove xxx”。
總之,我們可以將虛谷號(hào)理解為樹莓派、Arduino、Micro:bit三者優(yōu)勢結(jié)合的硬件。虛谷號(hào)對(duì)Python語言的天然支持,能夠使其在教學(xué)上大展拳腳,且在人工智能的背景下,由于運(yùn)算能力達(dá)到了一個(gè)足夠強(qiáng)的水平,還能夠在PC模式中執(zhí)行很多人工智能的算法,通過訓(xùn)練,可以完成普惠人工智能課的教學(xué)任務(wù)。我們?cè)趯W(xué)習(xí)以Arduino、Micro:bit、樹莓派等為代表的開源硬件的同時(shí),也要為它們的進(jìn)一步完善貢獻(xiàn)力量。
虛谷號(hào)天生就是中國芯,應(yīng)該算是通過教育領(lǐng)域的應(yīng)用來提升國產(chǎn)芯片行業(yè)影響力的一個(gè)積極的嘗試。它作為中國一線教師發(fā)起的開源硬件,一定更懂學(xué)生,更懂教師,更懂教育,期待虛谷號(hào)成為開源硬件領(lǐng)域的集大成者。