目录

全国职业院校技能大赛嵌入式系统应用开发赛项

竞赛模块: 模块一

竞赛注意事项

第一模块 嵌入式系统硬件制作与驱动开发 竞赛任务书(第7套)

一、总体要求

二、竞赛任务表

竞赛模块: 模块二

竞赛注意事项

第二模块 嵌入式系统应用程序开发 竞赛任务书(第7套)

一、总体要求

二、竞赛任务表

三、标志物摆放位置表

四、竞赛平台位置示意图

竞赛模块: 模块三

竞赛注意事项

第三模块 嵌入式系统边缘计算应用开发 竞赛任务书(第7套)

一、总体要求

二、竞赛任务表

三、标志物摆放位置表

四、竞赛平台位置示意图

数据处理方法—AES加密

一、AES加密概述

二、AES加密过程

三、AES加密示例


全国职业院校技能大赛嵌入式系统应用开发赛项

(第7套)

竞赛模块: 模块一

竞赛注意事项

1. 选手竞赛过程中,各参赛选手应注意设备用电安全,禁止带电插拔设备的组件和模块,设备工作期间务必远离洗板水、饮用水等非绝缘性液体。若因操作不当导致设备出现问题应及时向现场裁判报告,由现场裁判处理。

2. 竞赛期间选手不得做出影响他人的动作,或者发出噪音干扰其他参赛选手正常竞赛。

3. 所有参赛选手进入赛场后,直到比赛结束之前,禁止向赛场任何人透露任何关于个人身份的任何信息。比赛结束前需参赛选手签字确认的所有文件,只填写竞赛当天的赛位号,填写其他信息均视为无效并需要重新签字。

4. 参赛选手要注意及时保存电脑资料,由于操作不当导致文件丢失、损坏的,由参赛选手自行负责。

5. 竞赛第一模块下发的功能电路板含有故障,选手装联过程中需要进行调试,使其能够正常工作。期间若发现物料缺失、损坏等,应在规定时间内补领或更换,申领器件不得超过标准用量,请仔细检查,不得恶意补领器件,超过规定时间之后补领元器件按规程扣除相应分数。选手因装接不当造成的故障不在考查范围之内,但属于选手应当掌握的核心专业技术技能,由选手自行处理解决。

6. 参赛选手应在第一模块竞赛测评开始前,完成程序下载、固化,第一模块竞赛测评阶段开始后,禁止再次更新功能电路核心板程序。

7. 本模块竞赛结束后,参赛选手应将现场下发的所有资料整理并交给现场裁判,不得将现场下发的任何材料带离竞赛现场。

8. 竞赛现场为各赛位下发1块标准功能电路板,用于各参赛选队测试和固化程序,若竞赛测评需要使用标准板进行测评,则根据规程扣除相应分数,标准功能电路板在本模块竞赛结束后回收,不得损坏或带离赛场,否则按照违纪处理。

9. 本题仅为样题,正式赛题以竞赛日现场拆封下发的题目为准。

第一模块 嵌入式系统硬件制作与驱动开发 竞赛任务书(第7套)

一、总体要求

本竞赛模块要求使用竞赛现场下发的嵌入式系统功能电路板(搭载国产自主嵌入式微处理器)完成硬件制作和驱动程序开发与测试,具体竞赛任务要求见竞赛任务表。其中,嵌入式系统驱动开发任务表中竞赛任务1-6由选手自行选择实现方式,任务7-8由裁判基于实时操作系统的命令行终端输入任务测评启动命令后进行各竞赛任务测评。各竞赛任务见竞赛任务表中对应竞赛任务描述。

二、竞赛任务表

(一)功能电路板硬件制作任务表

序号

任务描述

任务要求

1

任务:嵌入式系统功能电路板装配与焊接

1. 根据赛场提供的嵌入式系统板电路图和物料清单,从提供的元器件中选择元器件,准确地焊接在赛场提供的线路板上,完成嵌入式系统硬件制作。

2. 焊接要求:在印制电路板上所焊接的元器件的焊点大小适中、光滑、圆润、干净,无毛刺;无漏、假、虚、连焊,引脚加工尺寸及成形符合工艺要求;导线长度、剥线头长度符合工艺要求,芯线完结果好,捻线头镀锡。

3. 装配要求:元器件焊接安装无错漏,元器件、导线安装及元器件上字符标示方向均应符合工艺要求;电路板上插件位置正确,接插件、紧固件安装可靠牢固;线路板和元器件无烫伤和划伤处,整机清洁无污物。


(二)嵌入式系统驱动程序开发任务表

序号

任务描述

任务要求

1

任务1:竞赛计时系统

