物联网技术的单片机实验教学装置设计

物联网技术的单片机实验教学装置设计

摘要:为了简化实验考核环节,减轻教师实验教学的负担,设计了一种基于物联网技术的实验装置。该装置在传统的“单片机原理及应用”实验开发板的基础上增加实验过程扫描及数据上报模块,通过对单片机实验过程中相关寄存器等硬件资源进行扫描,获取实验过程及最终结果数据,并上报到云端;教师可以通过云端及时掌握学生实验情况,进行实验成绩评定。最后对该装置进行了测试,搭建了基于中国移动Onenet云平台的测试环境,结果验证了该设计的可用性。

关键词:单片机;实验教学装置;云平台;物联网

0引言

国家“新工科”“智能制造2025”等重大战略规划背景下,要求高等学校培养出更多的适应新形势的工科人才。为了响应国家战略需求,支撑以新产业为特点的新经济的发展,近年来各高校纷纷实行扩招政策,学生人数的迅速增加,给各高校的教学带来了更大的压力,特别是工科相关专业的实验教学,面临着师资短缺、管理手段落后、实验资源缺乏等一系列的问题[1]。作为服务电子信息产业的高校电子信息类相关工科专业,实验教学在整个人才培养过程中的地位尤为重要,“单片机原理及应用”作为电子科学与技术、自动控制技术、计算机科学与技术、物联网工程等电子信息类相关专业的重要专业基础课,其实验教学已经不能适应新形式下的人才培养需求。目前,尽管各高校采取了一系列的教学改革手段,如线上线下混合式教学[2]、引进新的教学理念[3]、项目驱动式实践教学[4]、远程实验教学[5]等,取得了一定的成果,但在实验过程监控,尤其在实验成绩考核环节仍采用传统方式进行,无法解决效率低下,教师工作繁琐等问题。物联网应用技术的快速发展为解决该问题提供了新的思路,本文引入物联网技术,设计了基于物联网技术的实验教学装置,来加强对学生整个实验过程的监控,减轻实验成绩评定环节的工作量,提高教学效果。

1总体设计

1.1设计思路

为实现对学生实验过程的远程管理监控,以简化实验结果考核环节的工作量,实现实验过程中单片机运行状态的记录及数据上传,在传统“单片机原理及应用”实验开发板的基础上,增加一个实验数据采集上传模块,并把采集的实验过程数据上报至云端,具体来说分为数据采集和数据上传至云平台两个过程。首先,数据采集主要是通过采集单片机在整个实验过程相关寄存器的状态变化来实现。单片机的主要功能分两类:外部控制和外部数据的感知。其工作过程均是通过由CPU来对相关寄存器的操作来实现的,因此可以通过在特定时间来监控单片机的相关寄存器来达到记录整个实验程序运行状态的目的,从而记录学生的实验过程数据。而51单片机特殊功能寄存器数量较少也保证了该设计思路的可行性,以STC89C52单片机为例,其寄存器组主要包括I/O口锁存器、定时器/计数器、串行口数据缓冲器和各种控制寄存器等,共有23个,都以特殊功能寄存器的形式出现[6]。在基础实验中,往往仅使用到了其中的部分寄存器,如要实现控制8位七段数码管的显示实验,CPU可通过控制P1口的8位寄存器来确定显示内容,通过控制P2口的8位寄存器中的8位中的某一位来决定由哪一位数码管显示,可通过控制定时器、中断控制寄存器等来实现具体的显示方式。这样一来,对于该实验,只需要在特定时间扫描上述寄存器的状态变化,就可以实现实验过程数据的采集。其次,数据的上传。由51单片机通过串口将采集到的实验过程数据发送给云平台通信模块,云平台通信模块将该数据通过相关的物联网通信协议上传至云端。

1.2总体组成

整个系统由实验数据采集模块、数据上传模块、云平台模块和实验数据应用监控模块4个模块组成。首先,由51单片机实验系统实现实验过程中相关寄存器运行状态的采集,并通过串口发送给数据上传模块;接下来数据上传模块通过TCP透传的方式将数据上传至云端;教师可以在监控端查看云端数据,完成实验指导及成绩的评定等工作。系统整体组成如图1所示。

2系统硬件设计

2.1实验开发板硬件电路设计

实验开发板主要由STC89C52最小系统、Led控制实验模块、按键模块、数码管显示模块等组成,具体电路设计如图2所示。

2.2数据传输模块硬件设计

数据传输模块由ESP8266来实现,通过串口与实验开发板连接,通过TCP透传与云平台实现双向通信,电路设计如图3所示。

3测试及结果

3.1测试环境的搭建

基于上述设计,搭建了测试环境,对学生“数码管静态显示实验”中用到的寄存器的运行状态进行了数据的采集上传。该实验要求学生编程实现对8位7段共阳极数码的控制,让8位共阳极数码管同时循环显示0到7八个字符,时间间隔为1s,理论分析各寄存器的状态随时间的变化如表1所示。首先,云平台的搭建。包括按照Onenet官方流程在Onenet云平台申请账号、建立基于TCP透传协议的产品、新建设备、Lua脚本设计上传、数据流的设置等步骤;接着设置ESP8266与云平台进行连接,以便上传数据。由C51单片机通过AT指令对ESP8266进行初始化,使其处于TCP透传模式下,并连接地址为183.230.40.40的云平台远程主机,端口号使用1811,发送登录指令*357000#51IOT#51IotTest*,登录后就可以把采集到的数据发送至云平台并保存至数据库;最后,数据导出并验证。通过云平台数据流界面查看上传的数据并与理论分析数据进行对比验证。

3.2测试过程及结果

连接好硬件电路,P2口8位分别接8位共阳极数码管的控制端,P1口的8位作为8位共阳极数码管显示内容控制输入端,ESP8266模块通过串口与单片机开发板连接;接着将编写好的串口数据发送程序与实验程序一起烧写到STC89C52开发板中,最后上电,在实验板观察实验现象,在云平台上查看寄存器随时间变化状态。51单片机设计主程序流程图如图4所示。程序运行后,可以看到开发板上的8位7段数码管以1s的时间间隔循环显示字符0-7;云平台数据流查看界面P1、P2数据流截图如图5所示。可以看到,在云平台上,每隔1s收到一次P1口及P2口的状态数据,将该十进制的数据转换为二进制后,正好与表1的数据项吻合,验证了设计的正确性。

4总结

本文应用物联网技术,将“单片机原理及应用”实验过程中单片机相关寄存器的状态传送到了云平台上。基于这些数据,教师可以远程对学生的实验情况进行掌握,简化了实验的考核过程,一定程度上降低了教师的工作量。

作者:王建强 单位:榆林学院 信息工程学院