您的位置 首页 系统

根据树莓派的电梯彩屏显现体系规划

近年来,随着高层建筑数量的与日俱增,电梯的需求量也在增加。现阶段我们广泛使用的电梯都是基于LED点阵列的显示系统,显示状态信息比较简单,显示方式比较单调。此外,现在的一些电梯里的广告机,虽然改善了电梯

近年来,跟着高层建筑数量的日积月累,电梯的需求量也在添加。现阶段咱们广泛运用的电梯都是依据LED点阵列的显现体系,显现状况信息比较简单,显现办法比较单调。此外,现在的一些电梯里的广告机,尽管改善了电梯轿内的乘坐环境,杰出的广告作用也给商家带来了不小的经济效益。可是这种显现装置没有和电梯操控体系融为一体,仅仅单纯的视频播映罢了。

为了使显现和电梯操控体系相交融,打造舒适的乘坐环境,针对现有的电梯体系提出一种由单片机完结不同厂商适配、由ARM/X86一致显现的双核处理办法。该办法中ARM/X86处理器专心于一致通用格局电梯状况信息解码、楼层图片切换或视频播映,然后进步整个体系的实时性与可靠性。针对不同厂商的电梯通讯协议,只需求更改单片机的编解码程序便可使整个体系从头作业。

Raspberry Pi(中文名为“树莓派”)是一款由英国的树莓派基金会所开发,以贱价硬件及自由软件为学生计算机编程教育而规划的卡片式电脑。其装备一枚700 MHz博通出产的ARM架构BCM2835处理器,256 MB内存(B型已晋级到512 MB内存)的微型电脑主板。Raspberry Pi以SD卡为内存硬盘,主板周围有两个USB接口和一个网口,可衔接键盘、鼠标和网线,一起具有视频模仿信号的电视输出接口和HDMI高清视频输出接口。以上部件悉数整合在一张仅比信用卡稍大的主板上,具有一切PC的根本功用。其操作体系选用开源的Linux体系,比方Debian、Arch Linux,自带的Iceweasel、KOffice等软件能够满意根本的网络阅读、文字处理以及计算机学习的需求。

Qt是一个1991年由奇趣科技开发的跨渠道C++图形用户界面运用程序开发结构。Qt具有优秀的跨渠道特性,Qt支撑下列操作体系:Microsoft Windows 95/98、Microsoft Windows NT、Linux、Solaris、SunOS、HP-UX、Digital UNIX(OSF/1、Tru64)、FreeBSD、BSD/OS,SCO、AIX、OS390、QNX等等。

1 体系全体规划

1.1 体系结构

本体系的硬件部分首要由接口转接板和显现板组成,体系框图如图1所示。

图1 体系框图

图1 体系框图

1.2 子体系功用介绍

1.2.1 接口转接板

接纳RS-485/CAN总线上的电梯通讯协议,并完结协议的解析;承载温度传感设备和挂在I2C总线上的时钟电路,供显现板读取温度和时刻信息,完结用户按键的检测与编码。

1.2.2 显现板

接纳接口转接板译码后的电梯数据;读取温度和时刻信息;完结界面运用程序。

2 接口转接板子体系规划

接口转接板子体系硬件首要包含ATmega8单片机、DS18B20温度传感器、PCF8563时钟芯片、MAX485芯片等。其接口转接板框图如图2所示。

图2 接口转接板框图

图2 接口转接板框图

电梯的通讯协议有多种,本文以NICE3000通讯协议为例完结本体系。

2.1 NICE3000通讯协议的通讯设定

通讯办法:RS-485规范、异步、半双工。

数据格局:1位开始位、8位数据位、1位中止位、无校验位。

通讯波特率:9600 bps。

通讯地址界说:播送地址为0,外接节点地址为1~31(外招板拨码开关确认),地址一起也表明外招地点楼层;显现板仅仅接纳显现,地址设定为0(拨码),无需通讯回复。

数据校验:选用两位异或校验。

数据帧分类:共有两种方法,其间播送帧用于外招显现内容的信息,不需求回来帧,别的还有一种是一般帧,首要完结主操控板与外招之间的操控信息交流。

2.2 帧格局

数据帧选用固定长度,5个字节,结构为帧头、用户数据、帧尾。

帧头:包含1个字节地址,即主操控板发送给外招的标识,从机(外招)依据帧头判别本机是否呼应当时通讯。假如地址是播送地址,则从机接纳信息,可是不必回来。

用户数据包含:数据2个字节,依据发送方向(主到从或是从到主)以及帧方法界说不同的用户数据。

帧尾:包含2个字节校验数据,先发低位,后发高位。

电梯体系接纳到的数据帧不能直接显现,需求依据数据帧格局,对数据进行校验,然后解析,最终提取有用的数据给显现体系进行显现。本体系的操作如下:

依据Raspberry Pi的电梯彩屏显现体系规划

3 显现板子体系规划

关于彩屏电梯显现体系而言,液晶屏的显现作用对客户的影响是至关重要的。因而,运用层的程序开发适当重要。考虑到图形界面控件的丰厚程度、美丽程度以及开源免费的继续晋级等要素,挑选了QTE/Qt5图形开发渠道。显现板子体系的架构如图3所示。

图3 子体系的架构图

图3 子体系的架构图

3.1 Qt的移植

3.1.1 Qt的移植条件

Qt for Embedded Linux是用于嵌入式Linux所支撑设备的抢先运用程序架构。Qt能够在任何支撑Linux的渠道上运转,创立具有共同用户体会的具有高效内存功率的设备和运用程序。Qt的移植需求满意以下几个根本条件:

