《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 设计应用 > LED灯在虚拟显示终端中动态定位与自动寻址的研究与设计
LED灯在虚拟显示终端中动态定位与自动寻址的研究与设计
2016年微型机与应用第24期
向大芳1,侯文欣1,蔡嘉敏2
1. 广东松山职业技术学院,广东 韶关,512126;2. 名游网络科技有限公司,广东 深圳 518067
摘要: 传统LED灯集群控制系统采用列表清单实现,有诸多缺陷。采用地图和地图标记结合的视图表现手法,克服现有技术的缺点与不足,研究LED灯在虚拟显示终端中动态定位与自动寻址的地图显示方法,克服现有LED灯产品控制的地域限制、功能限制以及集群控制场合下个体识别困难等问题,结合距离定位技术,提供一种通过地图对LED灯直接定位寻址的便利功能。实验结果表明,该设计使用户可以通过地图上的标识对相应的实际地理位置上的LED灯进行精确定位控制。
Abstract:
Key words :

  向大芳1,侯文欣1,蔡嘉敏2

  (1. 广东松山职业技术学院,广东 韶关,512126;2. 名游网络科技有限公司,广东 深圳 518067)

       摘要:传统LED灯集群控制系统采用列表清单实现,有诸多缺陷。采用地图和地图标记结合的视图表现手法,克服现有技术的缺点与不足,研究LED灯在虚拟显示终端中动态定位与自动寻址的地图显示方法,克服现有LED灯产品控制的地域限制、功能限制以及集群控制场合下个体识别困难等问题,结合距离定位技术,提供一种通过地图对LED灯直接定位寻址的便利功能。实验结果表明,该设计使用户可以通过地图上的标识对相应的实际地理位置上的LED灯进行精确定位控制。

  关键词:动态定位;虚拟地图;LED

  中图分类号:TP302.1文献标识码:ADOI: 10.19358/j.issn.16747720.2016.24.004

  引用格式:向大芳,侯文欣,蔡嘉敏. LED灯在虚拟显示终端中动态定位与自动寻址的研究与设计[J].微型机与应用,2016,35(24):1215,18.

0引言

  科学技术的进步以及新照明技术的出现,对城市景观及办公照明的技术性和艺术性要求越来越高。特别是国家提出“绿色照明工程”之后,新型的照明光源LED(发光二极管)发光产品以节能、寿命长、应用广泛、控制灵活、色彩绚丽、绿色环保等特点在照明和装饰领域逐渐受到大家关注[13]。长期以来,LED灯的控制一直采用物理开关的形式,在距离和操作上缺乏灵活性。近期新兴的云控、智能家居的概念采用互联网通信技术,在家电上安装WiFi模块,在其之间构建网络,有利于通过监测来检查故障,使得远程控制成为可能,但是该类应用普遍把每一种类的家电单独看作一个独立的个体,以识别名来区分不同家电,大多应用于小型场所。当该类应用面向整个建筑物的LED灯集群控制的时候,难以区分个体,管理不便。

1发展现状

  物联网是新一代信息技术的重要组成部分,也是“信息化”时代的重要发展阶段[45]。随着物联网概念的普及,消费者对生活环境的体验指数要求不断提高,智能家居这类新兴行业备受关注。随着现今软件技术和硬件技术的成熟,使之从概念逐渐走向现实。智能家居带给消费者一种更优质的设备交互体验,但从目前上市的智能家居产业来看,该类产品面向的消费对象都集中于小型家庭、个体用户等,所管理的家居产品数量少,无法应对企业应用规模级别的应用环境,而解决该问题的技术难点在于在大规模的智能家居产品应用场合下,消费者如何对每个个体的云控产品作出识别和单一控制[68]。以一个小型家庭为例,消费者A购买了两款智能家居产品,那么消费者A会分别为这两款智能家居产品命名来区分它们,当消费者A所使用产品扩展到一定规模的时候,消费者A需要面对的任务是为这如此大规模的设备作出识别标记,这是挑战消费者记忆力和耐性的问题。

