我們為什麼要重新設計一款開源硬體
自從「虛谷號」的消息發布以來,常常有熟悉的創客老師找我問有關「虛谷號」的細節。他們很好奇,我們為什麼會設計一款新的開源硬體。是受到「中興事件」的刺激而想要有一款中國芯的開源硬體,還是在各種融資的好消息刺激下,也要做款產品賺點錢?當然,他們更多是關心這一開源硬體具有怎樣的特點,是否更加適用於中小學,幫助他們能夠更好地開展創客教育。
故事:虛谷號的緣起
如果認真追溯下去,設計虛谷號的理由也許很複雜,也許真的關乎愛國,關乎情懷。參與「虛谷計劃」的每一個成員,背後都有一個關乎教育關乎技術教育的故事。但要歸納一個最核心的理由卻是簡簡單單的一句話:我們找不到想要的開源硬體。
想設計一款新的開源硬體,最初的動機產生於2016年。那一年,我接受浙江教育出版社的邀請,成為普通高中信息技術教材編寫組的一員,參與必修2《信息技術與社會》模塊的編寫,還擔任選擇性必修《開源硬體項目設計》模塊的主編。在2016年,除了Arduino和樹莓派,我真的不知道寫開源硬體教材還有別的選擇。但很明確的是,二者都不是理想的選擇。
眾所周知,即將出版的所有的高中信息技術新教材都放棄了VB,轉而選擇Python。在這種背景下,教材選擇哪些開源硬體變得更加困難。為什麼?我來分析一下:
如果選擇Arduino。Arduino的編程語言是C/C++,那麼這套教材就很奇怪:其他的模塊都用Python語言,到了《開源硬體項目設計》模塊,就轉到C/C++語言。且不提學生們沒有C的基礎能不能正常學習,一套教材總要考慮整體統一,在全部是Python的教學內容中硬生生插入C,是不是有一種強烈的違和感?Arduino沒有基於Python的IDE,鑒於高中生的學習能力,又不能使用Mixly或者ArduBlock之類的圖形化編程環境。我們可以大致推算一下,當新教材全面實施的時候,目前在小學初中接觸過開源硬體的學生剛好升到了高中。那就很尷尬了,學生們應該會嘀咕:小學mixly、初中mixly,到了高中還是Mixly,這編教材的在耍我嗎?
如果選擇樹莓派。作為一款Linux電腦,樹莓派當然支持Python。但是,樹莓派算不算一款開源硬體,圈子裡還一直爭論不休(要知道,樹莓派連晶元都是定製、特供的。)最重要的是,用樹莓派沒法上課!您說,如果用樹莓派來上課,機房裡要準備幾個屏幕?幾套鍵盤?直接部署一個樹莓派機房嗎?老師怎麼管理?有Linux下的機房管理軟體嗎?這些問題我們不得不考慮。我們曾經嘗試上過一個學年的樹莓派教學,的確很不方便。因此,無論是國內還是國外,在大班教學中用樹莓派幾乎不可見。還有,樹莓派的技術門檻也太高,大家可以調查一下,一個地級市能直接在Linux環境下上信息技術課的老師有幾個?
思考:我們需要怎樣的開源硬體
2016年底,我拿到了第一塊micro:bit。一測試我就喜歡上了:軟體友好,操作簡單,只要感興趣,誰都能為這塊板子寫一段簡單代碼體驗硬體控制。雖然,micro:bit官方推薦使用圖形化編程,但很快就有了MicroPython的移植版本,在編程和語法規範上與Python3一致,這樣一來,總算找到了一款簡單易用的支持Python的開源硬體。2017這一年,我都在努力推廣micro:bit。說服DF、盛思等企業開發micro:bit的周邊產品,做培訓,寫教材,拍微課,並因此成為micro:bit基金會的中國推廣大使。但我也清楚地認識到,micro:bit並不是一塊理想的適合高中生學習編程的開源硬體,理由如下。
其一,板子性能太差。說是支持MicroPython,其實是閹割的MicroPython。只要寫幾句和字元處理相關的功能,板子就會死機。其二,板子不支持無線網路(Wi-Fi)。沒有網路功能的開源硬體,和不能上網的電腦一樣,功能大打折扣廢了一半。為了讓micro:bit能聯網,我找了好多借口說服DF做了一塊IOT模塊。對,就是那款大家用來做物聯網的OBLOQ模塊。雖然能上網了,但因為字元處理能力太弱,寫不了稍微複雜一點的代碼。其三,板子的擴展板不好做。我不知道micro:bit的開發團隊是怎麼考慮的,micro:bit自身看起來清清爽爽,顏值不錯,但是一旦接上任何板子,馬上就變LOW了。要麼太大,要麼破壞原來的設計,擴展功能極其有限,非常雞肋……
不斷尋找,不斷失望。我們想要怎樣的開源硬體?說起來要求也不高,就是入門要簡單,擴展要方便,就如Python語言一樣,適合非專業的人使用,也能寫出非常複雜的如機器學習方面的代碼。Arduino再好,它畢竟不是為教育而設計。micro:bit再好,只能在入門時玩玩。樹莓派再好,也只能適合那些玩Linux的高手。所以,當來自教育管理部門的教研員或者高校的研究者問我:小學用micro:bit,初中用Arduino,高中用樹莓派,可以嗎?
不可以!micro:bit、Arduino和樹莓派,這三者無法形成一個循序漸進的學習體系。micro:bit和Arduino,幾乎是完全不同的體系,Arduino和樹莓派,也不是一個知識體系。當你試圖考慮中小學的開源硬體學習路徑的時候,現有的產品就存在很大的問題。這種尷尬,在我參與編寫教育部綜合實踐活動指導綱要的時候,變得更加強烈。
決心重新自己設計一塊教學用開源硬體想法,則是在2017年11月的臺北makerFaire上。感謝鴻海科技的工程師張志銘,他的一句話提醒我了:你們做老師的不提出需求,我們工程師怎麼知道要做什麼教育產品?是啊,從2010年買第一塊Arduino開始,我已經玩了八年的開源硬體。感謝各個創客企業朋友的信任,每出一塊新的開源硬體或者模塊,都會快遞一份讓我「嘗鮮」,對常見和不常見的開源硬體都有所瞭解。我們身邊的朋友,如梁森山、葉琛、李大維等,很早就開始接觸開源硬體,是資深的玩家。Dfrobot和Seeed Studio在開源硬體銷售方面全球排名前五,他們生產的開源硬體和周邊模塊銷往世界各地。厚積薄發,是時候提出自己的想法了。
經歷:我們的行動
創意當實現!在臺北,我連夜打了幾個「越洋」電話給梁森山、餘翀、葉琛等,得到他們的明確支持。當天晚上,我做了一個PPT,給這一塊板子取名「虛谷」,其寓意是:虛懷若谷,兼容並蓄,繼往開來。這款新的開源硬體要繼承Arduino、樹莓派、micro:bit等開源硬體的優點,而不是另起爐竈重新造一個「輪子」,用一句話去描述開發目標:技術門檻如micro:bit一樣低,支持Python和網路,支持虛擬磁碟燒錄,性能和成本優於樹莓派,能夠兼容大部分Arduino項目。
一個月後,在北京一個以「人工智慧教育」為主題的研討會上,我介紹了「虛谷」這一開源硬體的想法,引起了深圳希科普公司CEO劉軍的興趣。過了年,他很快就組了一個團隊開始研發。隨後,李大維、吳俊傑、管雪渢、周茂華、樊磊、程晨等信息技術教育專家或者教育創客先後加入。很快的,「虛谷」升級為「虛谷計劃」,名稱確定為「虛谷號」。
2018年5月4日——第一塊虛谷號(測試版)正式亮相!