操作题

(一)、注意事项:

1、登录云平台帐号要求:

考试中用到的登录云平台帐号为准考证号,登录密码为准考证号后12位。登录成功后需在“开发设置”中确认ApiKey 是否在有效使用时间内,如果不是,请重新生成ApiKey。云平台的网址是: http://www2.nlecloud.com。考生在训练时用到的云平台的网址是:  http://www.nlecloud.com,登录云平台帐号自定,第一次登录云平台后需生成ApiKey。

2、试题素材下载

点击按钮“试题素材”,可以下载考试时用到的压缩素材文件“试题素材”,并存放到目录“C:\JoyWork\01\”中。请把“试题素材”解压到当前文件夹中,解压后会产生“考试资源”和“work”两个文件夹。

3、考试中的截图均存放到“C:\JoyWork\01\work\图集.docx”文件中。

4、考试结束提交的源码工程必须是编译通过的,否则源码功能部分不予评分。注意:题目中所涉及到的变量均已定义好,无须自行定义。


(二)、任务描述与功能要求:

任务描

实现基于CAN总线通信技术和LoRa通信技术环境系统。

系统硬件主要由物联网网关、M3主控模块、LoRa模块、人体红外感应传感器、可燃气体传感器、温湿度传感器组成。

主要描述:

1、取1个LoRa模块、温湿度传感器组成传感器采集节点;

2、取1个LoRa模块作为传感器汇聚节点;

3、取1个M3主控模块、可燃气体传感器组成CAN终端节点;

4、取1个M3主控模块、人体红外感应传感器组成CAN网关节点;

5、网关节点与终端节点构建CAN总线通信网络,采集人体红外数据和可燃气体数据;

6、LoRa汇聚节点与网关节点搭建RS-485网络1,采集温湿度数据;

7、网关节点与物联网网关搭建RS-485网络2,将温湿度数据、可燃气体数据、人体红外感应数据发送给物联网网关,从而上报到云平台实现远程环境监测。


设备列表:

1、 PC机1台

2、 NEWLab实验平台1套

3、 物联网网关1个

4、 ST-Link仿真器 1个

5、 智慧盒(含USB连接线) 1个

6、 M3主控模块2个

7、 LoRa模块2个

8、 人体红外感应传感器、可燃气体传感器、温湿度光敏传感器 1个(温湿度传感器1个)

9、 CAN调试器USB线 1条

10、 网线、导线若干

11、 工具包1套

 

线图:

接线说明:

1、将LoRa汇聚节点放在智慧盒上,J12口(485+、485-)与M3网关节点J10(485A+、485B-)相连;2个LoRa模块最终测试时JP1,JP2向右拨,S1向上拨码;

2、将M3网关节点J7口(CANH、CANL)与M3终端节点J7口(CANH、CANL)相连;

3、将M3网关节点J5口(A485+、B485-)与物联网网关RS-485(A2、B2)相连;

4、将物联网网关的LAN口与考试电脑(PC)通过网线相连,物联网网关的WAN口与外网相连,物联网网关接12V电源。

 

务要求:

1、请按照接线图完成连线工作。

按照接线图完成连线;注意:人体红外感应传感器请把跳线帽跳至“H”处,如下图:

2、在云平台上创建项目并配置物联网网关接入云平台

(1)创建项目,项目名称以“T+准考证号后12”命名。行业类别选择“工业物联”,联网方案选择“以太网”;

(2)创建设备,设备名称以“485总线”命名,通讯协议选择“TCP”, 设备标识为“C202012D+准考证号后12位”,将云平台上设备信息截图保存至“图集.docx”中的1.png处。

(3)配置物联网网关接入云平台:

配置物联网网关,请注意:

设备接入域名为:ndp.nlecloud.com;

平台端口为:8600;

API接口为:api.nlecloud.com;

其它信息与物联网云平台上创建的项目信息一致。

配置完成后,把网关配置信息(含平台账号、设备ID、设备标识、传输密钥、通信协议)截图保存至“图集.docx”中的2.png处。

 