要求基于功能电路板通过编程实现数码管计时显示系统。

1. 通过编程实现数码管计时系统,要求从本模块竞赛测评开始时启动计时,计时单位为秒。

2. 本模块竞赛测评过程中,要求数码管全程显示,不允许执行任何形式的复位操作,若整个测评过程中由于个人操作不当等造成计时器清零等,此任务不得分。

显示格式:“XX.YY”(XX为分钟,YY为秒,“.”为分隔符,若首位为0,必须显示)。

2

任务2:GPIO基础驱动开发

要求基于功能电路板通过编程实现GPIO控制。

1. 通过编程实现全彩RGB灯亮灭控制,按照白灯、红灯、绿灯、蓝灯顺序实现白灯亮起1s后关闭、红灯亮起1s后关闭、绿灯亮起1s后关闭、蓝灯亮起1s后关闭。

2. 通过编程实现对板载蜂鸣器的开启与关闭控制,要求能单独控制蜂鸣器开启与关闭。

3

任务3:LCD显示屏显示应用开发

要求基于功能电路板通过编程实现LCD显示指定信息。

1. 通过编程实现在LCD显示指定信息,显示图形:圆形、长方形,圆形填充颜色为蓝色、正五角星形填充颜色为绿色、长方形填充颜色为红色,要求显示效果明显便于观察。

4

任务4:语音交互应用开发

要求语音交互系统实现指定文本信息播报及语音识别交互显示。

1. 通过编程实现语音交互系统播报指定文本信息,信息内容为“我爱中华,技能强国!”。

2. 要求通过语音控制语音模块实现全彩RGB 灯的控制,要求识别现场指定的词条信息,并将识别到的正确词条信息及全彩RGB 灯当前颜色显示在LCD显示屏上,词条信息显示位置、字体大小、字体颜色及屏幕背景颜色选手可自行决定,要求显示清晰便于观察。

3. 词条信息仅限于:打开白色灯光,打开紫色灯光,打开黄色灯光,关闭灯光。

4. 全彩RGB 灯在LCD中的颜色信息显示格式:“当前颜色:白色灯光/紫色灯光/黄色灯光/关闭”

5

任务5:车辆雷达检测系统设计

要求基于功能电路板通过编程实现雷达系统设计。

1. 通过编程实现LCD实时显示任意超声波传感器数据信息,显示格式:“距离:XXX cm”(误差:±2cm)。

2. 通过编程实现LCD实时正确显示超声波传感器数据信息,当超声波测距离超过20cm时,LCD显示U盘附件图片A界面,同时全彩RGB灯亮绿色灯光;当A超声波测距离不超过20cm且不小于10cm时,LCD显示U盘附件图片B界面,同时全彩RGB灯亮黄色灯光;当A超声波测距离小于10cm时,LCD显示U盘附件图片C界面,同时全彩RGB灯亮红色灯光且蜂鸣器持续鸣响。

6

任务6:传感器数据采集与显示

要求基于功能电路板通过编程实现温度传感器、数码管实时正确显示温度传感器数据。

1. 通过编程实现启动数码管实时正确显示温度传感器数据信息,显示格式:“当前环境温度:XX OC(若首位为 0,则可以不显示)”。

2. 通过编程实现当温度≤25OC时,RGB LED灯点亮(显示颜色不做要求),当温度>25OC时,RGB LED灯关闭。

7

任务7:汽车驾驶舱系统设计

要求基于功能电路板通过编程实现汽车驾驶舱系统的模拟设计。

本任务启动命令:task01

1. 通过编程实现自定义氛围灯功能,要求操作触摸屏控制全彩RGB灯颜色,显示颜色不限。控件显示位置、字体大小、颜色、屏幕背景颜色选手可自行决定,要求文字显示清晰便于观察。

2. 通过编程实现模拟座椅通风功能,要求手动操作触摸屏打开、关闭模拟座椅通风功能,模拟座椅通风挡位调节功能,要求LCD上显示实时显示座椅通风挡位,示例图片见下图所示。控件显示位置、字体大小、颜色、屏幕背景颜色选手可自行决定,要求文字显示清晰便于观察。

 

8

任务8:GPIO外围设备开发

要求:通过编程实现音符“1,2,3,4,5,6,7”播放

本任务启动命令:task02

  1. 使用给定的GPIO口驱动播放器实现音符“1,2,3,4,5,6,7”播放

备注:

1. 竞赛装联调试阶段结束后,参赛选手应停止功能电路板装联、调试,并将电脑置于关闭状态。