2动态定位与自动寻址的设计思路

  为克服现有LED灯产品控制的地域限制、功能限制以及集群控制场合下个体识别困难等问题,实现LED灯在显示终端(如显示器、移动设备等)上的虚拟地图中的显示,涉及的关键问题是如何解决LED灯的动态定位以及自动寻址。

  研究方案以虚拟仿真方式提供可视化的LED集群远程控制系统。在该方案中,首先对LED灯所在的房间进行虚拟化得到房间平面布局图,在此基础上对房间平面布局图进行网格划分,然后建立房间建筑轮廓图的坐标参考系并换算量化每个LED灯坐标位置,最后在给定的坐标上绘制LED灯。结合距离定位技术,通过虚拟地图对LED灯直接定位寻址,使用户可以通过地图上的标识对相应的实际地理位置上的LED灯进行精确定位控制。

3虚拟楼层房间平面布局

  采集每一层楼的实际平面尺寸数据,由于是二维虚拟地图,因此不需要采集高度。根据采集的数据绘制等比例的楼层房间平面布局图,楼层房间平面布局图以独立文件的形式存储在数据库中的子库(楼层房间平面布局图片库)中,文件名与楼层编号一一对应,包含room_a、room_b、room_c三个不同规格房间的等比例楼层房间平面布局图,如图1所示。

  

001.jpg

4网格划分楼层房间平面布局图

  在楼层房间布局图上划分网格,每个房间看作由多个网格拼接而成,如图2所示。划分的网格越多,拼接出来的房间区域就越能模拟一些不规则的房间轮廓,根据房间轮廓来划分网格的区域所属,存储各个房间区域内的所有网格数据,用以区分不同的房间。 

002.jpg

  实际上,任何不规则的房间轮廓都可以通过分配网格来描述,一个三角形的房间可以看作是以高度依次递减的长方形组成,而长方形则由多个网格组成。网格划分得精细度越高,则描述出来的三角形轮廓的房间边缘越平滑,误差越少,但同时用于存储这些信息的网络数据量也会越大。如图3所示,图中左边的图形对应的网格密度低,图中右边的图像对应的网格密度高,左右对比可以得出,网格密度高的房间边缘比网格密度低的房间边缘更平滑,同时误差也会更小。

003.jpg

5换算LED灯的坐标

  采集LED灯的物理数据包括状态、类型以及坐标位置信息,其中状态包括打开、关闭和故障等,类型包括落地灯和条形灯等,坐标位置信息可以是(x轴,y轴)的形式,也可以是(曲径,弧度)的形式。将采集到的LED灯的物理状态数据存入数据库中。

  在楼层房间平面布局图上建立楼层房间平面布局图的坐标参考系,从数据库中获取LED灯信息,以距离定位的方式记录每个LED灯相对于楼层房间平面布局图参照点的坐标位置,并将这些数据存储于数据库中。这些坐标位置信息将被用于在楼层房间平面布局图上动态绘制LED灯。

6绘制LED灯

  绘制LED灯时,在房间地图的z轴(垂直延伸到显示区的轴)上绘制一个虚拟绘图区,之后以单个LED灯为单位,根据LED的类型选择不同的填充图案,生成浮动层。根据从数据库获取的LED灯坐标等信息,通过LED灯信息资源的相对位置信息与页面房间地图实际显示大小换算出该浮动层相对于页面房间地图的位置。设置浮动层的偏移距离,并把浮动层添加到虚拟绘图区内。

  假设房间平面图显示区域是600×400(像素),通过服务器从数据库中获取到的LED灯信息如图4所示。

  

004.jpg

  LED_A 类型:落地灯,坐标信息:x=229, y=149

  LED_B 类型:条形灯,坐标信息:x=341, y=237

  绘制虚拟绘图区的方式是建立一个与房间平面图等大的div(图层),记为paint_div, position(位置)设置为relative(相对),使该虚拟绘图层div与房间平面图重叠,zindex(zindex 属性设置元素的堆叠顺序)在房间平面图之上。

  图6LED灯集群控制系统流程图接下来就可以把生成的LED灯的浮动层添加到虚拟绘图区了。以LED_A为例,创建一个代表LED_A灯的浮动层div,position设置为absolute(绝对),添加到上述虚拟绘图区paint_div内,则该LED_A灯浮动层div的位置将会相对于虚拟绘图区paint_div, 把left(浮动层左边缘到虚拟绘图区左边缘的距离)和top(浮动层上边缘到虚拟绘图区上边缘的距离)分别设置为LED灯坐标信息里的x和y, background(背景)设置为LED灯类型相应的图标,由此把LED灯的位置反馈在房间平面图上,如图5所示。

 

