于方军 乔君
编者按:2017年7月,国务院印发的《新一代人工智能发展规划》明确提出:实施全民智能教育项目,在中小学阶段设置人工智能相关课程,逐步推广编程教育。規划的颁布为我国在基础教育领域布局“人工智能教育”提供了政策上的保障,并指明了发展方向。但是人工智能涉及领域非常广,有硬件、软件,工程学、编程等,对教师的要求也特别高,针对如何在中小学具体落实的问题,本栏目后续几期将通过基于“虚谷号”设计的系列课例,介绍在创客教育基础上开展Python编程教学和人工智能教学的一些相关探索,以期能对广大信息技术教师有所帮助。
虚谷号是中国电子学会现代教育技术分会创客教育专家委员会支持开发的一款具有中国特色的开源硬件。“虚谷号”的寓意是:虚怀若谷,兼容并蓄,继往开来。这款开源硬件继承了Arduino、树莓派、Micro:bit等开源硬件的优点。其开发目标是:技术门槛如Micro:bit一样低,支持Python和网络,支持虚拟磁盘烧录,性能和成本优于树莓派,能够兼容大部分Arduino项目,降低教师的时间成本和学校的经济成本。
● 虚谷号硬件
虚谷号是一款面向人工智能教学和Python编程学习的中国原创开源硬件,板内集成了高性能处理器和通用单片机,内置多功能扩展接口和多种通信接口,为人工智能和Python编程教学提供了完整的课程资源包。同时,它具有Linux的操作系统,又支持Arduino生态系统的各种开源硬件,这就类似于一块树莓派加一块Arduino板,而且还具备U盘模式。因此,它既可以连接上显示器、键盘鼠标成为一款独立卡片电脑,又可以通过数据线连到计算机上作为一个类似于Micro:bit的外接开源硬件(如图1)。
通过串口虚谷号可以与板载Arduino UNO连接,且可以用任何一款Arduino的编程工具,展开Arduino代码编写,进而控制Arduino UNO的所有引脚。例如,虚谷号给Arduino UNO写上标准的FirMata协议,通过串口命令控制Arduino引脚,进而降低初学者的开发门槛。同时,系统还提供了和MicroPython语法完全兼容的“xugu库”供Python编程时调用。
另外,通过虚谷号的引脚图(如下页图2)可以看到虚谷号和Arduino UNO完全兼容,在Arduino UNO上使用的扩展板可以用到虚谷号上,对应的一些传感器和硬件也可以通用,前期开展Arduino教学的套件如传感器、马达等,都可以继续在虚谷号上使用,这就大大降低了经济成本和学习时间成本。
● 虚谷号预装编程软件
虚谷号运行完整的Linux系统,同时预装了部分编程教学软件。
1.Scratch
Scratch作为编程教学的中小学入门语言已经被国内大多数中小学教师认可,虚谷号定位于学生编程计算机,也支持Scratch教学,其本身预装了Scratch1.4版本,支持纯软件的Scratch教学,Scratch高版本的学习支持浏览器模式,利用虚谷号预装的Google浏览器可以访问相应的网站(如好好搭搭、编程猫等)开展相关学习。
Scratch支持的开源硬件教学有目前通用的S4A,而虚谷号上也可以安装和运行S4A程序,进而实现开源硬件教学。
2.Arduino IDE
虚谷号预装的是Arduino1.86版,它可以支持Arduino代码编程教学,且内置了Ardublock图形化编程工具,Ardublock类似于Mixly(米思奇),可以实现图形化编程,支持上传到Arduino板,实现脱机运行,支持Linux的Ardublock版本,还可以选择中文界面,并且支持的硬件类型也很多,完全可以胜任开源硬件的教学。
3.Python
虚谷号预装了Python2.7和Python3.5,可以方便地开展Python教学,且编程环境预装了jupyter notebook,但是jupyter notebook占有资源比较大,笔者建议使用IDLE。如果在Windows环境安装Python,系统一般默认同时安装了IDLE,在虚谷号上可以用“sudo apt-get install idle3”完成安装,且在网络环境比较好的情况下很快就能完成。
● 虚谷号上安装卸载软件操作
虚谷号运行完整的Linux系统,在虚谷号上安装卸载软件,可以通过lx终端用命令行完成。常用的安装命令行为“sudo apt-get install xxx(软件名)”,卸载命令行为“sudo apt-get remove xxx”。
总之,我们可以将虚谷号理解为树莓派、Arduino、Micro:bit三者优势结合的硬件。虚谷号对Python语言的天然支持,能够使其在教学上大展拳脚,且在人工智能的背景下,由于运算能力达到了一个足够强的水平,还能够在PC模式中执行很多人工智能的算法,通过训练,可以完成普惠人工智能课的教学任务。我们在学习以Arduino、Micro:bit、树莓派等为代表的开源硬件的同时,也要为它们的进一步完善贡献力量。
虚谷号天生就是中国芯,应该算是通过教育领域的应用来提升国产芯片行业影响力的一个积极的尝试。它作为中国一线教师发起的开源硬件,一定更懂学生,更懂教师,更懂教育,期待虚谷号成为开源硬件领域的集大成者。