2. 竞赛测评过程中,上述任务只能使用1个综合程序完成功能演示,在现场评分裁判口令下,通过板载功能按键或其他方式等逐个实现上述任务的结果展示,单个任务测评演示次数不超过3次,否则认定为任务未完成,如因页面刷新速度过快,导致裁判无法确认显示内容是否正确,后果由选手自行承担。

3. 竞赛测评结束后,参赛选手将功能电路板粘贴加密编号后上交至裁判指定位置。

全国职业院校技能大赛

嵌入式系统应用开发赛项

(第7套)

竞赛模块: 模块二

竞赛注意事项

1. 选手竞赛过程中,各参赛选手应注意设备用电安全,禁止带电插拔设备的组件和模块,且务必远离饮用水、饮料等液体。若因操作不当导致设备出现问题应及时向现场裁判报告,由现场裁判处理。

2. 竞赛期间选手不得做出影响他人的动作,或者发出噪音,干扰其他参赛选手的正常竞赛。

3. 所有参赛选手进入赛场后,直到竞赛结束之前,禁止向赛场任何人透露任何关于个人身份的相关信息。竞赛结束前需参赛选手签字确认的所有文件,只填写竞赛当天的工位号,填写其他信息均无效。

4. 参赛选手要注意及时保存电脑资料,由于操作不当导致文件丢失、损坏的,由参赛选手自行负责。

5. 选手可以在竞赛测试阶段的规定时间内按序进入练习赛道进行测试,每次限时5分钟,参赛队若放弃赛道任务测试机会,队长须前往竞赛测试区确认签字,表明自愿放弃测试机会,此次测试时间轮空且放弃不补,须等待下一轮测试机会,每队测试机会均等。

6. 本模块竞赛共有两轮测评机会,每轮2次测评机会,2次测评合计时长不超过5分钟,超过部分将不记录成绩。取两轮中最高成绩为最终成绩,竞赛平台开始运行后需完全独立完成竞赛任务,期间不得手动控制,在竞赛平台启动之后,至选手确认竞赛测试结束之前,选手不得触碰竞赛平台。

7. 第一轮竞赛测评结束后,各参赛队拥有等长的调试时间与相同的练习赛道使用时间,超过规定时间不得继续操作,需将竞赛单元再次上交至指定位置。

8. 竞赛结束后,参赛选手应将现场下发所有资料、附件、资料盘等整理并交给现场裁判,不得将现场下发的任何材料带离竞赛现场。

9. 本题仅为样题,正式赛题以竞赛日现场拆封下发的题目为准。

第二模块 嵌入式系统应用程序开发 竞赛任务书(第7套)

一、总体要求

参赛选手根据竞赛现场抽取的竞赛任务书编写相关嵌入式系统应用程序,参赛选手需在规定时间内,使嵌入式智能车开发单元A(以下简称“A车”)、嵌入式智能车开发单元B(以下简称“B车”)在智能标志物交互应用沙盘单元模拟的智能化场景中完成各项赛道功能任务。

二、竞赛任务表

序号

任务要求

说明

1

任务1:A车启动

A车放置在B7处,在裁判示意竞赛开始时,选手点击启动按钮,启动智能显示标志物进入计时状态,A车顺利出库。

1. 智能显示标志物在A车开始移动之前开启计时。

2. A车按照以下路径行驶:B7→B6→D6→F6→F4→D4→B4→B2→D2→F2→F1。

2

任务2:A车获取RFID数据

A车从B6→F6路线行进过程中,寻找到RFID卡,并读取其指定数据块内容。如有必要可优先执行任务3。

1. RFID卡共有3张,读取各卡片数据块内容仅需验证A密钥(0xFF,0xFF,0xFF,0xFF,0xFF,0xFF)即可。

2. 3张RFID卡片随机放置在B6→F6坐标点(含B6、F6)之间的循迹线上,其中有且仅有一张RFID卡内含有完整且有效信息(B车指定路径和B车初始位置(初始位置仅限于D7、F7、G6))其余两张卡片可能为空卡,也可能存有干扰信息。

3. RFID卡指定数据块地址为:第2扇区第2个数据块。

有效信息示例(字符串):F2D2B2|F7,其中指定路径以第1个F2开头,以最后1个B2结束。

3

任务3:A车通过ETC系统

A车在指定路线B6→C6→D6→F6上行进,在B6附近处使ETC系统感应到A车上携带的电子标签,打开闸杆,A车顺利通过ETC系统。

1. A车需在不接触ETC闸杆(闸杆时间保持时间约为10秒)的情况下通过ETC系统。

2. 选手应计算好通过时间,避免闸杆下落触碰A车。若因此导致A车失控,则视为选手控制不当。

4

任务4:A车进行超声波测距

A车位于F4处,获取位于G4处静态标志物(A)垂直平面到F4处中心点的距离。

