-
1 试题一
-
2 试题二
-
3 试题三
-
4 试题四
-
5 试题五
-
6 试题六
物联网移动应用开发
一、任务要求
按照任务说明描述的要求,新建Android应用工程,利用提供的相关接口文件(jar、so
文件)及其说明文档,在移动互联终端上实现“办公管理区域通往香菇培育区域楼道灯自动(手动)控制”、 “香菇培育区域(生产车间)生产环境自动控制”、 “仓库区域火情自动监测”业务需求。
完成的项目工程代码要求保存到“提交资料\任务三\”目录下。
二、任务环境
本任务要求“任务一”中的两盏照明灯、报警灯已安装到实训工位中,并按要求正确接线。
其他硬件设备如人体红外探测器、火焰探测器已经正确安装,无需再次安装。
确认数字量采集器ADAM4150的RS485转换模块串口接入移动互联终端COM2口(如未按要求接入COM2口任务3相关题目将不得分!!!)。采集器ADAM4150到RS485
转换模块串口的连接线可能不够长,请自行延长。
确认ZigBee三个继电器模决、两个传感器模块、一个协调器模块按任务二要求安装、调试正确。
确认ZigBee协调器通过公母串口线接入移动互联终端COM1口。(如未按要求接入COM1口任务3相关题目将不得分!!!)
软件资源:接口文件(jar、so文件)及其说明文档见竞赛资料中的“竞赛资料\任务三”。
说明,如须连接Android平台在线调试,须在电脑上安装驱动,见竞赛资料中提供的“Android Composite ADB Interface”。
三、任务说明
1、智能楼道灯控制
该任务模拟办公管理区域往香菇培育区域楼道灯自动控制和手动控制。新建Android项目,利用提供的软件资源,安装下面设计要求,完成智能楼道灯控制的开发。
设计要求:
认真阅读“竞赛资料\任务3\开发调用资源\题1\ADAM4150数字量采集控制模块调用库\Analog4150Library库说明.pdf”文档。
创建项目后将文件夹及文件“armeabi\libuart. so”导入libs中;
将文件Analog4150Library.jar导入libs中;
参考资料“竞赛资料\任务3\任务参考文档\ADAM4150数字量采集控制模块请求指令说明.pdf”文件中的内容。
根据上述2份PDF文档及相关资料实现下面功能:
界面实时显示两盏灯的“开”、“关’’状态
当接在数字量采集器ADAM4150上的人体红外探测器感应到有人时,1#照明灯(左边、D01)自动打开,5秒钟后自动关闭。
使用Android提供的Togglebutton类,对2#照明灯(右边、D02)进行手动控制:
将开发好的程序部署到移动互联终端,应用程序名称为“智能楼道灯控制”’”
2、香菇培育区域(生产车间)生产环境自动控制
该任务根据香菇的生长环境要求空气湿度60~70%,温度为25℃。模拟实现香菇培育区域(生产手间)生产环境自动控制系统。新建Android项目,利用提供的软件资源,按下面设计要求,完成生产环境自动控制模块的开发。
设计要求:
● 认真阅读“竞赛资料\任务3\开发调用资源\题2\ZigBee模块调用库\ZigBee库说明.pdf”文档。
● 创建项目后将文件夹及文件“armeabi\libuart. so”导入libs中;
● 将文件ZigBeelibrary. jar导入libs中;
● 当接在ZigBee底板上的人体红外探测器感应到有人时,根据提供的图片素材,
界面上门打开,照明灯亮(背景图片中两盏照明灯);没有人时候反之,选手可
根据逻辑切换图片。说明:界面上的门动画效果在竞赛资料中提供多张图片,如果可按逻辑实现门打开的完整动画效果,酌情加分。
● 提供“逻辑控制“和”手动控制“功能
● 以下是逻辑控制要求:
当温度低于25℃启动加热器(1#风扇转动模拟)。
当温度超过25℃启动制冷器(2#风扇转动模拟)。
● 加热器(1#风扇)、制冷器(2#风扇)、门、照明灯均可用手动进行控制。
● 将开发好的程序部署到移动互联终端,应用程序名称为“生产环境智能控制”。
3、仓库区域火情自动监测
该任务模拟实现火情自动监控系统,要求实时监控仓库区域火情情况。采集接在数字量采集器ADAV4150上的“火焰”、“烟雾”数据,但发生异常情况及时报警。新建Android项目,利用提供的软件资源,按下面设计要求,完成仓库区域火情自动监控模块的开发。
设计要求:
● 实时采集一次接在数字量采集器ADAM4150上的“火焰”、“烟雾”数据;
● 当发生火情时,报警灯自动报警5秒钟。
● 将“竞赛资料\任务3\开发调用资源\题3\IIS接口程序”部署服务器的IIS上。要求部署到Default Web Site(80端口下),添加应用程序方式部署(应用程序名称命名为:SeviceNew)。本题将用的接口文件是Service.ashx。
● 编写移动互联终端程序,根据上面部署IIS服务端接口程序,实时发送火情状态数据到服务器。两个JSON根据请求类模型和应答类模型序列化得到:
{”op”:”UpdateDeviceStatus”, ”monitor“: {”Fire”:false,”Smoke”: false}}(请求Json)
{”op”:”updatedevicestatus”, ”issuccess“:“true”,”context”:{}}(应答Json)
● 打开“竞赛资料\任务3\开发调用资源\题3\火焰PC端侦测程序\DeviceManagement.exe”文件,检验上面写的移动互联终端应用程序是否正确按照所要求的Json格式提交。检测方法:点击“开始检测状态”按钮,并使用打火机触发传感器,这时应用程序界面上会显示“火焰:着火了”,表示正确。
● 将开发好的程序部署到移动互联终端,应用程序名称为:“仓库火情监控”。
物联网PC应用开发
一、任务要求
按照任务说明描述的要求,利用提供的相关资源,开发.NET平台下的Windows项目,实现仓储(批发)区域环境监控、仓储(批发)区域视频监控、商品批发付款功能等业务环节。
完成的项目工程代码要求保存到“提交资料\任务四\”目录下。
二、任务环境
硬件资源:计算机、相关网络设备、1个桌面高频读写器、网络摄像机、高频RFID标签、1个温湿度传感器模块、1个光照传感器模块、1个LED屏、1个ZigBee四模拟量采集模块;
确认桌面高频读卡器已经接入工作站的USB接口。(如未按要求接入任务4相关题目将不得分!!!)
确认任务1中小票打印机驱动已经安装完毕。
确认四模拟量采集模块串口连接线接在串口服务第二个口,也就是配置好串口服务器后的COM3口。(如未按要求接入COM3口,任务4相关题目将不得分!!!)
确认LED串口连接线接在串口服务第四个口,也就是配置好串口服务器后的COM5口。(如未按要求接入COM5口,任务4相关题目将不得分!!!)
软件资源:高频读写、网络摄像机控制、ZigBee通讯协议、LED屏显示、二维码生成等动态库资料以及相关文档资料,详见竞赛资料中的“竞赛资料\任务4\开发调用资源”。
1、仓储(批发)区域环境监控
该任务仓储(批发)区域电脑对该区域环境情况实时监控,要求监控实时“温湿度、光照”并进行相关控制。基于.NET平台,新建WPF应用程序,利用“竞赛资料\任务四“提供的动态库与文档资料,完成停车场环境监控程序的开发。设计要求:
每隔1秒钟读取一次“温湿度、光照”的数据,并在界面和LED中同时显示相关数值;
实现在界面上可以设定光照控制边界值;光照高于预设光照时,界面上弹出对话框提示“光照太强,请关窗帘!”。
2、仓储(批发)区域视频监控
该任务模拟办公区域电脑对仓储(批发)区域内部人员及物品情况实时监控,要求通过网络摄像机实时采集,并存储到SQL Server 2008数据库中。基于.NET平台,新建WPF应用程序,利用“竞赛资料\任务四”提供的动态库与文档资源,完成视频监控程序的开发。设计要求:
实时显示仓储(批发)区域视频图像,并能“上”、“下”、“左,“右”。
程序功能上提供存储功能,用户可设置存储时间间隔,在一定时间间隔保存一张图片,以二进制数据流的方式存储到SQL Server 2008数据库中。举例说明:如用户设置时间间隔为10秒,则每10秒保存一张网络摄像机中的实时影像图片到数据库中。
用列表按时间降序排列显示数据库中全部的图像信息,点击其中一条可以看到这条数据库记录的图像。
根据前面业务描述,使用标准SQL语言,在人物部署的数据库中创建一张表(表名为:CameraImage),表字段根据需要自行定义。表的设计SQL脚本导出在记事本文件上,保存到“提交资料\任务四\“目录下。
使用.NET提供的数据库相关操作类(如ADO.NET、也可以使用其他.NET数据库操作技术)实现上述功能。本题有关.NET自带类说明:
Bitmaplmage类:是一个用于在WPF上显示用的图片类
MemoryStream类:是一个保存在内存中的流对象,可以用一组二进制数组转为他然后这个对象可转为Bitmaplmage
Stream类:流基础类
BinaryReader: 流读取类,可以将Stream读出来转化为二进制数组
3、商品批发、付款模块开发
该任务模拟商品批发付款模块的流程,要求办公区电脑实现充值卡发卡和充值功能,仓储(批发)区域实现取货和付款功能。基于.NET平台,新建WPF应用程序,利用“竞赛资料\任务四“提供的动态库与文档资源,完成商品批发付款程序的开发。设计要求:
⑴发卡和充值程序部分
界面描述:界面上有5个按钮(分别为打开设备、寻卡、发卡、充值、查看卡信息)。寻卡结果在一个文本框中显示。发卡需要输入姓名、余额、联系电话。充值需要输入充值金额。查看卡信息能看到姓名、余额、联系电话。
发卡(用户注册)模块:通过高频读卡器设备往高频M1卡(如表1-9所示)写入相关数据。程序中需要设置该区密钥为默认密钥,后面充值、扣款都需先验证密钥。
表1-9发卡模块
扇区 |
块 |
卡中存放的值 |
2 |
0 |
姓名(字符型,UTF8) |
2 |
1 |
卡当前余额(字符型,ASCII码) |
2 |
2 |
联系电话(字符型,ASCII码) |
充值模块:通过高频读卡器设备更新高频M1卡中相关数据。
⑵仓储(批发)区域实现取货和付款功能
界面描述:界面上有2个按钮(分别为打开设备、确认支付并打印小票)。寻卡结果在一个文本框中显示。确认支付能输入扣款金额,并打印小票能在界面上看到小票信息,并调用标准的Microsoft Windows打印对话框实现打印功能。
提供“寻卡(显示卡号)“功能,寻卡结束显示2扇区的”块0-块3“数据。显示值数据要有友好提示,比如,姓名:章三。
扣款模块:通过高频读卡器设备更新高频M1卡中相关数据。
扣款结束后,打印出购物小票,样式如图1.3所示。其中二维码的参考内容为:“订单号:XGMM157858“,订单号按此格式前四位固定为”XGMM“,后六位数字为调用随机函数生成,不足6位前面补0。