005.jpg

  如果实际需要显示的区间大小为300×200(像素)(缩放50%),则先把房间平面图根据显示区间缩放显示,并建立一个与该显示区间等大的虚拟绘图层使其重叠与房间平面图的上方,然后将LED灯信息进行等比例换算后绘制到虚拟绘图层上。以LED_A为例,创建一个固定大小的LED灯浮动层像素区域(如默认值为40×40,则缩放后为20×20),把该像素区域添加到虚拟绘图层上,根据x=229,y=149,设置像素区域以左上角为原点,偏移量算法为实际偏移量-该轴实际绘图长度/2,则向下偏移为(149-20/2)=139像素,向右偏移量为(229-20/2)=219像素。

7LED灯集群控制系统的设计

006.jpg

  LED灯集群控制系统的流程如图6所示。系统采用MVC模式设计,系统先期采集并存储楼层房间平面布局图和LED灯信息。

  用户首先查看房间布局,从系统数据库中获取楼层房间平面布局图,然后系统建立与上述楼层房间平面布局图大小相等的网格图,在该网格图中存储各个房间区域内的不规则房间轮廓所对应的网格数据,用以描述同一楼层的各个房间区域。在房间的建筑轮廓图上建立房间建筑轮廓图的坐标参考系,根据从数据库中获取的LED灯信息以距离定位的方式换算每个LED灯相对于房间建筑轮廓图参照点的坐标,完成坐标换算后将这些数据持久化到系统数据库中。在虚拟地图的绘制阶段,系统加载房间的建筑轮廓图,并在其上绘制一个虚拟绘图区,根据不同LED类型对应的不同的填充图案生成浮动层;而后从数据库获取LED灯的坐标位置,根据LED灯信息资源的相对位置信息与页面房间地图实际显示大小换算出该浮动层相对于页面房间地图的位置;最后根据缩放比例设置浮动层的偏移距离,并把浮动层添加到虚拟绘图区域内。系统绘制LED过程中的时序如图7所示。

007.jpg

  绘制完成后,系统在楼层房间平面布局图上监听点击事件的功能,当鼠标点击楼层房间平面布局图时,捕获鼠标事件发生处相对于楼层房间平面布局图的相对位置,分析点击处所属网格的属主以确认该点击操作所点击的区域,同时在该区域上增加各种房间操作事件以及LED灯位置移动功能,用户可以通过鼠标点击单个LED灯或用鼠标框选多个LED灯来对选中的LED灯进行移动,系统会自动计算位置移动后的LED灯坐标位置信息并更新数据库。

8结论

  采用地图标记定位到云控产品的方式克服了现有LED灯产品控制的地域限制、功能限制及集群控制场合下个体识别困难等问题,结合距离定位技术,使用户可以通过地图上的标识对相应的实际地理位置上的LED灯进行精确定位控制。该方式抛弃了传统的列表清单,采用地图和地图标记结合的视图表现手法,较原始的列表清单更适用于大规模图7LED绘制过程时序图

  数据的描述,避免大数据下的列表分页切换,优化用户体验。通过预先储存的地图资源和云控产品的地理描述数据,能够准确地在地图资源上绘制出各个云控产品的位置。在这种地图呈现的方式下,地图上的标记可以更直观地反馈出其与现实中物理个体的对照联系,用户无需再为个体识别和维护投入更多的工作量,所有地图上的云控产品标记均由系统自动生成、维护。只需要在初次使用的时候初始化地图资源,在地图上调整位置数据,储存到数据库中,系统根据该地理数据信息在地理资源上描绘出地图标记,用户只需要根据地图上的标记就能够快速方便地寻址到需要控制的目标单元。同时采用地图和地图标记结合的视图表现手法,可以提高故障反馈效率,当产品发生故障时能够从地图定位到故障产品所在的位置。该方式为实现LED灯产品的无线集群控制提供有益帮助,便于实现对LED灯工作状态的监控和高效的管理功能,具有很好的工业应用前景。

  参考文献

  [1] 钟秋波.基于NIOS软核的LED景观灯控制系统设计[D].哈尔滨:哈尔滨理工大学,2006.

  [2] 周晓波,郭顺生.基于OpenGL的灯光仿真系统[J].计算机仿真,2004,21(1):9395.


此内容为AET网站原创,未经授权禁止转载。