3. G4处静态标志物(A)与F4中心点距离范围100mm~400mm,记为h。A车将测量的距离信息发送至多功能信息显示标志物(A)上显示。测量误差:±20mm。

例如:测距为123mm,显示效果为:JL-123

5

任务5:A车经过特殊地形

A车从F4→E4→D4路线行进过程中,顺利通过带有特殊地形的路面(地形标志物),到达B4处。

竞赛测评时裁判现场将特殊地形摆放至指定位置,地形卡片任选一张,所有测评赛道中特殊地形摆放位置与地形卡片保持一致。B车在通过特殊地形时,不能与特殊地形两侧护栏发生碰撞,否则认定任务失败。

6

任务6:A车语音识别交互

A车在B4位置处,启动语音识别,获取智能公交站发出的语音信息。

要求A车通过ZigBee将该条语音信息编号按指定格式上传至评分终端。

1. A车上传语音信息编号格式:

0xAF,0x06,0xXX,0x02,0x00,0x00,0x01,0xBF;

其中0xXX代表被识别的语音信息编号,其他字符固定不变。

2. 语音播报信息与编号说明:

富强 民主 编号0x02

文明 和谐 编号0x03

自由 平等 编号0x04

公正 法治 编号0x05

爱国 敬业 编号0x06

诚信 友善 编号0x07

7

任务7:A车进行智能路灯调光

A车行驶到B2处,通过光照度传感器获取光照强度数据,将智能路灯档位调整到目标档位。

3. 智能路灯初始档位记为n。

4. 目标档位计算方式为:(h/100)%4+1计算后得到,其中h为任务4的距离数据,单位为毫米。

8

任务8:B车启动与交通灯识别

A车到达B2处后,根据RFID中B车路线自行决定B2→B4→B6之间路线避让,开启A车任务板左右转向灯与蜂鸣器,左右转向灯进入双闪模式,蜂鸣器响3声后关闭。

B车启动行进至F6处,而后启动智能交通信号灯(A)进入识别模式,并在规定的时间内识别出当前停留信号灯的颜色,按照指定格式发给智能交通信号灯(A)进行比对确认。

1. B车应在规定的时间内识别出智能交通灯信号颜色,并将识别结果发送至智能交通信号灯(A),超时结果无效。

2. B车识别后只需将结果返回至智能交通灯标志物即可,无需执行其他操作。

9

任务9:B车识别二维码

B车按照指定路线F6→F4→F2行进,在F2处识别位于G2处静态标志物(B)上的二维码信息。并将有效数据发送至A车。

1. G2处静态标志物(B)中有两个二维码,选手均需要识别。

2. 二维码(一)信息为固定8个字节长度字符串,有效数据格式为“XYYYXY”字符,X代表大写A~Z中任意一个字母,Y代表0~9中任意一个数字,其他字符为干扰字符。例如,二维码(一)信息为:“A/145#B6”,则有效数据为“A145B6”字符。

二维码(二)信息为一个计算公式,仅包含以下运算:加(+)、减(-)、乘(*)、除(/)、次幂(^),涉及计算参数仅为h、n、y;其中h为任务4所得测距距离,n为任务7所测得路灯标志物初始档位,y为任务11中所获取的立体车库(A)的初始层数。计算结果记为x。例如,二维码(一)信息为:((n*y+h)^4)/100。

10

任务10:B车控制智能立体显示标志物显示数据

B车在F2处,向位于E3处的智能立体显示标志物发送红外数据,控制智能立体显示标志物显示指定数据。

智能立体显示标志物使用车牌显示模式显示B车任务9中识别二维码(一)中的车牌信息和任务2中获取的B车初始位置。

11

任务11:B车按指定路线行进并倒车入库

B车在F2处按照A车从任务2中获取的指定路线行进,到达B2处,B车查询立体车库(A)中的初始层数,记为y,并使用倒车入库方式进入立体车库(A),并控制其上升到指定层数(3层)。

B车在F2处后的行进路线需按照任务2中RFID给定的路径行驶。在D2与B2之间行进应能顺利通过地形标志物。

选手应在倒车驶入车库前确认车库是否已经被控制下降到一层,并确认在倒车入库过程中确保停在合适位置,在车库上升过程中,B车如果B车库跌落,则视为选手控制不当。

12

任务12:A车通过道闸

A车退出避让路线,回到B2处,控制道闸开启按照B2→D2路线行进。

道闸开启码为任务9中获取的有效数据。

在练习赛道发任一车牌均可开启智能道闸,在竞赛赛道只有发送任务9中获取的有效数据才能开启,一段时间之后智能道闸将自动关闭。

