新工科模式下“背包实验室”实践教学研究
2020-10-09宋继志况建东田新
宋继志 况建东 田新
[摘 要] 传统实验设备存在体积大,携带不便,不开源以及功能单一等缺点。背包实验室运用NB-IoT技术、LoRa技术、传感器开发技术和Arduino单片机开发技术开发了一套便捷、开源、扩展性强的鞋盒大小实验设备,并给出相应的函数库,从而更好地促进实践创新能力培养。
[关键词] 背包实验室;Arduino;创新实践
[基金项目] 2018年度中国石油大学教学改革项目“新工科模式下‘背包实验室实践教学研究”(SZ201820)
[作者简介] 宋继志(1976—),男,山东济宁人,工学硕士,讲师,中国石油大学(华东)计算机学院物联网工程系副主任,主要从事智能控制方面的研究;况建东(1998—),男,陕西汉中人,中国石油大学(华东)计算机学院2019级研究生,研究方向为人工智能及物联网控制。
[中图分类号] G642.0 [文献标识码] A [文章编号] 1674-9324(2020)36-0385-02 [收稿日期 2020-03-12
一、前言
背包(口袋)实验室最初是由斯坦福大学提出的,它将传统实验箱的功能集成在一块火柴盒大小的线路板上。这个mini实验板有六个组成部分,价格98美元。后来英国的德蒙福特大学也为学生设计了一款以FPGA/ARM为核心的最小系统开发板,供学生在课内外实验、创新项目开发时使用[1]。
哈尔滨工程大学电工电子中心创建了“图书馆式”单片机开发板,即利用学校图书管理系统可以借还开发板[2];电子科技大学在2016年也生产了一批钱包大小的LPC1768 ARM Cortex-M3实验平台用于学生自行学习[3]。
国内外这些便于携带的开发板仍有不少缺陷,如教师提供的技术少,不成体系;实验板外围资源少,无法完成较为复杂的系统;教师没有过程跟踪,达不到深入学习的目的。
而系统性较好的实验室模式是以实验箱为主,学生要在规定时间、地点利用指定实验箱完成指定的实验项目,项目多数以演示性、验证性实验为主,学生的主动性受到一定限制。IT技术发展较快,往往固定的实验内容与教学内容脱节,学生在课内除了完成要求的实验内容外,基本上没有自主发挥的时间和空间。当学生有奇思妙想时,没条件将这些创意付诸实施,从而打击了学生的探索积极性。
二、“背包实验室”的主要工作
基于以上需求,本文提供一套便携“背包实验室”,学生有想法随时可验证其创意,从而更好地促进实践创新能力培养。
“背包实验室”为一鞋盒大小的塑料盒,体积约为30cm×20cm×12cm,内放置自行设计制作的嵌入式系统开发板以及通信模块,根据学生研究的内容,老师与学生商定所需的传感器、数模转换模块等,可随身携带,再加上其他便携资源,学生随时有想法可及时验证其创意。
1.背包实验室设计原则。为实现快速上手、二次开发等目的,开源硬件背包实验室完成了以下要求:将底层硬件配置透明化,使开发者可以将更多的精力集中于自己的创意以及技术实现上,开发板的引脚全部引出,以提高二次开发能力。
背包实验室分为硬件、软件以及基于开源硬件背包的实例项目三部分工作。硬件设计包括Arduino核心板设计、Arduino扩展板设计、传感器模块设计以及控制器模块设计;而软件设计则包括BC95模块驱动程序设计和SX1278模块驱动程序设。基于开源硬件背包的实验设备设计一套完整的物联网综合实验,其目的有两个,一是给使用者提供一套完整的参考教程,二是对硬件背包实验室进行一个功能性的评测。
2.Arduino核心板及扩展板设计。核心板选择Atmega328P-AU作为主控单元单片机,电路主要由Atmega328P-AU最小系统电路、下载调试电路、电源模块以及扩展接口四部分组成[4]。预留可能使用到的接口,可以简化传感器的连接,同时编写主要的传感器模块以及通信模块的驱动程序以及例程,降低其使用难度。
背包实验室通过USB口来连接电脑和Arduino核心板,Arduino IDE通过对应的COM口来进行程序的下载或者调试。由于Atmega328P-AU单片机上使用的是TTL电平信号,而USB采用的是差分信号,两者信号无法兼容。因此,使用CH340G芯片实现Arduino的UART的TTL信号的转换,从而可以实现下载程序以及调试的功能。
扩展版将Arduino核心板的引脚全部引出,同时再为SX1278模块、BC95模块、常用传感器和常用控制器预留接口。在绘制PCB时,为了保障PCB能够正常且稳定的工作,在绘制PCB时应该遵循制版原则。传感器和控制器模块是开源硬件背包的重要组成部分,传感器模块被用于感知环境,为应用层的决策提供了数据;而控制器模块则是被用于执行控制命令,是应用层决策的执行者。背包实验室中一共包含五种传感器,其中光照传感器、火焰传感器、土壤湿度传感器、是属于模拟传感器,需要自行设计外围电路[5];温度、湿度传感器选用了DHT11。最后完成了所有工作后,集成在一塑料盒内,如图1所示。
3.函数库及软件设计。软件设计包括BC95模块驱动程序[6]及示例程序设计和SX1278模块驱动及示例程序程序设计两部分内容。标准的传感器驱动程序一般来说有Sensor.h、Sensor.cpp以及Keywords.txt三个文件,其中Sensor.h中主要是声明传感器类,以及声明类中的属性以及方法,Sensor.cpp中主要是实现Sensor.h中声明的方法。BC95模块的驱动程序实现UDP通信与COAP通信,整个驱动程序也是围绕着这两点来编写的,从而实现了BC95模块与服務器通信。
三、背包实验室特色
1.设计完成多种“背包实验室”核心实验板。
2.标准化设计配套通信模块,提供LORA、GPRS等进程通信模块,并进一步优化配套模块的低功耗设计。
3.设计所需的函数库完全向学生开源使用。针对进行复杂系统设计,本项目提供标准函数库,采用C语言进行教学和实验,完成了LoRa通信模块驱动程序及其示例程序编写;完成了NB-IoT通信模块驱动程序及其示例程序编写。提供电路源文件和主要代码,让学生把主要精力放在解决应用问题上,少花费时间在硬件驱动上,采用循序渐进提高学生能力。
4.过程监督、指导模式建设。由于学生较为分散,而且也不适合集中管理于教学,成立了创新俱乐部团队,以便于学生相互学习提高,同时配备指导教师团队用以解答较难的技术问题。
5.成果的推广,扩大学生受益面。“背包实验室”的模式已在部分课程中进行试点,本项目日趋完善,后续将扩大到更多适合课程,同时也将进一步扩大的更多的学生,全面培养学生的“新工科”综合能力和专业素质。
四、取得的成效
1.在新工科背景下,打破传统实验室与学生之间的时空壁垒,充分衔接IT界最新技术,以“学生可以承受的成本”,让学生不受教师和设备限制进行实践。
2.以新工科为契入点,将嵌入式系统、软件开发、C语言、EDA、数字电路、单片机、大学生创新创业等多门课程识融合,灵活运用以达到创新能力培养。
3.可以利用该平台参与毕业设计、各类创新创业计划和各级学科竞赛。
4.教师开发并提供了三百多个函数库及全部技术文档,并配有俱乐部团队为使用者全程指导。
参考文献
[1]董介春.于瑞涛.卫成兵.口袋实验室建设与实验教学改革[J].电气电子教学学报,2017,39(3).
[2]初竑邑.房启志.张丽丽.“口袋实验室”在电子类专业实践教学中的应用[J].教育教学论坛,2016(50).
[3]姜志鹏.陈正宇.闫浩.基于“口袋实验室”的实踐教学模式实施方法[J].物联网技术,2015(9).
[4]ATMEL Corporation.ATMEGA328P-20AU[M].Datasheet,[EB/OL].
[5]姚庆全.杨家润.高艳飞.模拟传感器与数字传感器之比较[J].衡器,2016,45(3).
[6]上海移远通信技术有限公司.BC95产品规格书[Z].2018.