3、LoRa传感器采集节点代码编写

打开工程源码目录下的“..\work\LoRa\1_TempRhSensorProject\project\”的工程文件“LoRaModem.uvprojx”,实现下列功能:

(1)配置LoRa模块射频参数:

①在“NS_Radio.h”文件中将LoRa的射频频率RF_PING_PONG_FREQUENCY设置为433+准考证号最后1位+00000Hz;比如准考证号为20610003254400409876,则射频频率配置为433600000Hz;

②在“main.c”文件中将MY_NET_ID网络ID为准考证号后4位;比如准考证号为20610003254400409876,则LoRa网络号为0x9876

(2)在“main.c”文件LoRa_GetSensorDataProcess()函数中实现:温湿度传感器数据的采集。

 

4、LoRa汇聚节点工程代编写:

打开工程源码目录下的“..\work\LoRa\2_CollectProject\project\”的工程文件LoRaModem.uvprojx,实现下列功能:

(1)参考LoRa传感器采集节点工程配置,在NS_Radio.h”和“main.c”文件中实现LoRa的射频频率参数配置。

(2)在“main.c”文件LoRa_SendRead()函数中实现:根据以下表1.LoRa通信协议请求帧格式,完善通信报文数据。将网络ID(NetId)和LoRa地址(addr)正确封装到TxBuffer[]数组中。

(3)在“main.c”文件LoRa_DataParse()函数中实现:将汇聚到的温湿度传感器数据通过串口发送给M3网关节点。

 

5、终端节点固件烧写和节点配置:

(1)将考试资源包“5.CAN终端节点hex文件”目录中的CAN_BASE.hex文件(请勿擅自拷贝到其它目录下)烧写到终端节点,并将烧写成功的截图保存至“图集.docx”中的3.png处;

(2)终端节点烧写成功后,通过“4.使用工具”里的配置工具“M3主控模块配置工具”配置节点,将地址设置为0x0022,传感器列表设置为可燃气体;配置成功截图保存至“图集.docx”中的4.png处。

 

6、网关节点工程配置和代码编写

(1)通过STM32CubeMX工具配置工程CAN_BASE_GateWay,打开工程源码目录 “..\work\CAN_BASE_GateWay\CAN_BASE_GateWay.ioc”文件,需要完成的配置如下: 

①PE0引脚配置:选择功能为GPIO_Output、默认高电平、推挽输出、无上下拉、高速、用户标签为LED8;

②PA1引脚配置:选择功能为GPIO_Input、输入模式、无上下拉、用户标签为Infrared;

③串口UART5的设置为:波特率115200bps、8位数据位、1位停止位、无校验位。开启串口UART5的NVIC中断,主优先级为1,子优先级为0;

④串口USART2的设置为:波特率115200bps、8位数据位、1位停止位、无校验位。开启串口USART2的NVIC中断;

⑤保存STM32CubeMX工程,并生成代码的MDK工程;

 

(2)打开工程源码目录下的“..\work\CAN_BASE_GateWay\MDK-ARM\”的工程文件CAN_BASE_GateWay.uvprojx工程,添加代码实现以下功能: 

①在“main.c”文件main()函数中:实现人体红外感应传感器数据的采集。

②在“process_m3.c”文件Master_To_Gateway()函数中:根据以下表2.RS-485网络数据帧格式,将采集到的人体红外数据正确封装到MASTER_TX_BUF[]数组中。(注意:传感器数据应该按照实际采集的数据进行填写。)

【正确答案】

一、接线图和截图样例

接线图:

设备连线实物图:

截图样例

1.png云平台设备信息截图:

2.png 物联网网关截图:

3.png CAN终端节点固件烧写成功截图:

4.png CAN终端节点节点配置成功截图:

5.png CAN网关节点节点配置成功截图:

6.png CAN总线通信数据截图:

7.png云平台传感器截图:

【答案解析】