选手需要控制时间,应当在智能道闸开启之后快速通过,避免撞上闸杆。

13

任务13:A车开启智能报警台

A车位于D2处,通过指定格式指令控制智能报警台开启。

智能报警台开启码由h、n、y、x来确定。将h、n、y、x转为16进制数据,则六字节开启码分别为:x的高八位、x的低八位、h的高八位、h的低八位、n的低八位、y的低八位。其中关于h、n、y、x的说明请参考任务9。

14

任务14:A车倒车入库

A车行进到F2处,查询立体车库(B)中的初始层数,记为z,并使用倒车入库方式进入立体车库(B),并控制其上升到指定层数。

A车入库完成后,发送对应指令开启智能无线充电,关闭智能显示标志物计时。

选手应在倒车驶入车库前确认车库是否已经被控制下降到一层,并确认在倒车入库过程中确保停在合适位置,在车库上升过程中,A车如果B车库跌落,则视为选手控制不当。

立体车库(B)上升到指定层数计算方式为:((z+y)^n)%4+1。

三、标志物摆放位置表

序号

设备名称

摆放位置

备注

01

智能立体车库(A)

B1

入口朝向B2处

02

智能立体车库(B)

F1

入口朝向F1处

03

多功能信息显示标志物(A)

E7

显示屏朝向E6处

04

多功能信息显示标志物(B)

C7

显示屏朝向C6处

05

静态标志物(A)

G4

静态数据源朝向F4

标志物位置根据赛题需要允许微调

06

静态标志物(B)

G2

静态数据源朝向F2

标志物位置根据赛题需要允许微调

07

智能交通信号灯(A)

G5

信号灯朝向F6处

08

智能交通信号灯(B)

E1

信号灯朝向F2处

09

智能报警台

D1

红外接收器朝向D2处

10

智能公交站

A4

喇叭朝向B4处

11

智能显示标志物

A6

显示屏朝向B6处

12

智能立体显示标志物

E3

标志物中心位于E3处

13

智能ETC系统

C6

天线朝向B6处

14

智能道闸

C3

道闸杆落在C2处

15

智能路灯

A2

光源朝向B2处

16

智能无线充电标志物

C5

标志物中心位于C5处

17

特殊地形

E4

标志物中心位于E4处

18

A车出发点

B7

车头朝向选手自行决定

19

B车出发点

/

RFID卡内数据指定,仅限于D7、F7、G6

车头朝向选手自行决定

20

RFID卡片

3张

在B6-F6循迹线上任意位置上


四、竞赛平台位置示意图

 

全国职业院校技能大赛

嵌入式系统应用开发赛项

(第7套)

竞赛模块: 模块三

竞赛注意事项

1. 选手竞赛过程中,各参赛选手应注意设备用电安全,禁止带电插拔设备的组件和模块,且务必远离饮用水、饮料等液体。若因操作不当导致设备出现问题应及时向现场裁判报告,由现场裁判处理。

2. 竞赛期间选手不得做出影响他人的动作,或者发出噪音,干扰其他参赛选手的正常竞赛。

3. 所有参赛选手进入赛场后,直到竞赛结束之前,禁止向赛场任何人透露任何关于个人身份的相关信息。竞赛结束前需参赛选手签字确认的所有文件,只填写竞赛当天的工位号,填写其他信息均无效。

4. 参赛选手要注意及时保存电脑资料,由于操作不当导致文件丢失、损坏的,由参赛选手自行负责。

5. 选手可以在竞赛测试阶段的规定时间内按序进入练习赛道进行测试,每次限时5分钟,参赛队若放弃赛道任务测试机会,队长须前往竞赛测试区确认签字,表明自愿放弃测试机会,此次测试时间轮空且放弃不补,须等待下一轮测试机会,每队测试机会均等。

6. 本模块竞赛共有两轮测评机会,每轮2次测评机会,2次测评合计时长不超过5分钟,超过部分将不记录成绩。取两轮中最高成绩为最终成绩,竞赛平台开始运行后需完全独立完成竞赛任务,期间不得手动控制,在竞赛平台启动之后,至选手确认竞赛测试结束之前,选手不得触碰竞赛平台。

7. 第一轮竞赛测评结束后,各参赛队拥有等长的调试时间与相同的练习赛道使用时间,超过规定时间不得继续操作,需将竞赛单元再次上交至指定位置。

8. 竞赛结束后,参赛选手应将现场下发所有资料、附件、资料盘等整理并交给现场裁判,不得将现场下发的任何材料带离竞赛现场。

9. 本题仅为样题,正式赛题以竞赛日现场拆封下发的题目为准。

第三模块 嵌入式系统边缘计算应用开发 竞赛任务书(第7套)

