数字化小区信息发布系统设计与实现
扫描二维码
随时随地手机看文章
1 引言
随着计算机技术、现代通信技术和自动控制技术的迅速发展,中国大步跨入了信息化社会,信息化社会在改变我们生活方式与工作习惯的同时,也向传统的住宅模式提出了挑战,对居住环境也就有了更高的要求,要求住宅更加智能化、数字化,更加人性化[1]。在这种情况下,小区物业信息发布系统成为数字化小区的必要配置,可视对讲户内机作为小区信息发布系统的终端设备的更新换代也势在必行[2]。
当前智能小区的信息发布系统,用的较多的是电子广告牌的形式,即在小区的重要路段和出入口处放置电子公告牌,将物业管理中心的通知在电子公告牌上显示出来,当业主路过时就可以看到通知了。大屏幕电子公告牌需要中心计算机来进行控制,采用的是专用软件,布线一般也是独立的。这种形式有一些缺点:首先,信息在公告牌上要经过较长时间才能为所有业主所周知,这就造成了信息发布的信息量不可能很大;其次,电子公告牌的功耗较大,对资源造成浪费。因而研究并开发更为先进的小区信息发布系统势在必行,本课题正是基于这种需要而提出的。
2 系统分析
数字化小区信息发布系统主要包括四个部分,分别是上位机、管理机、门口机和室内机。其中管理机和上位机放置于小区管理室中,小区管理人员在管理室操作上位机,把所要发布的信息输入到PC机内,上位机把发布信息通过串口发往管理机,再由管理机发送到门口机,然后由门口机转发到室内机,最后在用户机上显示。就系统的主要功能信息发布而言,上位机是物业管理员进行信息发布操作的平台;管理机和门口机是信息的转发站;室内机是信息的接收器,它收到信息后存储并显示,供用户查阅。
2.1 系统网络设计
当前大多数新建小区都安装了楼宇可视对讲系统,通信总线一般采用RS-485或CAN总线等,并将楼宇可视对讲、家庭安防、门禁以及周界等系统融入信息发布系统之内,以期达到节约布线投资、实现系统高度集成的目的[3]。
RS-485总线的通信可靠性不够高、通信速率偏低、容量也不够大、故障率高,无法满足信息发布系统大信息量、高可靠性通信的要求,在进行初步系统设计时已经被我们排除在外了[4]。
CAN总线通信速率高、通信距离远、可靠性高,可以满足信息发布系统的通信要求。
CAN总线上的节点数可达110个,可以把管理机和所有的单元门口机通过一条CAN总线连接在一起,把每个单元内的所有用户机和门口机通过CAN总线连接在一起,则系统最大容量(用户机数)为10000多户,对于一般的智能小区应用来说,这个容量是足够的。管理机与上位机同处于小区管理室内,它们之间的距离较近,采用RS-232方式就可以满足通信要求[5]。
2.2 系统的硬件设计
2.2.1系统总体硬件设计
系统是由小区信息发布系统、家庭安防系统、楼宇可视对讲系统、门禁管理系统、周界防范系统等几个子系统。整个系统的框图如图1所示。
500)this.style.width=500;" border="0" />
从图中可以看出,整个系统由上位机、管理机、门口机、室内机、周界控制器、门禁控制器以及门禁加卡器等几个部分组成。其中上位机、管理机以及门禁加卡器处于小区管理室内,周界控制器安装在小区的周边,门口机安装在每个单元的门口,用户机放在用户室内,而门禁控制器则外挂在门口机上。系统外总线把管理机、周界控制器、门禁加卡器、门口机连接在一起;系统内总线处于一个单元内部,它把该单元门口机和所有的用户机连接起来。
系统内、外总线均由五条线组成,分别是电源线R、地线B、通话线G、通信线CANH和通信线CANL。视频信号须另外布线,例如室内机需要可视功能,则系统内总线再加三条线(视频电源、视频地和视频线),对于外总线也是一样的做法。
2.2.2 用户机硬件设计
在用户机中,需要着重提到的是液晶显示模块,它是数字化区信息发布系统的信息显示载体。液晶模块与CPU三线连接,采用串行方式通信,节约了CPU的资源。信息存储在串行EEPROM中,当用户按下按键查看信息时,CPU从存储器中读取信息,并在液晶模块上显示。
存储器中除了存储信息发布的信息外,还有一些固定的参数,比如:层号、房间号、撤布防的密码、振铃时间、主码等,这些参数均可以通过键盘进行软设定。采用软件设置的办法,避免了采用跳线或拨码开关进行参数设置的传统做法。用户机框图如图2所示。
500)this.style.width=500;" border="0" />
键盘完成的功能主要有:呼叫、开锁、设定参数、信息翻屏、撤布防等。报警输入模块接收来自传感器的信号。CPU接收到报警信号后通过CAN总线上传,最终到达上位机。用户机的其它功能模块比较简单,限于篇幅,这里就不再做过多叙述了。
2.3 智能小区管理软件的实现
2.3.1 打开串口
使用函数CreateFile()打开串口。其声明如下:
HANDLE CreateFile(
LPCTSTR lpFileName, //指向文件或串口的指针
DWORD dwDesiredAccess, //读写模式
DWORD dwShareMode, //共享方式
LPSECURITY_ATTRIBUTES lpSecurityAttributes,//安全属性
DWORD dwCreationDistribution,//创建方式
DWORD dwFlagsAndAttributes, //文件属性
HANDLE hTemplateFile); // 用于拷贝文件属性的句柄
2.3.2 关闭串口
关闭串口比打开串口要简单得多,只需要调用CloseHandle()函数关闭由CreateHandle()函数返回的句柄即可。CloseHandle函数的声明如下:
BOOL CloseHandle(
HANDLE hObject;) //指向串口的句柄
2.3.3 异步操作
异步(重叠)I/O操作是指应用程序可以在后台读或者写数据,而在前台做其他事件。首先介绍一个结构OVERLAPPED,这个结构对于执行串口的异步操作来说是必需的。其定义如下:
typedef struct _OVERLAPPED{
DWORD Internal;
DWORD InternalHigh;
DWORD Offset;
DWORD OffsetHigh;
HANDLE hEvent;
} OVERLAPPED;
在这个结构中,前两个参数为操作系统所保留。接下来的两个参数在对串口操作时是无效的。对于串行口而言仅hEvent成员有效,其余成员必须为0。在设置了异步I/O操作后,I/O操作和函数返回有以下两种情况:当函数返回时I/O操作已经完成,此时结果好像是同步执行的,但实际上这是异步执行的结果。当函数返回时I/O操作还没有完成,此时一方面,函数返回值为零,并且GetLastError()函数返回ERROR_IO_PENDING;另一方面,系统将OVERLAPPED中的信号事件设为无信号状态。I/O操作完成时,系统要把它设置为有信号状态。异步I/O操作的结果可以由GetOverLappedResult()函数来获取,也可以使用Windows的信号函数来处理。
3 结束语
通过对系统进行详细分析和功能设计,采用 CAN总线和C++ 技术,缩短了系统的开发周期,提高了开发者的效率,实现了功能强大而又比较灵活的小区信息发布系统。本系统经过测试,包括软件仿真和系统联机调试,结果证明这种信息发布的方案是可行的。相信随着数字化社区的不断发展,其应用前景也将越来越广泛。
4 创新点总结
本文的创新点在于提出了一种新的小区信息发布的方案。CAN总线通信速率高、通信距离远、可靠性高,可以满足信息发布系统的通信要求。将CAN总线技术应用于信息发布,改变了以往电子公告牌静态的发布模式,具有高度的灵活性和广泛的实适用性。