①开发环境:Linux内核2.4或更高;GCC版别3.3或更高;用于MIPS,其GCC版别3.4或更高。

②占用存储空间:存储空间取决于装备,紧缩后为1.7~4.1 MB;未紧缩为3.6—9.0MB。

③硬件渠道:易于载入任何支撑带C++编译器和帧缓冲器驱动Linux驱动的处理器;支撑ARM、x86、MIPS、PowerPC。

④Raspberry Pi(B型)满意以上条件,故能够进行Qt5的移植。

3.1.2 Qt5的移植预备

在做Qt5移植之前首要做以下移植预备:

①树立一个文件夹/home/opt来寄存编译所需的源码和文件。

②下载Raspbian Wheezy镜像,本文选用2012-07-15-wheezy-raspbian.img。

③下载东西链,本文选用gcc-4.7-linaro-rpi-gnueabihf。

④下载穿插编译东西,本文选用cross-compile-tools。

⑤下载Qt5源码。

⑥下载qtjsbackend库的运用补丁。

然后树立文件夹mnt/rasp-pi-rootfs,将Raspbian Wheezy镜像挂载到此文件夹下,并进入Qt5源码文件夹履行初始化代码init-repository。

3.1.3 Qt5的编译

首要进入cross-compile-tools文件夹履行一个脚本fixQualifiedLibraryPaths来修正链接和库途径。

然后编译qtbase,装备如下:

依据Raspberry Pi的电梯彩屏显现体系规划

接着再编译其他模块如qtimageformats、qtsvg、qtjsbackend、qtseript、qtxmlpatterns、qtdeelarative、qtsensors、qt3d、qtgraphica1effects、qtjsondb、qtlocation、qtdocgallery等。

当在镜像中编译装置完一切的模块之后,将其复制到SDcard。

3.1.4 装置Qt Creator

从网站http://qt-project.org/wiki/Crcate#QtonPi_App_SDK上下载Qt Crcator装置包,并在Linux体系下对其进行装置装备。因为Qt5需求Qtcreator2.6.0以上的版别作为支撑,本文选用2.6.1版别。

3.2 外围部件读取程序

本体系经过读取挂在I2C总线上的实时时钟芯片来获取时刻信息,经过温度传感设备获取温度信息。本文以读取实时时钟芯片的数据为例,操作如下:

依据Raspberry Pi的电梯彩屏显现体系规划

这些设备的操作经过C代码来完结,然后将其编译成动态链接库的方法,供界面运用程序调用。

3.3 界面运用程序的完结

图形界面开发是Qt/Embedded开发的一个要点,本体系的界面结构包含楼层信息区域、运转方向区域、图片显现区域、温度时刻显现区域、状况显现区域、本体系涉及到视图的跳转、数据的传递、控件的运用、布局和事情处理等等。其程序流程如图4所示。

图4 程序流程图

图4 程序流程图

整个显现界面经过MainWindow类完结,该类承继自QmainWindow,而各显现区域均经过承继QWidget类来完结。如图3所示,经过定时器1每隔30 ms调用Main-Window的槽函数checkLiftStstus()来获取由C函数open_uart485(int data[])解析的串口数据。

connect(timer,SIGNAL(timeout()),this,SLOT(checkLiftStatus()));//获取电梯信息

将解析后的信息传递给楼层信息区域,运转方向区域,状况显现区域别离进行显现。

indicatorDirection(data[0]); //方向信息

indicatorState(data[1]); //状况信息

liftCurrentFloorNum(data[2]);//楼层信息

图片视频显现区域是在类ShowController中完结的,当体系需求显现图片时,该类调用ImageView类的目标担任图片显现;当体系需求显现视频时,该类调用PlayerWidget类的目标担任处理视频播映。ImageView类和PlayerWidget类也是承继自Qwidget。ImageView类担任获取SD卡上的图片实例,将其显现在正确的方位,并经过定时器2完结图片的切换。PlayerWidget类担任发动MPlayer,并操控视频显现到正确的方位。

温度时刻显现区域是在TimeView类和temperatureView类中完结。TimeView类的成员函数getCurrentTime()经过调用动态链接库的C函数getpcf8563Time(pcf8563_time*pTime)来读取挂在I2C总线上的时钟芯片的时钟信息,并将其显现在正确的区域上。

temperatureView类首要用于显现温度数据,而真实获取温度数据的进程是在TemperatureHandler类中完结的。拓荒一个新的线程,经过定时器3每隔500 ms在槽函数readData()中调用一次动态链接库的C函数therm_dsl8b20(long*date)来读取温度传感器的数据。

temperatureThread=new QThread(this); //拓荒新线程

connect(temptimer,SIGNAL(timeout()),this,SLOT(readData())); //读取温度

4 体系调试成果

依据模仿的NICE3000通讯协议、外围部件的操作及Qt5的图形界面编程,完结了电梯彩屏显现体系,其硬件设备图和调试成果图如图5、图6所示。

图5 硬件设备图

图5 硬件设备图

图6 调试成果

图6 调试成果

结语

本文对依据Raspberry Pi并使用Qt5编程来完结的电梯彩屏显现体系进行了论述。首要介绍了整个体系的构架;接着在接口转接板子体系中介绍了N%&&&&&%E3000通讯协议,并对其进行解析;然后在显现板子体系中介绍了外围部件的操作,以读取实时时钟芯片的数据为例;最终依据解析、读取的数据使用Qt5编程完结了电梯彩屏显现体系。本文对传统的LED点阵列电梯显现体系供给了有用的改善办法,改变了其单调的显现办法,本钱低价,更具商业价值。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qianrushi/xitong/284575.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部