一、总体要求

本模块竞赛要求使用嵌入式智能车开发单元A(以下简称“A车”)及智能标志物交互应用沙盘单元共同完成嵌入式系统边缘计算应用开发的各项竞赛任务,具体竞赛任务要求见竞赛任务表。

二、竞赛任务表

序号

任务要求

说明

1

任务1:A车启动

A车放置D1处,在裁判示意开始时,选手点击启动按钮,启动智能显示标志物的计时功能,A车顺利出库。

1.智能显示标志物在A车开始移动之前开启计时模式。

2.A车按照以下路径行驶:D1→D2→F2→F4→F6→D6→B6→B4→B2

2

任务2:A车进行二维码识别

A车在D1→D2路线上行驶,在D2处,识别位于D4→D3区间静态标志物(A)上的二维码,获取有效文本信息,并计算D2处到静态标志物(A)的距离,将结果发送至智能显示标志物。

1.静态标志物(A)摆放在D4→D3区间范围内。

2.静态标志物(A)上放置多个二维码,其中有效文本信息存放在蓝色二维码中,其它颜色二维码存放的信息均为干扰数据。

3.通过检测到的二维码位置计算D2到静态标志物(A)的距离,要求偏差小于正负1厘米。

3

任务3:A车进行行人检测和交通标志识别

A车在D2→F2路线上行驶,到达F2处,通过翻页获取位于F1处多功能信息显示标志物(C)中显示的图片信息。A车识别图片中交通标志类别以及戴口罩行人数量,并将交通标志识别结果发送至智能公交站标志物进行播报。

1.多功能信息显示标志物(C)开机或重启后默认显示1张固定图片,除待识别的图片外,还存放有3张干扰图片,需通过翻页指令找到需要识别的图片。图片中包含多个行人和1个交通标志,要求识别图片中的交通标志以及行人数量。

2.涉及的交通标志类别包含:直行、左转、右转、掉头、禁止掉头、禁止左转、禁止右转、限速标志。

3.图像中的部分行人戴口罩,要求识别出包括被遮挡的行人在内的所有戴口罩行人数量。

4.行人数量对应A车入库编号,记为X,说明如下:

X=行人数量%3,当X=0→车库A;X=1→车库B;X=2→车库C。

4

任务4:A车进行交通信号灯识别

A车在整个路线上行驶过程中需要进行4次交通信号灯识别任务。分别在F2、F6、D4、B2处识别E3、E5、C5、C3的交通信号灯(B/A/C/D)。

1.A车应在规定的时间内识别出交通灯信号颜色,并将识别结果按照指定格式发送至对应的智能交通信号灯标志物,超时则无效。

2.A车识别后只需将结果返回至对应的智能交通信号灯标志物即可通行,无需执行其他操作。

例如:到达F2处,控制位于E3处智能交通信号灯标志物(B)进入识别模式,并在规定的时间内识别出当前停留交通灯的颜色,按照指定格式发送给智能交通信号灯标志物(B)进行比对确认。

5

任务5:A车进行车牌识别

A车在B3→B2→C2路线上行驶,到达C2处,首先通过翻页获取位于C1处多功能信息显示标志物(A)中显示的车牌信息。然后识别图中的有效车牌信息。最后将有效车牌信息发送至多功能信息显示标志物(A)显示(车牌显示模式)。

1.多功能信息显示标志物(A)开机或重启后显示一张默认图片,选手需要执行翻页操作找到需要识别的车牌图片。

2.选手需要识别出车牌号。

3.多功能信息显示标志物(A)显示车牌格式为:“国XXYYYY”。其中“国”固定不变,后面6位号码,X代表A~Z 中任意一个字母,Y代表0~9中任意一个数字,字母中不包含I和O。A车将有效车牌及车型进行记录。

4.有效车牌信息用于后续任务中智能道闸标志物开启。

6

任务6:A车进行图形图像识别

A车在B6处,通过翻页获取位于A6处多功能信息显示标志物(A)中显示的图形信息。A车识别图片,获取图形形状及颜色信息,并按照指定格式将图形信息作为有效信息。A车在B6处,向位于C7处智能立体显示标志物发送红外数据,控制智能立体显示标志物显示识别结果。

1.多功能信息显示标志物(A)开机或重启后默认显示1张固定图片,选手需通过翻页指令找到需要识别的图片。要求选手识别图形信息,获取不同图形形状的颜色及数量。

2.涉及的形状仅限于:三角形、四边形(长方形、正方形、菱形、梯形)、圆形、五角形,其他不规则图形均为干扰图形。

