1. 引言
实践教学是培养学生实践能力和创新能力的关键环节 [1] ,物联网实践教学平台在设计上,不仅要能使学生直观、感性地了解物联网基本结构,而且还要能让学生进一步深化理解物联网的基本工作原理和实现方法,并能基于该平台进行物联网应用、设计、管理或创新开发,遵循项目教学法的“项目–理论–实施”教学逻辑 [2] ,为创新应用型人才培养服务。因此,如何构建一种功能和技术较完备、具有专业特色的物联网教学平台,有效地实现针对物联网技术的创新训练,成为物联网综合实训教学平台设计的关键 [3] 。文献 [4] 给出了在单片机课程中引入LoRa通信技术设计一种无线温控器的项目实践教学方式,能够基于单片机进行一些基础性实验,可拓展性十分有限;文献 [5] 将物联网典型的“端–管–云”架构引入实验教学,以智慧农业为背景、物联网工程实际为导向设计实验内容,但采用ZigBee技术存在距离近,覆盖范围小等缺点;文献 [6] 提供了一种可重构的开源综合物联网实验平台,具有综合性和拓展性,但需要进一步结合工程实际呈现教学效果。
本文基于智慧农业大棚工程背景,主要针对物联网工程及相关专业实践教学,从工程可呈现性、项目可拓展性和实践教学实用性出发,构建一种基于LoRa无线传感网的物联网课程教学综合实训平台,围绕智慧温室大棚项目化沙盘模型,设计并实现该实训平台的系统架构和软硬件单元模块,一方面为专业课程项目化课堂教学、学科竞赛、创新等教学环节提供资源条件,有利于促进课程教学改革研究和专业课程建设;另一方面,平台为学生提供了一个实际操作的环境,使他们在实践中学习和掌握物联网技术在农业领域的应用,促进科技与农业融合,从而更好地满足社会的实际需求;再者,该平台涵盖了物联网技术、LoRa通信技术、温室大棚智能化管理、教学系统设计等多个领域,这些理论为平台的设计提供了科学的指导和支撑,确保了平台的实用性和有效性。
2. 实训平台架构
智慧温室大棚物联网监控系统实训平台整体可以分为四层结构,从底层到高层分别为感知层、传输层、服务层、应用层 [7] ,系统分层架构如图1所示。
物理感知层的作用是采集温室大棚所关心的环境参数数据,或是控制执行器调节温室大棚环境参数,包括空气温度、空气湿度、土壤温度、土壤湿度、光照度、二氧化碳浓度等传感器,以及喷淋、卷帘、风机、遮阳、雾化等控制执行器。网络传输层基于LoRa无线通信技术,包括连接物理传感器的LoRa无线传感节点、物理连接执行器的LoRa无线控制节点、LoRa网关,实现监控区域的环境参数数据上传及环境参数调控执行。数据服务层是系统的管理中心,包括门户管理、网关接入、系统应用管理、数据分析、小程序管理等,接收存储监测数据,并提供终端用户的请求服务。终端应用层为用户提供友好的可视化界面,并提供环境监测、设备控制、报警、图表显示、统计分析、历史数据查询、系统管理等应用服务。
![](//html.hanspub.org/file/1-2960397x8_hanspub.png?20240418093637436)
Figure 1. Diagram of layered architecture of the training platform system
图1. 实训平台系统分层架构图
3. 实训平台硬件设计
3.1. 沙盘模型设计
硬件沙盘模型作为项目化教学中的教具,为学生进行项目化实训及实践成果展示提供硬件平台,对激发学生学习兴趣,引导学生主动设计智慧温室大棚物联网监控系统具有积极作用。根据智慧温室大棚物联网监控系统实训平台功能需求,设计实训教学沙盘模型如图2所示。
该沙盘模型基于温室大棚工程实际,覆盖一般智慧温室大棚物联网监控系统开发要素,主要包括硬件资源、软件资源、实训案例三个部分。硬件资源包括各类传感器、LoRa无线传感节点、各类控制执行器、LoRa无线控制节点、LoRa网关、服务器及其它配套设备;软件资源包括STM32开发、服务器前端设计、数据库设计、微信小程序开发、演示程序模板设计、终端应用软件等开发设计所需要的各类软件;实训案例采用由底层到高层、由简单到综合的设计模式,逐步引导学生掌握基于LoRa的物联网原理及设计开发方法,通过传感节点软硬件设计、控制节点软硬件设计、网关软硬件设计、服务器前端设计、数据库设计、服务器后端设计、微信小程序设计、通信协议设计等实践环节训练,实现环境参数采集、LoRa无线传输、环境参数调控、远程服务等功能,开发出具有智能联动的智慧温室大棚应用模式。
3.2. LoRa传感采集节点设计
根据温室大棚电池供电特点,LoRa传感采集节点基于低功耗设计原则 [8] ,微处理器(MCU)选择低功
![](//html.hanspub.org/file/1-2960397x9_hanspub.png?20240418093637436)
Figure 2. The sandtable model for practical teaching
图2. 实训教学沙盘模型
耗STM32L1系列芯片。MCU是采集节点的核心,具有两个重要功能。首先,MCU在唤醒期间进行传感器数据采集、电池电压采集、等待串口配置、以及将传感信息、电池电量和节点地址等信息通过LoRa射频模块发送至LoRa网关;其次,MCU需要控制传感器电源供电状态,以及对串口发送的配置信息进行分析处理,直至配置完成;再有,为了最大程度降低传感采集节点功耗,低功耗LoRa传感采集节点通常处于停机模式,在CPU接收到来自RTC时钟唤醒信号后,再通过传感器采集环境数据,ADC采集节点电池电压,与节点信息等装帧后通过LoRa无线通信模块发送给LoRa网关。不同节点地址使用不同标识标记,便于网关在收到来自不同节点数据后进行分析并提取有效信息。节点发送完成数据后立即进入停机模式,以降低节点功耗。当外部中断唤醒后,串口输入配置信息指令和选择参数指令,并等待收到配置完成的指令,方能进入停机模式。LoRa传感采集节点由四个基本模块构成:电源模块、LoRa通信模块、MCU最小系统和传感器,其中电源模块包括可充电锂电池和电源管理单元,可分别给传感器、MCU和LoRa无线通信模块进行供电,同时,电源模块工作模式由MCU控制。LoRa传感采集节点基本结构框图如图3所示。
3.3. LoRa控制节点设计
与LoRa传感采集节点相似,LoRa控制节点的LoRa无线通信模块主要实现射频信息的收发。LoRa控制节点接收到LoRa网关的控制命令后执行相应动作,通过驱动模块实现控制设备对象,并将执行结果状态返回至LoRa网关。LoRa控制节点结构框图如图4所示,其中驱动模块需要根据不同设备对象分别进行设计。
![](//html.hanspub.org/file/1-2960397x10_hanspub.png?20240418093637436)
Figure 3. Structure diagram of LoRa sensor acquisition node
图3. LoRa传感采集节点结构框图
![](//html.hanspub.org/file/1-2960397x11_hanspub.png?20240418093637436)
Figure 4. Structure diagram of LoRa control node
图4. LoRa控制节点结构框图
![](//html.hanspub.org/file/1-2960397x12_hanspub.png?20240418093637436)
Figure 5. Structure diagram of LoRa gateway
图5. LoRa网关结构框图
3.4. LoRa网关设计
LoRa网关不仅要与低功耗LoRa采集节点进行无线数据通信,获取环境信息和节点信息,而且还能通过有线或无线网络与服务器或云平台进行信息交互,并能转发远程控制指令至LoRa控制节点。LoRa网关由四个基本模块构成:电源模块、LoRa通信模块、MCU最小系统和联网模块,其中联网模块为4G模块或以太网模块,均通过UART串口与MCU相连。网关一方面能够及时接收多个LoRa采集节点上传数据,另一方面要及时处理上位机、微信小程序、或者APP的控制指令并下发至指定LoRa控制节点,因此需要网关MCU具有一定的数据处理能力,本文选用微处理器STM32F103ZET6,该MCU从芯片资源、存储空间、运行速率、性价比等方面均符合设计要求。LoRa网关结构框图如图5所示。
4. 实验平台软件设计
实验平台软件设计主要包括:LoRa传感采集节点软件、LoRa控制节点软件、LoRa网关软件、微信小程序和展示平台软件。节点软件、网关软件开发环境为Keil C51。服务器平台软件基于Visual Studio Code、Eclipse和SQL Server数据库等开发环境,基于HTML + CSS + JavaScript和Java语言,完成数据库以及前后端设计。
4.1. LoRa传感采集节点软件设计
低功耗LoRa传感采集节点首先对MCU基本外设如按键、LED、UART、IIC接口等初始化,以及LoRa模块参数初始化配置,其默认通信参数和网关相同。低功耗模式设置包括LoRa模块调压器模式配置、MCU低功耗配置和节点电源低功耗控制。外部中断主要来自于UART串口中断,由上位机发送指令实现对节点参数进行设置。RTC时钟唤醒后节点进行传感器数据采集及ADC采集电池电压,若信道空闲即可无线发送数据至网关,之后进入低功耗休眠模式。低功耗LoRa传感采集节点软件工作流程图如图6所示。
![](//html.hanspub.org/file/1-2960397x13_hanspub.png?20240418093637436)
Figure 6. Workflow diagram of low-power LoRa sensor acquisition node software
图6. 低功耗LoRa传感采集节点软件工作流程图
4.2. LoRa控制节点软件设计
LoRa控制节点通过LoRa模块单元接收网关转发的上位机服务器指令,并由MCU解析,经驱动器控制相应的设备对象执行指令。此外,控制节点还将设备状态信息经LoRa网关反馈至上位机服务器,LoRa控制节点软件工作流程如图7所示。
![](//html.hanspub.org/file/1-2960397x14_hanspub.png?20240418093637436)
Figure 7. Workflow diagram of LoRa control node software
图7. LoRa控制节点软件工作流程图
4.3. LoRa网关软件设计
LoRa网关主要实现接收来自采集节点采集的传感数据、控制节点返回的控制节点状态数据,转发控制指令给对应的控制节点。LoRa网关启动后进行MCU初始化、LoRa模块初始化、4G模块或以太网模块联网模块初始化,之后进入网络侦听状态。当LoRa网关侦听并接收到采集节点发送的传感数据或控制节点状态信息,则通过联网模块转发至服务器;当LoRa网关侦听到联网模块接收到上位机指令信息,则将数据转发至LoRa控制节点。LoRa网关软件工作流程图如图8所示。
![](//html.hanspub.org/file/1-2960397x15_hanspub.png?20240418093637436)
Figure 8. Workflow diagram of LoRa gateway software
图8. LoRa网关软件工作流程图
4.4. 数据库设计
在服务器软件开发前,首先进行数据库的设计,涉及功能包括用户登录,节点环境参数接收、显示、存储,控制节点设备的自动/手动控制,报警等。其中用户登录需要设计用户信息表,用来存储能够登录的用户账号和密码;接收来自传感节点的环境参数,需要设计环境参数数据表,用来存储接收到的环境参数以及对应的温室号和接收时间;对控制设备进行控制时,需要将设备的状态保存下来,方便用户查看分析,需要设计设备控制数据表。用户信息表、环境参数数据表、设备控制状态数据表分别如表1、表2、表3所示。
![](Images/Table_Tmp.jpg)
Table 2. Table of environmental parameter data
表2. 环境参数数据表
![](Images/Table_Tmp.jpg)
Table 3. Table of equipment control status data
表3. 设备控制状态数据表
4.5. 服务器前后端设计
前端页面设计包括:登陆界面、主界面、监控图形界面、阈值配置界面、设备控制界面、历史数据查询界面等。后端基于控件设计各业务逻辑,包括系统登录模块程序设计、通信模块程序设计、数据调用模块程序设计、数据存储模块程序设计、设备控制模块程序设计、报警模块程序设计等。基于HTML + CSS + JavaScript和Java语言开发的服务器前端页面效果图如图9所示。
![](//html.hanspub.org/file/1-2960397x16_hanspub.png?20240418093637436)
Figure 9. Server front-end interface rendering
图9. 服务器前端页面效果图
4.6. 微信小程序设计
微信小程序移动终端作为教学沙盘模型中的一部分,展示对模拟大棚的远程监测与控制功能。微信小程序选用微信开发者工具作为开发环境,以小程序客户端的形式呈现模拟大棚内相关环境参数,提供的基本功能有人机交互界面、大棚参数显示、网络通信、远程控制等。微信小程序软件功能框图如图10所示。
![](//html.hanspub.org/file/1-2960397x17_hanspub.png?20240418093637436)
Figure 10. Functional block diagram of WeChat mini program
图10. 微信小程序功能框图
5. 结论
本文以智慧温室大棚为工程背景,围绕LoRa物联网温室监控项目化沙盘教学模型,基于Visual Studio Code、Eclipse和SQL Server数据库等开发环境,基于HTML + CSS + JavaScript和Java语言设计开发了基于LoRa无线传感网的物联网课程教学综合实训平台,为物联网工程等专业综合工程训练课程项目化实践教学、创新创业培训等实践环节提供软硬件平台。该实训平台结合了物联网技术和温室大棚的实际应用,具有很强的实践性和操作性,能够有效激发学生的学习兴趣和积极性,学生在实训过程中需要设计解决方案、编程调试、动手操作,通过参与式的学习方式解决实际问题,能够明显提高学生的参与度、提升学生的分析解决问题能力和实践创新能力。目前,基于该实验平台形成的实验箱已经在江苏理工学院等11所高校推广使用,实际教学效果较为理想。为进一步提高教学效果,后续还将持续对平台进行改进和优化。
基金项目
教育部产学合作协同育人项目(202102563009);江苏省重点研发计划(BE2019317)。