3.涉及的颜色仅限于红色(255,0,0)、绿色(0,255,0)、蓝色(0,0,255)、黄色(255,255,0)、品色(255,0,255)、青色(0,255,255)、黑色(0,0,0)、白色(255,255,255)。

4.图形类别统计格式:ABCDXX,A代表蓝色梯形数量,B代表红色圆形数量,C代表黄色三角形数量,D代表所有菱形的数量。XX代表所有青色图形的数量。

示例:识别到图片中蓝色梯形数量2个,红色圆形数量3个,黄色三角形数量1个,图片中所有菱形数量为8,图片中所有青色图形的数量为4,则有效信息为“231804”。

7

任务7:A车完成道闸控制

A车在B6→B4路线上行驶,在B4处,将多功能信息显示标志物(A)有效车牌按照指定格式发送到位于A3处的智能道闸标志物上并控制其开启。

1.在练习赛道发送任意车牌均可开启智能道闸标志物,在竞赛赛道只有发送多功能信息显示标志物(A)识别到的有效车牌才能开启。

2.选手需要合理控制时间,应当在智能道闸标志物开启之后快速通过,避免撞上闸杆。

8

任务8:A车文字识别与显示

A车在B4→B2路线上行驶,在B2处,获取位于B1处多功能信息显示标志物(B)上的文字信息,然后将识别到的文字信息发送至智能公交站标志物进行播报。

A车在B2处朝向A1处完成文字识别以后,将识别到的文字信息发送至智能公交站标志物进行播报。

9

任务9:A车完成救援报警

A车在B2处,向位于C1处的智能报警台标志物发送指定红外数据,控制其开启报警。

1.智能报警台标志物开启报警的指令由静态标志物(A)中获取的二维码信息经过数据处理算法计算后获得。

2.智能报警台标志物开启报警的指令计算方式详见数据处理算法文件。

10

任务10:A车完成倒车入库

A车在B2→D2路线上行驶,到达D2处,根据多功能信息显示标志物(C)中识别到的行人数量,采用倒车入库的方式驶入对应车库,入库后关闭智能显示标志物计时器。

要求选手根据多功能信息显示标志物(C)中识别到的行人数量驶入对应车库。

示例:若多功能信息显示标志物(C)中行人数量为3,则A车应驶入车库A(坐标点:F7);若行人数量为4,则A车驶入车库B(坐标点:A2);若行人数量为5,则A车驶入车库C(坐标点:B7)。

三、标志物摆放位置表

序号

设备名称

摆放位置

备注

1

智能道闸

A3

闸杆朝向B3处

2

智能公交站

G3

喇叭朝向F3处

3

多功能信息显示(A)

A6

显示屏朝向B6处

4

多功能信息显示(B)

B1

显示屏朝向B2处

5

多功能信息显示(C)

F1

显示屏朝向F2处

6

智能报警台

C1

红外朝向B2处

7

智能交通信号灯(A)

E5

信号灯朝向F6处

8

智能交通信号灯(B)

E3

信号灯朝向F2处

9

智能交通信号灯(C)

C5

信号灯朝向D4处

10

智能交通信号灯(D)

C3

信号灯朝向B2处

11

智能显示

G5

显示屏朝向F5处

12

智能立体显示

C7

位于C7坐标点

13

静态标志物(A)

D4~D3

静态数据源朝向D2

14

A车出发点

D1

A车放置在D1处


四、竞赛平台位置示意图

 

数据处理方法—AES加密

一、AES加密概述

密码学中的高级加密标准(Advanced Encryption Standard,AES),又称Rijndael加密法。该算法为比利时密码学家Joan Daemen和Vincent Rijmen所设计,结合两位作者的名字,以Rijdael之名命名。此密码是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES(Data Encryption Standard),已经被多方分析且广为全世界所使用。经过五年的甄选流程,高级加密标准由美国国家标准与技术研究院 (NIST)于2001年11月26日发布于FIPS PUB 197,并在2002年5月26日成为有效的标准。2006年,高级加密标准已然成为对称密钥加密中最流行的算法之一。

二、AES加密过程

AES加密的基本原理就是把明文分成若干组,每组长度相等,每次加密一组数据,直到加密完所有明文。

1. 根据二维码中提取的有效文本信息(以下简称明文),将明文用字节为单位的正方形矩阵进行表示(以下简称状态矩阵)。状态矩阵中字节排列按照从上到下、从左至右依次排列。

2. 如果明文二进制位数长度(以下简称明文位长)不足128,则需要进行字节填充。填充规则:需要填充的字节长度=(128 – 明文位长)÷ 8,使用需要填充字节的长度对所有空缺位进行补全(如明文=0123456789ABCDE,明文长度为120,缺少1个字节,则空缺位补0x01)。

3. 设密钥K=“abcdefghijklmnop”(k为固定密钥),则K0=‘a’,K1=‘b’,…, K15=‘p’。密钥K内均为字符,设密钥矩阵 W[0] = 0xK0K1K2K3 = 0x61626364,W[1]、W[2]、W[3]以此类推。W[4-43]为扩展密钥,针对扩展密钥的推导公式如下:(其中rcon为轮常量,详见Rcon常量表;S表示S盒,详见AES标准S盒。)

:Rcon常量表(16进制)

 :AES标准S盒

 

4. 字节替换。状态矩阵中的元素按照指定方式映射为一个新的字节。映射方式:把该字节的高4位作为行值,低4位作为列值,取出S盒中对应的行的元素作为输出。

5. 行移位。行移位是一个简单的循环左移操作。当密钥长度为128(bit)时,状态矩阵的第0行左移0字节,第1行左移1字节,第2行左移2字节,第3行左移3字节。

6. 列混合。列混合变换是通过求和来实现的,经过行移位后的状态矩阵与固定矩阵相加求和,得到混淆后的状态矩阵,列混淆固定矩阵(16进制)见下表:

7. 轮密钥加。轮密钥加是将128位轮密钥Ki与状态矩阵中的数据进行逐位异或操作。第一轮密钥矩阵为W[4i]~W[7i],状态矩阵第一列与W[4i]分别进行按位异或操作(长度均为4字节),第二列与W[4i+1],以此类推。

8. 将步骤7之后产生的状态矩阵进行重复加密(循环步骤4、5、6、7),直至加密十轮后得到混淆后的状态矩阵,状态矩阵共16位字节。

9. 状态矩阵进行每一列的字节求和,完成求和后取结果低八位,以此类推。分别取出后,S盒中(0,0)和(F,F)中的值分别作为六字节红外报警码的第1、2字节,然后将4列之和按顺序放入,最终完成排列,得到六字节红外报警码。

三、AES加密示例

1. 设二维码有效数据为“0123456789ABCDE”。由于数据长度不够128(bit),故进行填充,填充长度为1位,填充数据为0x01。填充完成后排列出状态矩阵:

               

根据步骤2可计算出密钥K中的值,如:

W[0] = “abcd” = 0x61626364 W[1] = “efgh” = 0x65666768

W[2] = “ijkl” = 0x696A6B6C W[3] = “mnop” = 0x6D6E6F70

(1)扩展的第1轮的密钥需要计算(W[4],W[5],W[6],W[7])。由于4是4的倍数,由公式:可知计算过程,计算步骤如下:

1)W[3]的元素循环左移8位:(W[4-1]<<<8)= 0x6E6F706D;

2)将6E 6F 70 6D作为S盒的输入,输出为:9f a8 51 3c(例如字节为0x6E,则查S盒的第6行和E列,得到0x9f);

3)将9f a8 51 3c与第1轮常量进行异或运算,得到结果:9e a8 51 3c;

4)将W[0]与0x9ea8513c进行异或运算,则0x61626364  0x9ea8513c = 0xffca3258,

所以得到W[4] = 0xffca3258;

(2)再根据不是4的倍数的扩展公式:                  得到W[5] = 0x9AAC5530,W[6] = 0xF3C63E5C,W[7] = 0x9EA8512C;由此第一轮的密钥为:FFCA3258 9AAC5530 F3C63E5C 9EA8512C。W[8]、W[9]、…、W[43] 以此类推。

2. 把状态矩阵的第1个字节的高4位作为行值,低4位作为列值,取出S盒中对应的元素作为输出,然后进行逐步替换,经替换后新的状态矩阵如下:

3. 把状态矩阵按顺序进行循环移位,经移位后新的状态矩阵如下:

4. 把状态矩阵与固定矩阵进行列混合操作,经混合后新的状态矩阵如下:

5. 把状态矩阵与第一轮密钥矩阵进行逐位异或运算。状态矩阵第一列为0x12、0xA1、0x90、0x85,密钥矩阵W[4] = 0xFF、0xCA、0x32、0x58,两者进行异或运算得到新的状态矩阵第一列,以此类推,经过轮密钥加后新的状态矩阵如下:

6. 通过步骤3、4、5、6后得到第一轮的状态矩阵,将第一轮状态矩阵结果作为第二轮的状态矩阵输入,再次重复步骤3、4、5、6,重复十轮后得到最终状态矩阵如下:

7. 将状态矩阵每一列进行求和运算并取出低八位,然后取出S[0,0]和S[F,F],按顺序排列后得到最终的六字节报警台开启码:0x63,0x16,0x7C,0x48,0xAC,0x40。

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