最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

基于嵌入式的智能家居系统设计与实现

IT圈 admin 36浏览 0评论

2024年1月10日发(作者:扈丽珠)

摘 要

基于嵌入式的智能家居系统设计与实现

随着科技的不断进步,物联网技术得到了突飞猛进的发展。智能家居是物联网技术的典型应用领域之一。智能家居系统将独立家用电器、安防设备连接成一个具有思想的整体,实现家居设备的智能管理和远程监控。

本课题的嵌入式平台采用WinCE操作系统,硬件设备采用ARM10架构的Intel

XScale270核心处理器的实验箱作为技术支撑。系统设计与实现使用Keil、VS2005和Delphi三种集成开发工具实现代码的编写与调试。软件部分主要涵盖硬件网关设备的WinCE操作系统相关功能设计、嵌入式设备平台服务端软件设计、计算机客户端应用软件的设计及家电控制端底层的设计。

智能家居系统与用户数据交互采用GSM系统,通过短信的方式实现。家居设备之间的数据通信采用TCP/IP网络协议,建立三次握手机制,保证数据传输稳定可靠。系统对WinCE系统内核进行裁剪定制,提高数据的处理能力。在网关内设计开发用于WinCE系统的控制中心,即嵌入式服务端,实现硬件设备与软件系统数据握手通信。计算机客户端的应用软件设计,即视频采集查阅软件,是基于Delphi可视化界面开发语言编写进行设计。客户端应用软件用于异地及时通过视频画面掌握家居状态环境。

本课题基于嵌入式的智能家居系统的设计与实现,使用嵌入式平台作为核心控制器能够提高整个系统的稳定性,数据传输采用TCP/IP协议能够很好解决目前一些系统中存在的数据传输不稳定问题。基于嵌入式的方式能够降低智能家居系统的成本,大大降低市场中由于智能家居价格较高无法普及现象,使智能家居能够走入普通百姓家中。

关键字:

智能家居系统,物联网,嵌入式技术,WinCE系统,Delphi

I

Abstract

Design and Implementation of Smart Home System Based on

Embedded System

With the constant progress of science and technology, Internet of things (IOT)

technology develops by leaps and bounds. Smart home is one of the typical

applications of IOT. Smart home system links home appliances and security

equipment as a whole with the soul, implementing intelligent management and remote

monitoring of the household equipment.

In this project, the embedded platform adopts the WinCE operating system, and the

hardware device uses an experiment box with Intel XScale270 core processor based

on ARM10 architecture as the technical support. System design and implementation

uses Keil, VS2005, and Delphi integrated development tools to edit and debug the

codes. Software mainly covers the WinCE operating system function design of the

hardware gateway device, platform server client software design of the embedded

devices, the computer client application software design and the household appliance

control bottom program design.

Interaction of smart home system with the user uses GSM system with short

message service. Data communications between household equipment adopts TCP/IP

network protocol, setting up a three-way handshake mechanism, to ensure stable and

reliable data transmission. The system truncates and customizes the WinCE system

core to improve data processing ability. In the gateway, the control center for the

WinCE system, namely embedded server, can be developed to realize the data

communication between the hardware and software system. Computer client

application software design, namely the video acquisition carried out based on Delphi

visualization interface development language. The client application software is used

in mastering the household environment timely by video images in the remote places.

The design and implementation of intelligent Home Furnishing system based on

embedded system, using the embedded platform as the core controller can improve

II

the stability of the whole system, data transmission using TCP/IP protocol can solve

data transmission system exists the unstable problem. Embedded system can reduce

the cost of smart home system, greatly reducing the market because of the high price

of smart home can’t be universal phenomenon, so that smart home can go into the

homes of ordinary people.

Keywords:

smart home system, IOT, embedded technology, WinCE system, Delphi

III

目录

第1章 绪论 .................................................. 1

1.1 研究背景及意义 ......................................... 1

1.2 智能家居研究现状与发展 ................................. 3

1.2.1 智能家居国内外发展现状 .............................. 3

1.2.2 智能家居发展趋势 .................................... 4

1.3 本课题研究内容 ......................................... 5

1.4 论文结构 ............................................... 6

第2章 系统设计方案 .......................................... 8

2.1硬件总体设计框图 ........................................ 8

2.2控制核心选择 ........................................... 10

2.3家电控制板 ............................................. 11

2.3.1串行端口电路 ......................................... 12

2.3.2家电控制电路 ....................................... 14

2.3.3传感器接口电路 ..................................... 15

2.4 GSM通信模块 .......................................... 15

2.5视频监控模块 ........................................... 16

2.6总体软件设计方案 ....................................... 17

2.7本章小结 ............................................... 18

第3章 操作系统的定制 ....................................... 19

3.1 BSP的安装 ............................................. 19

3.2添加平台特征和配置平台 ................................. 20

3.3串口部分设置与调试 ..................................... 22

3.4操作系统的生成与下载 ................................... 24

3.5本章小结 ............................................... 24

第4章 应用软件设计 ......................................... 26

4.1应用程序编写环境 ....................................... 26

4.2智能家居人机接口设计 ................................... 26

4.3串口通信功能设计 ....................................... 30

4.3.1串口通信协议 ....................................... 30

4.3.2软件的实现 ......................................... 31

4.3.2.1打开串口与配置串口 .............................. 32

4.3.2.2关闭串口 ........................................ 35

4.3.2.3串口读线程 ...................................... 36

4.3.2.4串口实现数据的写入 .............................. 37

4.3.2.5串口类的调用 .................................... 38

4.3.2.6串口的监听 ...................................... 38

4.4 GSM无线数据传输模块 .................................. 39

4.4.1 GSM无线数据传输的基础 ............................ 39

4.4.1.1 PDU编码规则 ................................... 39

4.4.1.2 AT指令 ......................................... 41

4.4.2 软件的实现 ......................................... 42

4.4.2.1 PDU编码解码 ................................... 42

4.4.2.2 CEncode类成员函数详解 .......................... 44

4.4.2.3 收发短信 ....................................... 53

4.5 图像采集模块 .......................................... 55

4.5.1 摄像头驱动程序 ..................................... 55

4.5.2 视频捕捉和视频信息传送 ............................. 56

4.6 以太网通信模块 ........................................ 57

4.6.1 TCP/IP协议 ......................................... 57

4.6.2 软件实现 ........................................... 58

4.7 客户端视频监控软件 .................................... 61

4.8 家电控制及传感器模块 .................................. 63

4.8.1 单片机串口使用及参数设置 ........................... 63

4.8.2 串口通信的自定义约定 ............................... 64

4.8.3 单片机程序流程 ..................................... 65

4.8.4 ARM端控制和报警流程 .............................. 68

4.9本章小结 ............................................... 68

第5章 系统测试 ............................................. 70

5.1测试环境 ............................................... 70

5.2 测试步骤 .............................................. 70

5.3本章小结 ............................................... 75

第6章 总结与展望 ........................................... 77

6.1本文的总结 ............................................. 77

6.2 对本课题前景的展望 .................................... 78

参考文献 .................................................... 79

作者简介及在学期间所取得的科研成果 .......................... 82

致谢 ........................................................ 83

第1章 绪论

1.1 研究背景及意义

我国伴随经济化建设的步伐持续加快与深入,中国百姓生活逐渐面向全面小康化方向前进,使得寻常百姓生活质量也随之提升一个层次。家庭居住环境的智能化是人们生活质量高需求的表现之一,需要通过智能化的科技手段实现家居中电器设备的自动运转工作,无需人为在进行一些列的操作,如实现窗帘的自动控制、照明设备的自动控制、电视空调等设备的自能控制[1]。同时通过智能化的家居系统能够实现家居安防设备的智能化工作,减少不必要的经济损失等,如通过传感器检测煤气、烟雾、门窗、室内是否有他人进去等安全监护,避免出行时忘记关闭门窗、忘记关闭煤气、忘记关闭水龙头等,减少家庭财务丢失、火灾发生、房屋被水淹等不必要的事件发生,而且能够检测家中是否有不法份子入室盗窃等[2]。家里无人时能够通过远程方式查看家庭内部的设备状况、门窗、水电煤气等是每一位公民的迫切需求,能够在互联网实现对家庭内的一些设备进行远程控制,解决由于出行不在家需要现场解决的一些问题成为人们需求之一,通过远程系统能够对家庭内的环境进行预先设置如对热水器预先加热、空调预先调节温度等等,这些需求通过智能家居系统都能够使人们梦想成真,成为生活中的好帮手,成为一种现实,提高人们的生活质量和生活标准[3]。

在进入网络时代以后,科技手段不断更新的大环境驱使下,大数据时代的到来以及远程信息共享的模式下,使得大家无论何时何地都能够掌握世界的最新动态和数据共享。依靠科技服务百姓成为当今全国乃至全世界的市场引导方向,因此科学研究机构将智能化的概念纳入社区管理,并进一步进入家庭,使之形成了智能家居的概念。在智能家居系统设计过程中使用现在市场上比较成熟及稳定的手机通讯和计算机以太网TCP/IP通信手段,这样能够为外出业主对于家中实时状况进行了解及控制,降低业主外出时对于家庭的担忧,业主并且能够使用手机通过短信或者其他形式实时的对家中的电器设备进行监控,大大提升业主家居环境的舒适程度、营造良好的生活氛围[4]。对于智能家居系统人们主要关心的是安全性、方便性、集成度、网络覆盖范畴等,将新建小区融合智能家居系统后,是1

未来房地产发展的必然趋势。我国现在北上广等一些一线城市作为重要试点,将智能家居系统引入了人们的生活中。家居的智能化会为人们的生活带来诸多的便利,能够在一定程度上改变人们的生活及工作的方式,对于家庭装修行业也会产生一定的影响,为房子在装修时提供全新智能化的理念,使其更具有安全性和舒适度,无论是上班族还是非上班族都能够改变生活节奏。将整个家居附带行业都推向了高大上的高科技方向趋势发展。但是我国国内的智能家居无论是在研究还是在市场投入方面都处在一个起步的阶段,不能够普遍走向每一个家庭中,因为其技术手段缺乏统一性、产品的价格没有达到大众承受程度、产品功能特点比较单一。

智能家居的诞生是人类智慧的结晶,是人类运用科技文明向前不断发展的又一巨作,智能家居技术的不断更新和发展是未来的趋势,智能家居为人们生活提供便捷及舒适成为什么生活中必不可少的一部分也是必然趋势。对于智能家居这个综合的系统而言各项技术的不断发展更新为其提供者可靠的技术支撑,是智能家居系统拥有未来市场的重要原因之一。未来市场的引导下智能家居系统要求具有吸能高效、使用便捷和高层次智能化的吸引力,方便人们对家庭设备管理及监管,家居生活方便,舒适的家居环境,智能家居管理三个方向。智能家居系统在我国还处于刚兴起时代,拥有广阔的市场前景,但是不能将国外产品原封不动的拿来即用占时可以,但从长远角度说,想占有一席之地,在这个新兴的中国市场的话,必须有智能家居系统符合中国特点,因此如果能够根据国内住宅的发展趋势研制出一款符合我国国情特色的智能家居系统是一个具有深远价值的研究方向[6]。

本文采用ARM10作为本系统的核心控制系统,具有通过手机短消息远程设置家用电器工作状态功能、实时监测家居内安防功能的传感器工作报警信息,同时将报警信息通过手机短信的方式远程发送给用户进行报警提示,以及以太网实时视频监控等功能。本系统是根据我国国内普遍小区的发展形势进行设计与实现符合国内小区发展趋势,针对以往高价格的智能家居产品进行颠覆,大大降低了产品的价格门槛,而且通过以太网和移动通信网络实现全网络覆盖范围,系统不仅能够实现家居环境的报警监测,同时能够实现手机短信报警及远程视频查看及控制家居设备。系统注重的是智能家居数据传输的可靠性和实时性,实现对家庭内2

相关电器设备的安全控制,系统控制部分的设计理念是建立在家居安全层次考虑的,与现有一些智能家居系统相比不是特别耀眼,但是系统控制的实用性特别强。

1.2 智能家居研究现状与发展

1.2.1 智能家居国内外发展现状

科学技术不断发展,信息化建设成为目前社会建设必不可缺少的重要环节,导致发达国家对智能家居进行了研发设计和推广。最早的智能家居系统是在美国产生的,当时是对哈特福特市的一栋比较陈旧的大楼进行二次建设,对整个大楼内的电器设备包括空调、照明、安防设备等使用计算机技术进行统一的监测与控制,为办公用户提供文字影音等信息服务功能,从而诞生的最早的智能家居系统[7]。经过一些年的发展后,智能家居系统便被世界各国所引进,亚洲国家最早引入智能家居系统的是日本及韩国,现阶段日本和韩国的智能家居系统发展已经有了很大程度的提高,随后我国也引进了智能家居系统的一些相关技术[8]。

智能家居系统技术的比较超前及功能全面的经典著作是微软创始人比尔盖茨的豪宅,这座豪宅经历多年的不断建设及资金的投入,成为智能家居的标杆。这座豪宅融合了现阶段最为先进的高科技技术,无论是家庭内部成员还是拜访人员,都能够得到量身定制的身居环境设置,能够根据不同人员的喜好设置不同的环境场景[13-16]。家庭成员在没有回家之前就能够通过远程控制系统对家庭的身居环境进行设置,对安防系统进行设置,而且系统还能够根据不同人员的进行分发特有的识别标志卡,人员佩戴特有的标志卡能够在豪宅内任意出入,在出入的都是能够进行人员所到位置的记录,而且能够为人员播放喜爱的音乐季画作等,还能为人员自动调节所到位置适应此人偏好的温度、湿度和灯光亮度,使每一个拜访人员得到最为温馨的招待。在家庭人员及拜访人员离开后,豪宅能够自动进入安全防护模式,在没有得到特有的识别卡时,进入住宅内都会进行响应的报警信息,同时报警信息会通过网络传送到主人的报警提示装置上[5]。

在欧美及日本等国家,对于智能家居的技术都制定了统一的标准,在智能化家居建设的过程中都要严格的按照此标准进行建设,实现了技术标准的统一。在智能家居的数据传输的过程中使用以太网及移动通信网络,实现智能家居系统网络的全部覆盖,使得系统更加人性化和科学化[10]。在智能家居研究及发展比较成3

熟的地域,对世界各地都在不断的开放智能家居控制技术和发展趋势,展示着很多具有高瞻远瞩的理念及信息,供世界各国进行参考和借鉴。对于国外比较成熟的少许家居智能化产品,欧洲和美国已经过了国际质量体系的认证,在全球范围内都占据不可动摇的地位和市场资源和优势[11]。

与欧洲和日本、韩国和其他国家相比,中国的智能家居技术提供研究和发展的机遇都是较晚一些的,然而国内的发展环境与其他国家相比较又具有较明显的优势,对于智能家居产业化得到了政府及有关部分的鼎力支持和国内优越市场环境的引导,所以发展的步伐非常迅速

[12]。我国智能家居起步阶段没有符合我国国内行情的国家标准体系,只是将国外的产品直接取之即用,在逐渐发展的过程中,将国外的智能家居技术和产品进行取之精华去其糟粕,对技术进行了深层次的吸收和消化后,逐渐研究了属于我国行情及市场特有的智能家居产品,国内具有代表性是由清华同方公司自主开发的e-home数字家园和海尔公司自主开发的e家庭等产品[18-19]。进入二十一世纪初,国家政府推出了相关的规范标准,进行智能化小区的建设,实现智能家居产品技术朝向技术统一的方向进行发展,通过利用计算机网络技术、现代通信技术、自动控制技术,实现精确的设计深度整合技术,高度集成的建设,大大提高了住宅的环境和科技含量的家居软件设备系统平台环境,能够改进百姓的生存居住现状,适合于现阶段科学技术的高速前进理念[20]。

我国随着技术的不断发展逐渐开始了智能家居的研究,到了2005年,温家宝总理在无锡提出“感知中国”的理念后,将无锡作为我国物联网技术研发中心后,物联网技术在我国得到了政府及市场的空前支持,物联网技术随之快速的发展。在物联网技术的引导下,国内智能家居系统再一次得到了崭新的发展良机。现阶段智能家居系统被集成到物联网技术中,实现对象与对象之间的家居、人与物之间的信息交流,物联网技术再次对智能家居系统提出了新的解释。目前我国对于智能家居系统需求大量的需求,未来市场具有广阔的发展空间,智能家居技术的发展也具有良好的实践环境。

1.2.2 智能家居发展趋势

时间不断的流逝,技术也在不断的更新,智能家居的研究现阶段正处在一个万紫千红的场景。智能家居系统经过了从无到有,从有到广的不断发展,从有线4

传输到无线传输,从短距离控制到远程监控,从最开始的手动实施到现阶段的智能化配置,智能家居在推动科技进步和快速发展方面,已取得实质性进展[9]。自从智能手机出现后,智能家居远程控制系统及报警展示系统就更加丰富了,对于一些远程控制机报警系统不在单独在计算机上进行使用,通过对于安卓及苹果手机设备程序设计使用,实现智能家居设备远程控制方式及产品组成多元化[17]。

在全面建设小康社会的国家指示引导下,全国人民生活质量的标准得到了很大的提升空间,住宅居住环境也有了一定层次的需求标准,安全性高、舒适度强、高效方便可靠的智能化家居系统成为符合人们高要求设备产品重要体现[33-34]。在未来智能家居系统要求对每一个家居设备都需要进行监控的,实现家庭所有装饰的智能化,无需人为进行任何操作,如地面天天自动清扫一次、衣柜根据需要自动打开关闭、餐后自动刷碗等等,完成智能家居一句人类意识就能进行特定工作的方向发展,用户在家庭内通过脑中想象需要,智能家居系统就会自动去实现人们所需要处理的时间的相应操作。所以未来智能家居系统能够具有人类思维与机器之间信息交流,机器能够完全实现只能推理富有意义的智慧等功能的高度相结合的智能化产品[35]。随着市场经济的发展,在市场的引导下智能家居系统会逐渐的向用户需求及用户体验的方向进行发展,用户最为智能家居系统的最终使用者,智能家居的就是未用服务最为开发的宗旨。高强度的生活节奏及高品位的追寻,要求智能家居能够实现家居管理的完全智能化、安全管理层度是人们考虑最多的问题所以一定要有一套全面可靠的安全管理及使用措施、能够为人们生活提供舒适的生活环境能够调节家庭内符合个人个性的生活环境。未来智能家居的发展将具有极大的市场前景,同时也面临着严峻的考验。

1.3 本课题研究内容

针对本文研究的特点硬件网关及服务端平台的系统使用的WinCE操作系统,嵌入式硬件设备,采用基于ARM10体系作为整个硬件设备技术支持英特尔xscale270核心处理器,系统设计与实现过程中使用Keil2集成开发工具、VS2005集成开发工具和Delphi集成开发工具对本系统的代码进行编写。依据完备的硬件平台的构建编写了与之配套的应用软件平台和相关代码。对于程序代码的编写工作主要涵盖硬件网关设备的WinCE操作系统相关功能设计、嵌入式设备平台服5

务端软件设计、计算机客户端应用软件的设计及家电控制端底层代码的设计。实现家居系统的智能化监控,能够对家居内的电器设备进行集中化的管理,能够对家居内的环境通过远程视频系统进行实时查看,能够对家居内的安防设备进行远程化控制监管。本文研究系统主要是通过手机短消息远程设置家用电器工作状态功能、实时监测家居内安防功能的传感器工作报警信息,同时,通过手机短信发送到远程报警用户提醒报警信息,以及以太网实时视频监控及嵌入式服务端管理软件能够实现对家电控制传感器报警信息的动态画面显示等功能。短信控制家电是通过GSM模块实现家电与人的沟通,用户通过手机发送短信信息命令,家电智能端接收到短信命令后进行解析实现对家电的开关等操作,对设备的远程控制的实现,GSM模块数据的编辑通过AT命令;传感器来检测异常的环境,通过手机短信和嵌入式服务器应用程序通知业主,通过获取家庭内的传感器实时环境如可燃性气体,烟雾,是否有人非法进入等,然后对数据信息进行处理,通过手机短信方式发送给业主进行响应的报警提示,业主就能够及时的做出相应的处理措施;以太网实时视频监控是指通过网络摄像头能够实时的监测家居内的视频画面,通过以太网将视频流传送给业主,业主通过开发的视频软件能够远程实时的查看家居的可是画面信息,通过以太网实现视频流的实时传输。

1.4 论文结构

本文通过设计实现了符合我国国内家居环境实用性强、安全度高、舒适程度好的智能家居系统,并对整个系统的设计过程进行了详细的阐述,系统实现后进行了周密的测试,对系统设计与实现过程进行总结与未来系统的展望做了阐述。

第一章介绍了研究的社会背景、技术背景、发展现状和未来趋势。

第二章节综合归纳了本文研究课题的整体设计实现方案,涵盖硬件设备和软件程序两个方面。对每一个硬件设备模块的功能点进行详细的阐述说明,最后对软件系统的整体设计框图进行展示说明。

第三章节主要介绍了嵌入式系统的操作系统的定制实现,通过BSP安装到添加平台特征和配置平台再到红外串口与蓝牙串口的打开,最后实现对系统的编译生成及下载到嵌入式中控芯片内。

第四章节主要介绍了整个系统的应用软件的核心部分的设计,包括智能家居6

系统人机交互接口程序设计、串口通信功能设计、GSM通信模块程序设计、图像采集模块程序实现、以太网通信模块的数据传输、计算机端的视频监控客户端软件的实现最后是家电控制机传感器模块的程序实现,同时会介绍软件编码及程序流程图。

第五章节针对完成的智能家居系统进行综合的系统功能测试,通过测试环境的阐述及测试步骤的描述验证系统的实用性、安全性及可靠性。

第六章节是本文的总结与展望部分,对本文进行了详细的总结以及对本系统未来的研究趋势进行了展望。

7

第2章 系统设计方案

本文研究的智能家居系统的设计与实现主要包括两大部分,一部分是硬件系统的研究,另一部分是对软件系统设计部分的研究。本文研究课题具有通过手机短消息远程设置家用电器工作状态功能、实时监测家居内安防功能的传感器工作报警信息,同时,通过手机短信发送到远程报警用户提醒报警信息,以及以太网实时视频监控及嵌入式服务端管理软件能够实现对家电控制传感器报警信息的动态画面显示等功能。通过对智能家居的整个过程中的原型系统的研究与开发和实施的建立,系统的核心部分是一个嵌入式系统,包括硬件的选择和实施操作系统核心芯片定制和控制程序,整个智能家居所有的监测数据与控制数据都是在此部分实现的。现阶段智能家居的功能需求主要停留在对家居内视频画面的远程监控查看,能够实现对家电设备的监测与控制其中包括近距离的控制与远距离的控制和信息的查看等,能够通过手机提示家居的报警信息和对家居家电设备的远程控制,手机通过发送与接收短信的形式完成人与设备之间的信息交换,通过上位机及计算机能够实现对远程视频信息的实时查看。下面将对系统的整体设计方案如何设计进行详细的阐述。

2.1硬件总体设计框图

本研究课题的硬件总体设计结构图如图2-1所示,硬件核心处理单元采用基于ARM10的嵌入式操作系统,基于单片机技术实现电器设备监管及使用传感器进行环境异常提示模块,基于串口通信的GSM无线通信模块,具有实时采动态集画面需求的摄像头单元共同组合为本体系的硬件框架布局。

8

图2-1 硬件设计框图

嵌入式系统:采用基于ARM10体系,英特尔xscale270核心处理器,核心处理器使用WinCE嵌入式操作系统,通过USB口与外围摄像头连接,两个RS232串口分别与家电控制模块和GSM通信模块、与上位机和PC软件之间的数据交换是通过RJ45接口实现。嵌入式系统是整个智能家居硬件系统的大脑,传输数据进行接收与处理,通过USB口、RS232串口、RJ45口实现与外围设备之间的数据交换。

家电控制模块:单片机控制电器控制模块和传感器报警模块,通过串口对单片机和嵌入式控制中心进行数据传输,单片机控制四个LED灯来模拟家电,三个按键用于模式传感器的数据采集状态。单片机通过继电器实现对于家电的控制,通过LED等展示控制的状态。

GSM模块:GSM通信模块是用于实现手机与嵌入式控制中心数据交换的唯一通道,用于实现现代移动通信的数据传输,能够接受及发送短信给业主手机。GSM模块与嵌入式核心处理器之间使用RS-232标准串口进行信息传递,通信模块使用AT指令最为标准使用指令。

视频监控单元:采用USB接口与控制中心连接的摄像头,用来实现视频传输的实时监控摄像头。视频流通过控制中心传送给上位机的视频监控软件进行视频画面的显示。

9

2.2控制核心选择

基于ARM10架构英特尔xscale270核心处理器作为系统开发平台的硬件平台的智能家居系统,核心处理器能够运行的嵌入式操作系统包括WinCE及Linux等,而且此实验箱平台能够同时满足教学功能和研发使用,如图2-2所示。

xscale270处理器的操作频率可以达到520MHz的,也有一个无线充电技术和动态电源管理技术,也有超级多媒体处理技术的等优势,兼顾处理性能和低功耗的特点[21]。核心处理器具有32M的闪存ROM和64M同步动态随机存储器,外围设备具有兼容触摸屏、RJ45网口、RS-232DB9标准串行口、USB数据通信口等功能,完全符合本研究所用。

图2-2 平台

PXA270处理器具备ARM10架构,能够满足智能家居系统所需要的实时数据处理能力及大数据传输,更主要的是能够实现摄像头的视频流的接收及处理传输等。具有多个串口能够满足智能家居系统硬件设计中所要求的同时使用两个串口的功能设计,串口采用统一RS232串口标准,能够实现TTL电平的转换等[32]。

采用XSBase270作为开发平台最为智能家居研究的硬件核心主要是有以下几个原因:一是对于智能家居系统主要是通过ARM控制器实现数据的集中管理,硬件设备现阶段市场上具有很成俗的产品而且性价比都比较低,能够满足对于其他硬件设备的兼容,因此没有必要自己进行硬件的设计,自己进行硬件的设计不能够保证硬件系统工作的稳定性,也不能保证产品的价格低廉,开发一款硬件产品肯定要比使用现有成熟稳定的产品消耗成本多出很多倍;二是XSBase270作为开10

发平台最为一款教学和实验的多功能实验平台,平台为用户提供了很多数据接口机硬件电路图,非常适合研发阶段,当设计成熟稳定之后可以进行硬件的自己生产,前期设计研究过程足够满足研发设计需求,而且提供非常详细的研发资料。

2.3家电控制板

对于家用电器部分选取基于STC89C52单片机作为控制电路部分核心处理器,家电硬件部分如图2-3所示,有4个用来模拟四种家用电器的LED灯和3个模拟三种传感器工作状态变化的按键及串口通信单元组成。4个模拟家用电器的LED等分别连接在单片机STC89C52的P1_0、P1_1、P1_2、P1_3引脚上;3个模拟不同传感器的按键分接在单片机的P2_0、P2_1、P2_2上[31]。通过单片机的引脚状态控制LED灯的亮灭状态显示对四种家电的开关状态,当单片机引脚为高电平时LED灯点亮表明家电处于开启的状态,当单片机引脚为低电平LED熄灭表明家电处于关闭的状态。传感器在智能家居系统中的应用是在不间断及高灵敏度、稳定输出情况下工作,所以本系统根据工业级的传感器的特性使用三个按钮模拟传感器的信号采集,当按钮被按下时单片机的引脚变为高电平表明传感器已经采集到信号,当按钮不被按下时单片机的引脚为低电平表明传感器没有采集到信号。对家用电器的控制模块的核心处理器采用RS232串口与主控制器通信,和电源是由5V直流电源供电。

图2-3 家电控制模块

11

2.3.1串行端口电路

家电控制模块与嵌入式开发平台之间的通信依靠的是串口方式,串口使用232芯片实现TTL与串口电平之间的转换,提高数据的传输速率和可靠性能。家用电器的控制面板和XSBase270串行通信实验箱采用RX和TX交叉连接模式,读和写数据传输。电路的连接如图2-4所示:

图2-4 串行端口电路连接图

根据串行端口电路连接图可知家电控制模块串口使用的DB9直插式串口接插件端子,对于9针的直插式串口器件端子而言,在使用其进行信息传输中仅仅用到rxd(读)、txd(写)和gnd(电源地)一共3个接口单元,rxd(读)用于数据信息读取,txd(写)是用于数据信息写入,gnd(电源地)是用于实现家电控制板与主控制器之间具有相同的参考电压,实现数据之间的正常传送,引脚定义如图2-5所示:

图2-5 DB9串口端子的引脚标示图

图中2号引脚rxd(读)信息回收端,3号引脚txd(写)信息输出端,5号引脚gnd(电源地)与外接设备之间共地端用于实现具有相同的信号地参考电压所用实现数据正常传输。一般常见的串行方式进行数据传输时都是连接这些引12

脚;对于所谓不常见的串口使用方式,像蓝牙模块实现串口通信时,在连接完上述三个引脚后还要将6引脚DSR和8引脚CTS连接到电路中,原因在于蓝牙串口通信传输数据信息时需要使用6引脚和8引脚实现控制相应的数据信息。本文研究的智能家居系统都使用了这两种串口方式,家电控制模块使用的是普通常见的串口连接方式,GSM无线通信模块使用的是特殊不常见的连接方式。

RS-232串口的工作原理是数据信息依据信号参考地为基准进行正负电平之间的转换,有数据是工作电平在+5V~+15之间进行变化,没有数据时只保持TTL电平。由于传输层和接入层,不同的是只有约2 ~ 3V,由于技术等原因及设备材料的原因使得通信范围最远才能达到15米,因此不能够实现远程的数据传输,传输速率能够达到20kB / s

[22]。使用芯片如图2-6所示。

图2-6 MAX232引脚图

13

2.3.2家电控制电路

图2-7 模拟家电控制电路

图2-7为模拟家电控制电路,用于实现家电设备的控制研究与设计所用,电路图中包含4个继电器用于实现控制4种不同家电的工作状态,4个PNP的三极管是继电器的电流驱动单元,保证继电器工作电流达到典型值,4个继电器的工作状态由stc89c52单片机的数据引脚实现控制操作,然后DD1~DD4 四个单色发光二极管主要是用于监控四路家电工作单元的工作状态,方便系统设计及如后系统的维护。模拟家电控制电路的工作状态主要是通过单片机stc89c52的P1.0~P1.3引脚实现控制,当单片机的P1.0~P1.3引脚为高电平时,DD1~DD4

发光二极管为熄灭状态,Q1~Q4处于不导通的状态,使得继电器内部线圈没有通电,继电器工作在常开状态,代表四种家电的LED灯处于熄灭的状态,表明家电未进入工作状态。当单片机的P1.0~P1.3引脚处于低电平状态时,DD1~DD4 发光二极管为点亮状态,Q1~Q4处于导通的状态,使得继电器内部线圈通电,吸合继电器内部的开关,使得继电器工作在闭合的状态,代表四种家电的LED灯处于点亮的状态,表明家电进入工作状态。

14

2.3.3传感器接口电路

图2-8 传感器硬件连接图

图2-8传感器接口电路图中显示,单片机STC89C52的P2_0~P2_3引脚用于实现对可燃性气体传感器、烟感报警器和人体红外热释电传感器的数据接收,因此端口之间采购光耦隔离方式,去除信号的干扰,确保数据更加精准。传感器无报警状态下光电耦合器处于断开的状态,P2.0~P2.3引脚处于低电平的状态;反之传感器发出报警信息后,光电耦合器处于导通状态,P2.0~P2.3引脚处于高电平状态,处理器根据引脚信号的电平不同确定传感器是否报警及进行后续数据处理等。传感器的工作状态通过按个按钮进行模拟,通过按钮的按下与否实现对光电耦合的内部光电隔离器的导通与否实现传感器信号采集状态的改变,同时信号输入单片机的引脚端加入下拉电阻实现干扰信号的隔离,增强传感器信号的灵敏度[36-37]。

2.4 GSM通信模块

对于智能家居系统中远程通信和人机交互的通信模块使用西门子公司研发的MC35-GSM无线通信模块,因为MC35-GSM无线通信模块拥有GSM900和GSM1800两种频段,能够实现数字方式、语音方式、短信方式及传真方式的数据流传输。此模块对于短信息的数据传输通过AT标准指令进行管理实现,同时与嵌入式核心处理器之间的数据交流使用的是RS-232标准串口方式,标准工作电压为9V

[38-39]。GSM通信模块用于实现对智能家居远程无线数据的传输,包括对于远程家电设备的监控、传感器报警信息的远程提示与嵌入式监控程序协调工作。GSM数据传输采用短信息技术,使用的现代移动通信技术,不受地域的影响,能够实15

现人机交互,用户通过编辑短消息实现对家电的控制,报警信息可以通过短消息提示给用户。西门子MC35模块最为行业内工作稳定、兼容性强等优点比较好的一款产品之一,所以本文采用此模块进行GSM通信模块部分的研究,能够保证系统的工作稳定性。

图2-9 西门子MC35

2.5视频监控模块

视频监控模块作为本研究课题远程视频查看智能家居内部情况的唯一可是系统,需要使用一款性能稳定、传输速率高、接口灵活的设备。采用中星微的视频采集模块(中星微芯片zc0301p),zc0301p芯片可以支持USB 1.1接口,同时中星微的视频采集模块支持VGA视频传输格式,视频流传输方式使用USB数据口进行数据传输。摄像头采集的视频画面数据流使用USB数据接口传送给嵌入式系统上,嵌入式核心处理器在通过以太网口的TCP/IP协议传给计算上的视频软件查看客户端,实现远程视频的查看,可应用在局域网和互联网内实现视频流的传输。

16

图2-10 301P摄像头

2.6总体软件设计方案

软件设计部分与硬件设计部分是息息相关的,二者相辅相成组成整个智能家居系统。系统整体结构如下图2-11所示:

图2-11 软件设计框图

本课题应用软件程序由三大部分组成,串行数据通信部分程序功能实现家用电器传感器的监控与监测及远程GSM无线数据信息传输、远程实时监测家居内视频画面监控功能应用程序、采用基于计算机网络技术的TCP/IP以太网技术实现对ARM服务器端和PC客户端之间的数据信息流通,其中:

通过嵌入式实验平台的普通串口和特殊蓝牙串口实现与家电控制系统和GSM网络通信分别的连接,用于模块与主控制器之间的数据通信。如图2-12所示。

实时视频监控通过USB摄像头采集图像,通过以太网实现视频流的传输,然后将还原图像的图像数据通过PC客户端应用程序进行展示。

对于以太网数据通信方式使用计算机网络技术中的tcp/ip网络数据通信协议技术完成,在开发过程中采用局域网进行实验环境搭建,但是系统能够完全的投入在互联网大的环境内使用,只需要加入路由器和对路由器进行端口映射即可。

17

图2-12 红外串口与蓝牙串口

2.7本章小结

本章主要介绍了本开发系统的整体设计方案,阐述硬件电路设计方案,并对每一个功能模块进行详解。

18

第3章 操作系统的定制

3.1 BSP的安装

对于XSBase270实验箱来说,WinCE嵌入式操作系统在实验箱上运行需要有厂家提供的BSP板级支持包的配合工作,所以本文对于如何安装BSP进行详细的讲解。BSP主要是用来支撑操作系统访问硬件设备的底层驱动函数库,板级支持包作为操作系统与硬件之间沟通纽带,连通着硬件与操作系统数据通信的重要工作。

在安装BSP之前需要在计算机上安装好WinCE集成开发工具,待开发工具安装完毕后通过实验箱提供的资料光盘安装BSP。BSP在资料盘工具目录下面,通过完成板级包的部署,按照界面的信息提示一步一步的进行安装即可,安装界面如下图3-1所示。

图3-1 BSP软件安装界面

安装好bsp后,使用pl-builder 工具安装系统镜像[24]。在“亿道系统:ARMV4I

XSBase270”完成选择,鼠标左键单击“下一步”按钮来完成。如图3-2 BSP种类的选择安装所示。

19

图3-2 BSP种类的选择安装

3.2添加平台特征和配置平台

在平台中添加必要的特征是用于实现对系统的外围设备接入,同时也是系统开发中重要的一部分,具体的添加特征信息如下所述。

(1)添加USB同步(文件同步)组件,嵌入式操作系统与计算机之间的数据传输都是通过此组件完成。

(2)添加简体中文字型组件,安装简体中文字库,以显示中文,利用汉字方便的开发调试程序,友好的文本显示界面。

(3)添加文件支撑组件,用于实现ARM中文件事件管理功能。

(4)添加分区管理,嵌入式系统内Wince添加分区管理功能主要是方便内部管理。

(5)添加到面板控制存储器管理部件,内存管理。

(6)增加基于软件的输入系统(软键盘等),以方便系统的使用,实现系统的外部输入数据操作。

(7)增加平台经理(网络管理)。

(8)添加USB组件实现对串口设备管理功能。

完成添加后的特性,则需要设置平台属性。通过单击开发工具平台的菜单选项->设置实现位置和语言的设定,内容要按照下面给出的软件操作界面截图3-3上面详细全面的选择方式进行。

20

图3-3 软件操作界面

程序组建选项设置,如下图3-4所示,只选择如下两个选项即可。

图3-4 程序组建选项设置

通过编译程序获得嵌入式操作系统镜像文件的过程为参考下图。生成镜像文件的操作过程和方法结合软件界面截图3-5进行操作。

21

图3-5镜像文件的编译操作

3.3串口部分设置与调试

在编译生成的系统镜像中对于串行通信口设置只具有DEBUG联调作用,板载上的其他串行通信端口如红外和蓝牙的串口通信端口并没有被启动,但是在智能家居系统中还需要使用这两个串行通信端口。本研究中需要使用这两个串口进行家用电器模块控制通信和GSM无线数据通信模块的使用,所以必须将它们打开,打开的方法如下所述。

(1)查找中断号

嵌入式实验箱所使用的中断号实在BSP包中所定义的,通过命令行查看串口的中端号。如图3-6所示。

图3-6 BSP中的串口中断定义

通过上图所示不难发现用于功能调试的串口的中断号十进制为28,将其转换成十六进制为0x1C;而用于数据传递串口的中断号是27,将其表现成十六进制编码方式是0x1D;中断号的功能是程序中识别中断时间的标识。

(2)修改注册表

打开以下文件夹,E盘下的platformes文件夹下XSBase270,是用于实现嵌入式操作系统存储数据所用,E盘下的platformes文件夹下XSBase270文件的22

子目录Release包含有硬件初始化函数。注册表程序已经包含有蓝牙串口的注册表程序代码,现在需要将另外一个普通红外串口的程序代码加入即可,到此完成了串口程序的注册表初始化功能。加入初始化红外串口的代码如下图3-7所示:

图3-7 初始化红外串口的代码

代码添加完成后保存配置文件完成程序脚本的修改,至此配置及驱动部分已经完成。打开之前已经建立的WinCE操作系统的工程文件实现内核的编译,编译步骤为:Build OS-> Make Run-Time Image,生成新的内核文件。是WinCE的内核文件,是经过裁剪及针对本系统应用所设计的操作系统,经过处理后的内核文件在处理数据速度更高,没有冗余功能。

23

3.4操作系统的生成与下载

在上述过程中完成了嵌入式操作系统的定制开发过程,编译程序运行或者解决放部署生成了0文件和NK内核-两个文件,这两个文件是嵌入式操作系统所必备的内核系统文件。嵌入式WinCE操作系统的运行是依靠两个文件,因为我们做的计算机系统需要一个系统文件。对于这两个文件如何下载到嵌入式ARM芯片内部是通过串口及工具或者SD卡将它们烧写进入XSBase270实验箱,根据嵌入式系统烧写软件提示的信息进行文件的下载,带程序下载完毕后系统进行重启进入WinCE系统内。在这一点上,嵌入式内核的智能家居系统已经完成。

3.5本章小结

本章主要讲述的嵌入式操作系统的定制过程,首先通过BSP安装,其次是添加平台特征和配置平台,最后是操作系统生成与下载三个方面讲述操作系统定制的全过程。

24

25

第4章 应用软件设计

4.1应用程序编写环境

VS2005集成开发工具用于开发智能家居中嵌入式服务端程序及嵌入式操作系统的内核裁剪及定制编译工作。VS2005集成开发工具是应用在Windows窗口平台上的一款窗口界面化的集成开发工具,适合进行应用软件程序的设计与研发使用,而且具有多平台合作开发程序的功能特点[25]。

图4-1 Visual Studio 2005

4.2智能家居人机接口设计

智能家居人机接口设计是设计用于实现用户通过开发的应用软件实现对整个系统中相应硬件设备的控制,采用MFC开发语言实现应用程序软件界面程序的开发,程序开发的过程下面进行详细的介绍。

打开VS2005集成开发工具,新建MFC应用程序工程文件,用于实现人机接口应用程序的设计。软件图形界面如图4-2所示:

26

图4-2 新建智能家居的应用程序

建立新的项目时,对项目自行添加名称和存储位置如图4-2所示,填写完成后按照软件提示方式实现整个项目工程的搭建,期间在软件开发包支持界面时,将系统平台选项加入进工程文件同时移除pocketpc2003选项。软件界面如图4-3所示。

图4-3 选择软件开发包支持

选择程序软件界面上的下一步按钮,在下一个界面内选择待开发的程序资源27

种类及采用的编程语言,如下图4-4软件界面所示,选择MFC应用设计语言进行程序的设计,在MFC程序设计方式中Application type使用“Dialog based”设计应用程序的窗口整体界面风格,Resource Language使用“中文(中国)”,用于展示在界面窗口中的语言显示,显示为中文能够更加友好的支持大家对软件的使用,增强软件界面的交互性,其他项目使用默认选项。

图4-4 选择应用程序种类

待其他选择项都选择好以后,单击Next按钮,根据界面引导完成整个工程解决方案的建立。项目建成后,它将自动进入IDE环境。该集成环境窗口布局图4-5所示:

28

图4-5 VS 2005软件界面图

在熟悉开发工具的功能后,开始进行应用程序界面的设计。由于MFC搭建图形界面是具有灵活方便的器件控件库,所以在图形界面设计时通过拖拽控件器件的方式完成,应用程序界面的对话框设计成如图4-6所示,具有信息窗口、报警、家电控制、设置等功能区域组成。界面其他部件通过器件库添加到对话框内完成。对于代码部分进行编写时,只需要通过鼠标点击控件进入代码编辑窗口进行功能代码的编写即可。本系统的控件单元的名称及控件数量和控件功能按照表4-1所示进行设置即可。

29

图4-6 系统服务端应用程序界面

图4-7 系统应用程序控件设置表

4.3串口通信功能设计

4.3.1串口通信协议

嵌入式服务端程序设计中使用CCESeries函数实现串口通信功能,在该类函30

数中编写串口所需要的初始化功能函数、串口实现数据的读写功能以及如何实现串口功能关闭等。对于类函数的实现方法下面将进行详细的介绍,通过程序流程图讲述软件设计的流程,及展示部分程序代码。

4.3.2软件的实现

集成开发工具的使用,如图4-8所示,添加类CCESeries函数法,对程序代码的实现完成。图4-9和图4-10中对CCESeries函数功能和函数成员变量进行了详细的阐述,程序编写中要严格按照此表进行。在程序代码设计过程中根据表中所讲述的函数功能和成员变量的描述进行函数的调用及应用。

图4-8 如何添加类函数方法

图4-9 改函数类成员

31

图4-10 该类成员所需变量

4.3.2.1打开串口与配置串口

对于本地设备驱动程序而言主要包括外界键盘和软键盘程序、普通显示屏和触摸显示屏驱动程序等,这部分驱动程序对于设备而言是比较相对唯一的,设备在生产阶段就已经对相应的设备驱动程序进行了编写[26],随着产品的发行一同面向客户进行提供,因此在设备固定的情况下驱动程序也是相对不变的,功能稳定及完整的实现后就不需要进行任何的修改,在程序设计中直接调用功能函数即可。相对于本地设备而言的流设备驱动程序是由所选择的设备厂家进行提供,在选择外界设备的时候,厂家会相应的提供程序驱动包,程序包内包含一些设备的功能函数或者资源动态库等,用户在编写程序时可以添加这些资源库然后引用相应功能进行实现,连接设备进行软件程序调试即可,无需进行再次的开发。

嵌入式操作系统应用程序使用流设备驱动程序时拥有特定的命名规则,采用的字符串与数字相结合的规范形式,对于串口驱动而言字符为com,但是需要主要注意的是流设备的驱动程序除了字符和数字外还要拥有英文的冒号“:”放在数字的最后面进行使用,这样是与系统设备驱动区分表现。通过调用特定的字符实现对相应串口的使用,如要使用串口2,程序中则表示为COM2:即可。

在程序设计过程中,需要对整个程序的开发过程进行详细的设计及规划,其表现过程就是设计程序的流程图,对于串口程序函数的流程图如图4-11所示:

32

图4-11 打开串口功能程序流程图

在串行通信功能的驱动代码的编写,串口设备控制CreateFile的使用方法,程序设计中用这个函数实现对于串口功能中所有驱动程序中对于使用串口开始工作进行操作。在WinCE嵌入式操作系统中,对于外接硬件设备的I/O数据接口来说,一个数据接口只能连接一个设备不能同时连接多个设备,因此在数据接口接收数据传递通过中通过设置的标识符send_js_ff_baoshi参数实现。所以对33

CreateFile函数的功能是从其他不同的方法函数,因为串口功能未能返回参数信息通常不是0或者null。

然后再类函数的编写代码文件中定义一个具有句柄类型的全局变量用于实现接收和保存函数成功将串口打开后返回的参数值,然后实现对于串口的数据写入和数据的获取及串口的启动关闭等一系列操作。

对于串口函数的使用需要进行一些相关的操作,相关操作过程是在串口函数调用成功后进行。如果一个串口想要能够正常的进行数据传输的工作需要进行一系列的设置,其中包括传输数据的串口波特率的设置、每次能够传输数据的长度设置等等。该程序主要是通过串口getcommstate功能和setcommstate功能波特率,停止位字符长度实现串口参数的设置工作。getcommstate函数和setcommstate函数方法拥有相同的对于串口操作的句柄及用于DCB结构操作的指针参数,然而对于如何配置需要遵循下图4-12的规则。

图4-12 如何设置串口DCB规则表

图4-13 如何设置串口DCB规则续表

在串口功能函数调用启动串口功能后,实现串口的启动进行数据的读写功34

能,在串口使用过程中需要对串口读写数据的时间进行相关的规定限制,此操作过程是为了对串口读写效率的提高进行的操作即超时值设定过程。什么是串口设定的超时值呢主要是针对WinCE串口读写串口自动回以前的时间读或写操作等长度。根据设置的超时值,程序能够提高数据的处理能力,避免长时间接收不到数据信息时,程序出现等待的现象。在程序设计中,调用以下两个函数实现控制串口数据传输超时问题。

其他的函数,设置串口的输入输出缓冲区,输入输出缓冲区相当于一个容器,当串口正在处理数据时,有新的数据进入就会存储在此部分内,避免数据出现遗漏或者串口出现拥塞等现象。串口的输入输出缓冲区函数,设置串口检测的事件集,用于对串口驱动程序事件包含参数的设置。

对于串口事件集函数的连续的检测,可以使线程等待实现。串口常见的驱动事件标志及功能如图4-16所示。

图4-16 串口常见的驱动事件标志及功能

4.3.2.2关闭串口

上面讲述了如何对于串口打开功能的描述,串口打开后就会产生关闭串口的问题,通常对于串行通信口的工作停止可以通过CloseHandle函数实现,从而实现对于串行通信口句柄的销毁,最终实现了停止整个串行通信口工作的操作。关闭串口句柄的函数原型如下

closehandle(com);

另外一种方法是关闭串口的线程函数实现对打开串口的关闭操作,关闭线程函数如下所示:

bool terminate commthread(handle comthread,dword close);

35

在函数的参数,用于关闭线程处理comthread参数,该参数close一般是0。如何鉴定串口是否已经关闭呢,是通过检测关闭串口后返回的参数数值,如果串口已关闭返回的参数值为非零,如果关闭失败的话返回的参数值为0,程序流程图如图4-17所示。

图4-17 关闭串口程序流程图

4.3.2.3串口读线程

串口读线程的方法是用于实现程序的功能,串口读取线程时可以开辟一个新的单元进行,对于函数主程序没有任何影响,读串口ReadFile函数原形如下所示:

bool ReadFile(handl f,//处理文件

lpvoid b,//数据存储标志

dword zfs,//带读取制度数据

Lpdword sjs,//实际读取数

Lpoverlapped ftb//非同步读取数据为NULL

);

串口方式读取数据完成后通过线程的方式向系统窗口中发送消息,这个消息36

是用于告诉窗体已经完成数据的获取,是用户自行定义及使用的事件消息。在向窗体传送的消息中包含有串口接收的数据内容及长度等参数信息。串口读取线程函数的程序设计流程图如下图4-18所示。

图4-18 通过线程功能程序操作流程图

4.3.2.4串口实现数据的写入

如何实现串口功能的数据写入主要在CCESeries类函数中,所使用的串口数据写入函数进行的,包括对已知数据长度、未知数据长度等方面使用不同函数进行数据的写入。对于已经确定数据大小的字符串而言,通常使用

writeport(char*b,int s) 功能函数实现数据传输。无法确定大小的字符串而言,采用writeport(char *buf )方法函数进行编码传值,对于字符串所包含的37

数据信息机长度需要程序自身进行分析获取。前者提高了写串口的时间效率。

Bool writefile(

Handle file,//处理文件

Lpcvoid bf,//存储指针

Dword ddatal,//待操作的数据长度

Lpword sdatal,//存储实际数据信息

);

4.3.2.5串口类的调用

在串口软件设计过程中对于串口类的操作需要在主函数中使用CCESeries类函数完成,从而才能够实现对于串口功能的各种使用。在函数引用过程中需要将CCESeries的头文件函数添加到嵌入式网关服务端对话框功能函数CsmartHomeDlg主函数的头文件中,通过“#include “CCESeries.h””方式添加引用。同时在主函数的头文件中定义两个具有public公共属性的全局变量一个为蓝牙串口变量m_Bcom,另一个为红外串口m_Icom变量,然后实例化类CCESeries类。

在主函数的应用程序编写文件中实现串口的程序的编写,实现串口的调用,一般采用m_rt(,1,9600)的方式实现串口的调用数据的传输机串口波特率的选择设置。

4.3.2.6串口的监听

在读取串口读取的消息线程,串行传输系统称为wm_rxchar_all消息给窗口处理程序系统。在窗口处理程序中,您必须响应串口数据监控功能和功能的作用。

在程序应用代码中,对于串口的监听功能需要在主函数中添加相应的功能声明,通过声明后才能够实现对于消息事件的响应及操作,添加消息为:

On_Message();

对于添加的消息事件声明的参数OnComRecvMsg是已经定义并具有相应该消息事件的功能函数的名称,并且在头文件中已经对此函数进行了定义及声明引用,声明过程中一定要使用消息声明关键字,用于告知函数体它是消息响应函数。

38

4.4 GSM无线数据传输模块

远程数据传输功能主要是借助现有的成俗模块GSM模块,以运营商短消息方式远程异地传递数据信息,从而实现无界限实施报警提醒展示,确保使用者安全使用及时查看异常报,从而实现整个系统中对于传感器信息采集报警及家用电器未关闭等远距离短信报警功能。GSM模块具有高稳定性、高时效性,为智能家居无线数据传输不受地理因素的影响,实现远程家居监控系统和报警信息传输。

4.4.1 GSM无线数据传输的基础

4.4.1.1 PDU编码规则

在使用GSM无线短信通信设备中使用的短信技术的操作模式包括模块模式和在使用AT指令方式的基础上的PDU模式模型和基于文本模式,。

对于短信技术而言最开始发展期间通过开发者提供特定的驱动程序的支撑,采用的短消息模式是Block方式,但是随着技术的不断发展,新生的方便快捷简单的短信模式逐渐将其取而代之。文本模型相对简单,它只支持发送英文短信,无法发送中文短信息。本文研究的智能家居系统人机交互及无线数据通信方式,通过PDU短信息技术发送手机短信实现的,此模块包含能够满足多国家语言形式的数据文本传递信息,能够很好支持中文文本信息的数据传送机表达不会出现任何乱码信息。

PDU数据包的格式是手机短信发送一个数据单元[27]。PDU数据包的数据采用的是压缩BCD编码,数据的编码模式使用的小编码格式及地位数据在最前面高位数据在最后面的方式,而且对于数据的编码方式比较灵活,能够支持多种短信数据内容的压缩编码,能够支持短信发送数据量为160的bit7模式、短信发送数据量为140的bit8模式和短信发送数据量为70的ucs2模式等编码方式。

Bit7编码模式主要是对于ASCII普通编码字符进行发送,能够实现128个字符的表述方法。然后将所获得的字符串在编码成十六进制数据方式进行数据的发送。

Bit8编码模式用于实现对二进制编码的数据进行传输。

编码模式用于对发送SMS消息格式。

39

字符数据进行传输。图4-19和图4-20接收和

图4-19 接收短信的报文格式

图4-20 发送短信的报文格式

实例一、发送短信时的PDU码,如下图所示:

图4-21 发送PDU包解析

根据上述图4-21发送PDU包解析的数据参照表和短信的报文格式规范,将手机发送的短信编码的十六进制编码的数据信息进行解码,对发送的数据信息进行详细的解析展示成人们可读方式的数据后,得知运营商短信服务中心的手机号码为:86,接收短信数据信息的对方手机号码为:86,40

分析后得知二者传送的数据信息为:你好。

实例二、接收短信时的PDU码,如下图所示:

图4-22 接收短消息PDU包解析

接收到的手机短信消息的十六进制短信数据信息按PDU图4-22接收短消息PDU包解析分析方法的注释可以获取,移动运营商的短消息中心服务号码:86,数据接收端的手机号码及用户对方手机号码是138****9888,二者传递的短信数据信息的内容是:中国!。

在智能家居中短信数据的传送采用PDU包的形式进行数据的发送和接收,数据的加密性高,在数据接收及发送中严格按照给定的包的格式进行数据的传输,在数据发送及接收过程中按照PDU包解析方法对数据进行分析及标注,将数据的十六进制数据信息转换成人可读的文本信息,更好的为用户进行使用。

4.4.1.2 AT指令

在智能家居控制中心,控制GSM模块进行数据发送和接收的指令采用的是AT标准数据指令,控制中心的核心处理器通过发送AT命令给MC35模块通过串口的方式进行数据的传输。对于常见的AT标准指令图4-23进行了列举,在进行无线通信模块的控制是使用这些常见的指令及功能进行数据的发送和接受的控制。在程序设计的过程要严格的按照表中给定的格式进行调用,否者GSM模块无法解析和使用AT指令。

41

图4-23 系统采用的AT指令

4.4.2 软件的实现

4.4.2.1 PDU编码解码

在整个系统软件设计过程中对于实现GSM无线通信模块的人机交互问题及无线通信问题使用的是短信技术,程序中对于短信技术使用的是PDU模式。在软件程序编写中使用CEncode类函数实现对于PDU短信的数据编码和数据解码的功能实现,通过对类函数的调用及使用实现短信技术在程序中的融合。在图4-24中将类函数的成员函数及功能进行了详细的展示。

42

2024年1月10日发(作者:扈丽珠)

摘 要

基于嵌入式的智能家居系统设计与实现

随着科技的不断进步,物联网技术得到了突飞猛进的发展。智能家居是物联网技术的典型应用领域之一。智能家居系统将独立家用电器、安防设备连接成一个具有思想的整体,实现家居设备的智能管理和远程监控。

本课题的嵌入式平台采用WinCE操作系统,硬件设备采用ARM10架构的Intel

XScale270核心处理器的实验箱作为技术支撑。系统设计与实现使用Keil、VS2005和Delphi三种集成开发工具实现代码的编写与调试。软件部分主要涵盖硬件网关设备的WinCE操作系统相关功能设计、嵌入式设备平台服务端软件设计、计算机客户端应用软件的设计及家电控制端底层的设计。

智能家居系统与用户数据交互采用GSM系统,通过短信的方式实现。家居设备之间的数据通信采用TCP/IP网络协议,建立三次握手机制,保证数据传输稳定可靠。系统对WinCE系统内核进行裁剪定制,提高数据的处理能力。在网关内设计开发用于WinCE系统的控制中心,即嵌入式服务端,实现硬件设备与软件系统数据握手通信。计算机客户端的应用软件设计,即视频采集查阅软件,是基于Delphi可视化界面开发语言编写进行设计。客户端应用软件用于异地及时通过视频画面掌握家居状态环境。

本课题基于嵌入式的智能家居系统的设计与实现,使用嵌入式平台作为核心控制器能够提高整个系统的稳定性,数据传输采用TCP/IP协议能够很好解决目前一些系统中存在的数据传输不稳定问题。基于嵌入式的方式能够降低智能家居系统的成本,大大降低市场中由于智能家居价格较高无法普及现象,使智能家居能够走入普通百姓家中。

关键字:

智能家居系统,物联网,嵌入式技术,WinCE系统,Delphi

I

Abstract

Design and Implementation of Smart Home System Based on

Embedded System

With the constant progress of science and technology, Internet of things (IOT)

technology develops by leaps and bounds. Smart home is one of the typical

applications of IOT. Smart home system links home appliances and security

equipment as a whole with the soul, implementing intelligent management and remote

monitoring of the household equipment.

In this project, the embedded platform adopts the WinCE operating system, and the

hardware device uses an experiment box with Intel XScale270 core processor based

on ARM10 architecture as the technical support. System design and implementation

uses Keil, VS2005, and Delphi integrated development tools to edit and debug the

codes. Software mainly covers the WinCE operating system function design of the

hardware gateway device, platform server client software design of the embedded

devices, the computer client application software design and the household appliance

control bottom program design.

Interaction of smart home system with the user uses GSM system with short

message service. Data communications between household equipment adopts TCP/IP

network protocol, setting up a three-way handshake mechanism, to ensure stable and

reliable data transmission. The system truncates and customizes the WinCE system

core to improve data processing ability. In the gateway, the control center for the

WinCE system, namely embedded server, can be developed to realize the data

communication between the hardware and software system. Computer client

application software design, namely the video acquisition carried out based on Delphi

visualization interface development language. The client application software is used

in mastering the household environment timely by video images in the remote places.

The design and implementation of intelligent Home Furnishing system based on

embedded system, using the embedded platform as the core controller can improve

II

the stability of the whole system, data transmission using TCP/IP protocol can solve

data transmission system exists the unstable problem. Embedded system can reduce

the cost of smart home system, greatly reducing the market because of the high price

of smart home can’t be universal phenomenon, so that smart home can go into the

homes of ordinary people.

Keywords:

smart home system, IOT, embedded technology, WinCE system, Delphi

III

目录

第1章 绪论 .................................................. 1

1.1 研究背景及意义 ......................................... 1

1.2 智能家居研究现状与发展 ................................. 3

1.2.1 智能家居国内外发展现状 .............................. 3

1.2.2 智能家居发展趋势 .................................... 4

1.3 本课题研究内容 ......................................... 5

1.4 论文结构 ............................................... 6

第2章 系统设计方案 .......................................... 8

2.1硬件总体设计框图 ........................................ 8

2.2控制核心选择 ........................................... 10

2.3家电控制板 ............................................. 11

2.3.1串行端口电路 ......................................... 12

2.3.2家电控制电路 ....................................... 14

2.3.3传感器接口电路 ..................................... 15

2.4 GSM通信模块 .......................................... 15

2.5视频监控模块 ........................................... 16

2.6总体软件设计方案 ....................................... 17

2.7本章小结 ............................................... 18

第3章 操作系统的定制 ....................................... 19

3.1 BSP的安装 ............................................. 19

3.2添加平台特征和配置平台 ................................. 20

3.3串口部分设置与调试 ..................................... 22

3.4操作系统的生成与下载 ................................... 24

3.5本章小结 ............................................... 24

第4章 应用软件设计 ......................................... 26

4.1应用程序编写环境 ....................................... 26

4.2智能家居人机接口设计 ................................... 26

4.3串口通信功能设计 ....................................... 30

4.3.1串口通信协议 ....................................... 30

4.3.2软件的实现 ......................................... 31

4.3.2.1打开串口与配置串口 .............................. 32

4.3.2.2关闭串口 ........................................ 35

4.3.2.3串口读线程 ...................................... 36

4.3.2.4串口实现数据的写入 .............................. 37

4.3.2.5串口类的调用 .................................... 38

4.3.2.6串口的监听 ...................................... 38

4.4 GSM无线数据传输模块 .................................. 39

4.4.1 GSM无线数据传输的基础 ............................ 39

4.4.1.1 PDU编码规则 ................................... 39

4.4.1.2 AT指令 ......................................... 41

4.4.2 软件的实现 ......................................... 42

4.4.2.1 PDU编码解码 ................................... 42

4.4.2.2 CEncode类成员函数详解 .......................... 44

4.4.2.3 收发短信 ....................................... 53

4.5 图像采集模块 .......................................... 55

4.5.1 摄像头驱动程序 ..................................... 55

4.5.2 视频捕捉和视频信息传送 ............................. 56

4.6 以太网通信模块 ........................................ 57

4.6.1 TCP/IP协议 ......................................... 57

4.6.2 软件实现 ........................................... 58

4.7 客户端视频监控软件 .................................... 61

4.8 家电控制及传感器模块 .................................. 63

4.8.1 单片机串口使用及参数设置 ........................... 63

4.8.2 串口通信的自定义约定 ............................... 64

4.8.3 单片机程序流程 ..................................... 65

4.8.4 ARM端控制和报警流程 .............................. 68

4.9本章小结 ............................................... 68

第5章 系统测试 ............................................. 70

5.1测试环境 ............................................... 70

5.2 测试步骤 .............................................. 70

5.3本章小结 ............................................... 75

第6章 总结与展望 ........................................... 77

6.1本文的总结 ............................................. 77

6.2 对本课题前景的展望 .................................... 78

参考文献 .................................................... 79

作者简介及在学期间所取得的科研成果 .......................... 82

致谢 ........................................................ 83

第1章 绪论

1.1 研究背景及意义

我国伴随经济化建设的步伐持续加快与深入,中国百姓生活逐渐面向全面小康化方向前进,使得寻常百姓生活质量也随之提升一个层次。家庭居住环境的智能化是人们生活质量高需求的表现之一,需要通过智能化的科技手段实现家居中电器设备的自动运转工作,无需人为在进行一些列的操作,如实现窗帘的自动控制、照明设备的自动控制、电视空调等设备的自能控制[1]。同时通过智能化的家居系统能够实现家居安防设备的智能化工作,减少不必要的经济损失等,如通过传感器检测煤气、烟雾、门窗、室内是否有他人进去等安全监护,避免出行时忘记关闭门窗、忘记关闭煤气、忘记关闭水龙头等,减少家庭财务丢失、火灾发生、房屋被水淹等不必要的事件发生,而且能够检测家中是否有不法份子入室盗窃等[2]。家里无人时能够通过远程方式查看家庭内部的设备状况、门窗、水电煤气等是每一位公民的迫切需求,能够在互联网实现对家庭内的一些设备进行远程控制,解决由于出行不在家需要现场解决的一些问题成为人们需求之一,通过远程系统能够对家庭内的环境进行预先设置如对热水器预先加热、空调预先调节温度等等,这些需求通过智能家居系统都能够使人们梦想成真,成为生活中的好帮手,成为一种现实,提高人们的生活质量和生活标准[3]。

在进入网络时代以后,科技手段不断更新的大环境驱使下,大数据时代的到来以及远程信息共享的模式下,使得大家无论何时何地都能够掌握世界的最新动态和数据共享。依靠科技服务百姓成为当今全国乃至全世界的市场引导方向,因此科学研究机构将智能化的概念纳入社区管理,并进一步进入家庭,使之形成了智能家居的概念。在智能家居系统设计过程中使用现在市场上比较成熟及稳定的手机通讯和计算机以太网TCP/IP通信手段,这样能够为外出业主对于家中实时状况进行了解及控制,降低业主外出时对于家庭的担忧,业主并且能够使用手机通过短信或者其他形式实时的对家中的电器设备进行监控,大大提升业主家居环境的舒适程度、营造良好的生活氛围[4]。对于智能家居系统人们主要关心的是安全性、方便性、集成度、网络覆盖范畴等,将新建小区融合智能家居系统后,是1

未来房地产发展的必然趋势。我国现在北上广等一些一线城市作为重要试点,将智能家居系统引入了人们的生活中。家居的智能化会为人们的生活带来诸多的便利,能够在一定程度上改变人们的生活及工作的方式,对于家庭装修行业也会产生一定的影响,为房子在装修时提供全新智能化的理念,使其更具有安全性和舒适度,无论是上班族还是非上班族都能够改变生活节奏。将整个家居附带行业都推向了高大上的高科技方向趋势发展。但是我国国内的智能家居无论是在研究还是在市场投入方面都处在一个起步的阶段,不能够普遍走向每一个家庭中,因为其技术手段缺乏统一性、产品的价格没有达到大众承受程度、产品功能特点比较单一。

智能家居的诞生是人类智慧的结晶,是人类运用科技文明向前不断发展的又一巨作,智能家居技术的不断更新和发展是未来的趋势,智能家居为人们生活提供便捷及舒适成为什么生活中必不可少的一部分也是必然趋势。对于智能家居这个综合的系统而言各项技术的不断发展更新为其提供者可靠的技术支撑,是智能家居系统拥有未来市场的重要原因之一。未来市场的引导下智能家居系统要求具有吸能高效、使用便捷和高层次智能化的吸引力,方便人们对家庭设备管理及监管,家居生活方便,舒适的家居环境,智能家居管理三个方向。智能家居系统在我国还处于刚兴起时代,拥有广阔的市场前景,但是不能将国外产品原封不动的拿来即用占时可以,但从长远角度说,想占有一席之地,在这个新兴的中国市场的话,必须有智能家居系统符合中国特点,因此如果能够根据国内住宅的发展趋势研制出一款符合我国国情特色的智能家居系统是一个具有深远价值的研究方向[6]。

本文采用ARM10作为本系统的核心控制系统,具有通过手机短消息远程设置家用电器工作状态功能、实时监测家居内安防功能的传感器工作报警信息,同时将报警信息通过手机短信的方式远程发送给用户进行报警提示,以及以太网实时视频监控等功能。本系统是根据我国国内普遍小区的发展形势进行设计与实现符合国内小区发展趋势,针对以往高价格的智能家居产品进行颠覆,大大降低了产品的价格门槛,而且通过以太网和移动通信网络实现全网络覆盖范围,系统不仅能够实现家居环境的报警监测,同时能够实现手机短信报警及远程视频查看及控制家居设备。系统注重的是智能家居数据传输的可靠性和实时性,实现对家庭内2

相关电器设备的安全控制,系统控制部分的设计理念是建立在家居安全层次考虑的,与现有一些智能家居系统相比不是特别耀眼,但是系统控制的实用性特别强。

1.2 智能家居研究现状与发展

1.2.1 智能家居国内外发展现状

科学技术不断发展,信息化建设成为目前社会建设必不可缺少的重要环节,导致发达国家对智能家居进行了研发设计和推广。最早的智能家居系统是在美国产生的,当时是对哈特福特市的一栋比较陈旧的大楼进行二次建设,对整个大楼内的电器设备包括空调、照明、安防设备等使用计算机技术进行统一的监测与控制,为办公用户提供文字影音等信息服务功能,从而诞生的最早的智能家居系统[7]。经过一些年的发展后,智能家居系统便被世界各国所引进,亚洲国家最早引入智能家居系统的是日本及韩国,现阶段日本和韩国的智能家居系统发展已经有了很大程度的提高,随后我国也引进了智能家居系统的一些相关技术[8]。

智能家居系统技术的比较超前及功能全面的经典著作是微软创始人比尔盖茨的豪宅,这座豪宅经历多年的不断建设及资金的投入,成为智能家居的标杆。这座豪宅融合了现阶段最为先进的高科技技术,无论是家庭内部成员还是拜访人员,都能够得到量身定制的身居环境设置,能够根据不同人员的喜好设置不同的环境场景[13-16]。家庭成员在没有回家之前就能够通过远程控制系统对家庭的身居环境进行设置,对安防系统进行设置,而且系统还能够根据不同人员的进行分发特有的识别标志卡,人员佩戴特有的标志卡能够在豪宅内任意出入,在出入的都是能够进行人员所到位置的记录,而且能够为人员播放喜爱的音乐季画作等,还能为人员自动调节所到位置适应此人偏好的温度、湿度和灯光亮度,使每一个拜访人员得到最为温馨的招待。在家庭人员及拜访人员离开后,豪宅能够自动进入安全防护模式,在没有得到特有的识别卡时,进入住宅内都会进行响应的报警信息,同时报警信息会通过网络传送到主人的报警提示装置上[5]。

在欧美及日本等国家,对于智能家居的技术都制定了统一的标准,在智能化家居建设的过程中都要严格的按照此标准进行建设,实现了技术标准的统一。在智能家居的数据传输的过程中使用以太网及移动通信网络,实现智能家居系统网络的全部覆盖,使得系统更加人性化和科学化[10]。在智能家居研究及发展比较成3

熟的地域,对世界各地都在不断的开放智能家居控制技术和发展趋势,展示着很多具有高瞻远瞩的理念及信息,供世界各国进行参考和借鉴。对于国外比较成熟的少许家居智能化产品,欧洲和美国已经过了国际质量体系的认证,在全球范围内都占据不可动摇的地位和市场资源和优势[11]。

与欧洲和日本、韩国和其他国家相比,中国的智能家居技术提供研究和发展的机遇都是较晚一些的,然而国内的发展环境与其他国家相比较又具有较明显的优势,对于智能家居产业化得到了政府及有关部分的鼎力支持和国内优越市场环境的引导,所以发展的步伐非常迅速

[12]。我国智能家居起步阶段没有符合我国国内行情的国家标准体系,只是将国外的产品直接取之即用,在逐渐发展的过程中,将国外的智能家居技术和产品进行取之精华去其糟粕,对技术进行了深层次的吸收和消化后,逐渐研究了属于我国行情及市场特有的智能家居产品,国内具有代表性是由清华同方公司自主开发的e-home数字家园和海尔公司自主开发的e家庭等产品[18-19]。进入二十一世纪初,国家政府推出了相关的规范标准,进行智能化小区的建设,实现智能家居产品技术朝向技术统一的方向进行发展,通过利用计算机网络技术、现代通信技术、自动控制技术,实现精确的设计深度整合技术,高度集成的建设,大大提高了住宅的环境和科技含量的家居软件设备系统平台环境,能够改进百姓的生存居住现状,适合于现阶段科学技术的高速前进理念[20]。

我国随着技术的不断发展逐渐开始了智能家居的研究,到了2005年,温家宝总理在无锡提出“感知中国”的理念后,将无锡作为我国物联网技术研发中心后,物联网技术在我国得到了政府及市场的空前支持,物联网技术随之快速的发展。在物联网技术的引导下,国内智能家居系统再一次得到了崭新的发展良机。现阶段智能家居系统被集成到物联网技术中,实现对象与对象之间的家居、人与物之间的信息交流,物联网技术再次对智能家居系统提出了新的解释。目前我国对于智能家居系统需求大量的需求,未来市场具有广阔的发展空间,智能家居技术的发展也具有良好的实践环境。

1.2.2 智能家居发展趋势

时间不断的流逝,技术也在不断的更新,智能家居的研究现阶段正处在一个万紫千红的场景。智能家居系统经过了从无到有,从有到广的不断发展,从有线4

传输到无线传输,从短距离控制到远程监控,从最开始的手动实施到现阶段的智能化配置,智能家居在推动科技进步和快速发展方面,已取得实质性进展[9]。自从智能手机出现后,智能家居远程控制系统及报警展示系统就更加丰富了,对于一些远程控制机报警系统不在单独在计算机上进行使用,通过对于安卓及苹果手机设备程序设计使用,实现智能家居设备远程控制方式及产品组成多元化[17]。

在全面建设小康社会的国家指示引导下,全国人民生活质量的标准得到了很大的提升空间,住宅居住环境也有了一定层次的需求标准,安全性高、舒适度强、高效方便可靠的智能化家居系统成为符合人们高要求设备产品重要体现[33-34]。在未来智能家居系统要求对每一个家居设备都需要进行监控的,实现家庭所有装饰的智能化,无需人为进行任何操作,如地面天天自动清扫一次、衣柜根据需要自动打开关闭、餐后自动刷碗等等,完成智能家居一句人类意识就能进行特定工作的方向发展,用户在家庭内通过脑中想象需要,智能家居系统就会自动去实现人们所需要处理的时间的相应操作。所以未来智能家居系统能够具有人类思维与机器之间信息交流,机器能够完全实现只能推理富有意义的智慧等功能的高度相结合的智能化产品[35]。随着市场经济的发展,在市场的引导下智能家居系统会逐渐的向用户需求及用户体验的方向进行发展,用户最为智能家居系统的最终使用者,智能家居的就是未用服务最为开发的宗旨。高强度的生活节奏及高品位的追寻,要求智能家居能够实现家居管理的完全智能化、安全管理层度是人们考虑最多的问题所以一定要有一套全面可靠的安全管理及使用措施、能够为人们生活提供舒适的生活环境能够调节家庭内符合个人个性的生活环境。未来智能家居的发展将具有极大的市场前景,同时也面临着严峻的考验。

1.3 本课题研究内容

针对本文研究的特点硬件网关及服务端平台的系统使用的WinCE操作系统,嵌入式硬件设备,采用基于ARM10体系作为整个硬件设备技术支持英特尔xscale270核心处理器,系统设计与实现过程中使用Keil2集成开发工具、VS2005集成开发工具和Delphi集成开发工具对本系统的代码进行编写。依据完备的硬件平台的构建编写了与之配套的应用软件平台和相关代码。对于程序代码的编写工作主要涵盖硬件网关设备的WinCE操作系统相关功能设计、嵌入式设备平台服5

务端软件设计、计算机客户端应用软件的设计及家电控制端底层代码的设计。实现家居系统的智能化监控,能够对家居内的电器设备进行集中化的管理,能够对家居内的环境通过远程视频系统进行实时查看,能够对家居内的安防设备进行远程化控制监管。本文研究系统主要是通过手机短消息远程设置家用电器工作状态功能、实时监测家居内安防功能的传感器工作报警信息,同时,通过手机短信发送到远程报警用户提醒报警信息,以及以太网实时视频监控及嵌入式服务端管理软件能够实现对家电控制传感器报警信息的动态画面显示等功能。短信控制家电是通过GSM模块实现家电与人的沟通,用户通过手机发送短信信息命令,家电智能端接收到短信命令后进行解析实现对家电的开关等操作,对设备的远程控制的实现,GSM模块数据的编辑通过AT命令;传感器来检测异常的环境,通过手机短信和嵌入式服务器应用程序通知业主,通过获取家庭内的传感器实时环境如可燃性气体,烟雾,是否有人非法进入等,然后对数据信息进行处理,通过手机短信方式发送给业主进行响应的报警提示,业主就能够及时的做出相应的处理措施;以太网实时视频监控是指通过网络摄像头能够实时的监测家居内的视频画面,通过以太网将视频流传送给业主,业主通过开发的视频软件能够远程实时的查看家居的可是画面信息,通过以太网实现视频流的实时传输。

1.4 论文结构

本文通过设计实现了符合我国国内家居环境实用性强、安全度高、舒适程度好的智能家居系统,并对整个系统的设计过程进行了详细的阐述,系统实现后进行了周密的测试,对系统设计与实现过程进行总结与未来系统的展望做了阐述。

第一章介绍了研究的社会背景、技术背景、发展现状和未来趋势。

第二章节综合归纳了本文研究课题的整体设计实现方案,涵盖硬件设备和软件程序两个方面。对每一个硬件设备模块的功能点进行详细的阐述说明,最后对软件系统的整体设计框图进行展示说明。

第三章节主要介绍了嵌入式系统的操作系统的定制实现,通过BSP安装到添加平台特征和配置平台再到红外串口与蓝牙串口的打开,最后实现对系统的编译生成及下载到嵌入式中控芯片内。

第四章节主要介绍了整个系统的应用软件的核心部分的设计,包括智能家居6

系统人机交互接口程序设计、串口通信功能设计、GSM通信模块程序设计、图像采集模块程序实现、以太网通信模块的数据传输、计算机端的视频监控客户端软件的实现最后是家电控制机传感器模块的程序实现,同时会介绍软件编码及程序流程图。

第五章节针对完成的智能家居系统进行综合的系统功能测试,通过测试环境的阐述及测试步骤的描述验证系统的实用性、安全性及可靠性。

第六章节是本文的总结与展望部分,对本文进行了详细的总结以及对本系统未来的研究趋势进行了展望。

7

第2章 系统设计方案

本文研究的智能家居系统的设计与实现主要包括两大部分,一部分是硬件系统的研究,另一部分是对软件系统设计部分的研究。本文研究课题具有通过手机短消息远程设置家用电器工作状态功能、实时监测家居内安防功能的传感器工作报警信息,同时,通过手机短信发送到远程报警用户提醒报警信息,以及以太网实时视频监控及嵌入式服务端管理软件能够实现对家电控制传感器报警信息的动态画面显示等功能。通过对智能家居的整个过程中的原型系统的研究与开发和实施的建立,系统的核心部分是一个嵌入式系统,包括硬件的选择和实施操作系统核心芯片定制和控制程序,整个智能家居所有的监测数据与控制数据都是在此部分实现的。现阶段智能家居的功能需求主要停留在对家居内视频画面的远程监控查看,能够实现对家电设备的监测与控制其中包括近距离的控制与远距离的控制和信息的查看等,能够通过手机提示家居的报警信息和对家居家电设备的远程控制,手机通过发送与接收短信的形式完成人与设备之间的信息交换,通过上位机及计算机能够实现对远程视频信息的实时查看。下面将对系统的整体设计方案如何设计进行详细的阐述。

2.1硬件总体设计框图

本研究课题的硬件总体设计结构图如图2-1所示,硬件核心处理单元采用基于ARM10的嵌入式操作系统,基于单片机技术实现电器设备监管及使用传感器进行环境异常提示模块,基于串口通信的GSM无线通信模块,具有实时采动态集画面需求的摄像头单元共同组合为本体系的硬件框架布局。

8

图2-1 硬件设计框图

嵌入式系统:采用基于ARM10体系,英特尔xscale270核心处理器,核心处理器使用WinCE嵌入式操作系统,通过USB口与外围摄像头连接,两个RS232串口分别与家电控制模块和GSM通信模块、与上位机和PC软件之间的数据交换是通过RJ45接口实现。嵌入式系统是整个智能家居硬件系统的大脑,传输数据进行接收与处理,通过USB口、RS232串口、RJ45口实现与外围设备之间的数据交换。

家电控制模块:单片机控制电器控制模块和传感器报警模块,通过串口对单片机和嵌入式控制中心进行数据传输,单片机控制四个LED灯来模拟家电,三个按键用于模式传感器的数据采集状态。单片机通过继电器实现对于家电的控制,通过LED等展示控制的状态。

GSM模块:GSM通信模块是用于实现手机与嵌入式控制中心数据交换的唯一通道,用于实现现代移动通信的数据传输,能够接受及发送短信给业主手机。GSM模块与嵌入式核心处理器之间使用RS-232标准串口进行信息传递,通信模块使用AT指令最为标准使用指令。

视频监控单元:采用USB接口与控制中心连接的摄像头,用来实现视频传输的实时监控摄像头。视频流通过控制中心传送给上位机的视频监控软件进行视频画面的显示。

9

2.2控制核心选择

基于ARM10架构英特尔xscale270核心处理器作为系统开发平台的硬件平台的智能家居系统,核心处理器能够运行的嵌入式操作系统包括WinCE及Linux等,而且此实验箱平台能够同时满足教学功能和研发使用,如图2-2所示。

xscale270处理器的操作频率可以达到520MHz的,也有一个无线充电技术和动态电源管理技术,也有超级多媒体处理技术的等优势,兼顾处理性能和低功耗的特点[21]。核心处理器具有32M的闪存ROM和64M同步动态随机存储器,外围设备具有兼容触摸屏、RJ45网口、RS-232DB9标准串行口、USB数据通信口等功能,完全符合本研究所用。

图2-2 平台

PXA270处理器具备ARM10架构,能够满足智能家居系统所需要的实时数据处理能力及大数据传输,更主要的是能够实现摄像头的视频流的接收及处理传输等。具有多个串口能够满足智能家居系统硬件设计中所要求的同时使用两个串口的功能设计,串口采用统一RS232串口标准,能够实现TTL电平的转换等[32]。

采用XSBase270作为开发平台最为智能家居研究的硬件核心主要是有以下几个原因:一是对于智能家居系统主要是通过ARM控制器实现数据的集中管理,硬件设备现阶段市场上具有很成俗的产品而且性价比都比较低,能够满足对于其他硬件设备的兼容,因此没有必要自己进行硬件的设计,自己进行硬件的设计不能够保证硬件系统工作的稳定性,也不能保证产品的价格低廉,开发一款硬件产品肯定要比使用现有成熟稳定的产品消耗成本多出很多倍;二是XSBase270作为开10

发平台最为一款教学和实验的多功能实验平台,平台为用户提供了很多数据接口机硬件电路图,非常适合研发阶段,当设计成熟稳定之后可以进行硬件的自己生产,前期设计研究过程足够满足研发设计需求,而且提供非常详细的研发资料。

2.3家电控制板

对于家用电器部分选取基于STC89C52单片机作为控制电路部分核心处理器,家电硬件部分如图2-3所示,有4个用来模拟四种家用电器的LED灯和3个模拟三种传感器工作状态变化的按键及串口通信单元组成。4个模拟家用电器的LED等分别连接在单片机STC89C52的P1_0、P1_1、P1_2、P1_3引脚上;3个模拟不同传感器的按键分接在单片机的P2_0、P2_1、P2_2上[31]。通过单片机的引脚状态控制LED灯的亮灭状态显示对四种家电的开关状态,当单片机引脚为高电平时LED灯点亮表明家电处于开启的状态,当单片机引脚为低电平LED熄灭表明家电处于关闭的状态。传感器在智能家居系统中的应用是在不间断及高灵敏度、稳定输出情况下工作,所以本系统根据工业级的传感器的特性使用三个按钮模拟传感器的信号采集,当按钮被按下时单片机的引脚变为高电平表明传感器已经采集到信号,当按钮不被按下时单片机的引脚为低电平表明传感器没有采集到信号。对家用电器的控制模块的核心处理器采用RS232串口与主控制器通信,和电源是由5V直流电源供电。

图2-3 家电控制模块

11

2.3.1串行端口电路

家电控制模块与嵌入式开发平台之间的通信依靠的是串口方式,串口使用232芯片实现TTL与串口电平之间的转换,提高数据的传输速率和可靠性能。家用电器的控制面板和XSBase270串行通信实验箱采用RX和TX交叉连接模式,读和写数据传输。电路的连接如图2-4所示:

图2-4 串行端口电路连接图

根据串行端口电路连接图可知家电控制模块串口使用的DB9直插式串口接插件端子,对于9针的直插式串口器件端子而言,在使用其进行信息传输中仅仅用到rxd(读)、txd(写)和gnd(电源地)一共3个接口单元,rxd(读)用于数据信息读取,txd(写)是用于数据信息写入,gnd(电源地)是用于实现家电控制板与主控制器之间具有相同的参考电压,实现数据之间的正常传送,引脚定义如图2-5所示:

图2-5 DB9串口端子的引脚标示图

图中2号引脚rxd(读)信息回收端,3号引脚txd(写)信息输出端,5号引脚gnd(电源地)与外接设备之间共地端用于实现具有相同的信号地参考电压所用实现数据正常传输。一般常见的串行方式进行数据传输时都是连接这些引12

脚;对于所谓不常见的串口使用方式,像蓝牙模块实现串口通信时,在连接完上述三个引脚后还要将6引脚DSR和8引脚CTS连接到电路中,原因在于蓝牙串口通信传输数据信息时需要使用6引脚和8引脚实现控制相应的数据信息。本文研究的智能家居系统都使用了这两种串口方式,家电控制模块使用的是普通常见的串口连接方式,GSM无线通信模块使用的是特殊不常见的连接方式。

RS-232串口的工作原理是数据信息依据信号参考地为基准进行正负电平之间的转换,有数据是工作电平在+5V~+15之间进行变化,没有数据时只保持TTL电平。由于传输层和接入层,不同的是只有约2 ~ 3V,由于技术等原因及设备材料的原因使得通信范围最远才能达到15米,因此不能够实现远程的数据传输,传输速率能够达到20kB / s

[22]。使用芯片如图2-6所示。

图2-6 MAX232引脚图

13

2.3.2家电控制电路

图2-7 模拟家电控制电路

图2-7为模拟家电控制电路,用于实现家电设备的控制研究与设计所用,电路图中包含4个继电器用于实现控制4种不同家电的工作状态,4个PNP的三极管是继电器的电流驱动单元,保证继电器工作电流达到典型值,4个继电器的工作状态由stc89c52单片机的数据引脚实现控制操作,然后DD1~DD4 四个单色发光二极管主要是用于监控四路家电工作单元的工作状态,方便系统设计及如后系统的维护。模拟家电控制电路的工作状态主要是通过单片机stc89c52的P1.0~P1.3引脚实现控制,当单片机的P1.0~P1.3引脚为高电平时,DD1~DD4

发光二极管为熄灭状态,Q1~Q4处于不导通的状态,使得继电器内部线圈没有通电,继电器工作在常开状态,代表四种家电的LED灯处于熄灭的状态,表明家电未进入工作状态。当单片机的P1.0~P1.3引脚处于低电平状态时,DD1~DD4 发光二极管为点亮状态,Q1~Q4处于导通的状态,使得继电器内部线圈通电,吸合继电器内部的开关,使得继电器工作在闭合的状态,代表四种家电的LED灯处于点亮的状态,表明家电进入工作状态。

14

2.3.3传感器接口电路

图2-8 传感器硬件连接图

图2-8传感器接口电路图中显示,单片机STC89C52的P2_0~P2_3引脚用于实现对可燃性气体传感器、烟感报警器和人体红外热释电传感器的数据接收,因此端口之间采购光耦隔离方式,去除信号的干扰,确保数据更加精准。传感器无报警状态下光电耦合器处于断开的状态,P2.0~P2.3引脚处于低电平的状态;反之传感器发出报警信息后,光电耦合器处于导通状态,P2.0~P2.3引脚处于高电平状态,处理器根据引脚信号的电平不同确定传感器是否报警及进行后续数据处理等。传感器的工作状态通过按个按钮进行模拟,通过按钮的按下与否实现对光电耦合的内部光电隔离器的导通与否实现传感器信号采集状态的改变,同时信号输入单片机的引脚端加入下拉电阻实现干扰信号的隔离,增强传感器信号的灵敏度[36-37]。

2.4 GSM通信模块

对于智能家居系统中远程通信和人机交互的通信模块使用西门子公司研发的MC35-GSM无线通信模块,因为MC35-GSM无线通信模块拥有GSM900和GSM1800两种频段,能够实现数字方式、语音方式、短信方式及传真方式的数据流传输。此模块对于短信息的数据传输通过AT标准指令进行管理实现,同时与嵌入式核心处理器之间的数据交流使用的是RS-232标准串口方式,标准工作电压为9V

[38-39]。GSM通信模块用于实现对智能家居远程无线数据的传输,包括对于远程家电设备的监控、传感器报警信息的远程提示与嵌入式监控程序协调工作。GSM数据传输采用短信息技术,使用的现代移动通信技术,不受地域的影响,能够实15

现人机交互,用户通过编辑短消息实现对家电的控制,报警信息可以通过短消息提示给用户。西门子MC35模块最为行业内工作稳定、兼容性强等优点比较好的一款产品之一,所以本文采用此模块进行GSM通信模块部分的研究,能够保证系统的工作稳定性。

图2-9 西门子MC35

2.5视频监控模块

视频监控模块作为本研究课题远程视频查看智能家居内部情况的唯一可是系统,需要使用一款性能稳定、传输速率高、接口灵活的设备。采用中星微的视频采集模块(中星微芯片zc0301p),zc0301p芯片可以支持USB 1.1接口,同时中星微的视频采集模块支持VGA视频传输格式,视频流传输方式使用USB数据口进行数据传输。摄像头采集的视频画面数据流使用USB数据接口传送给嵌入式系统上,嵌入式核心处理器在通过以太网口的TCP/IP协议传给计算上的视频软件查看客户端,实现远程视频的查看,可应用在局域网和互联网内实现视频流的传输。

16

图2-10 301P摄像头

2.6总体软件设计方案

软件设计部分与硬件设计部分是息息相关的,二者相辅相成组成整个智能家居系统。系统整体结构如下图2-11所示:

图2-11 软件设计框图

本课题应用软件程序由三大部分组成,串行数据通信部分程序功能实现家用电器传感器的监控与监测及远程GSM无线数据信息传输、远程实时监测家居内视频画面监控功能应用程序、采用基于计算机网络技术的TCP/IP以太网技术实现对ARM服务器端和PC客户端之间的数据信息流通,其中:

通过嵌入式实验平台的普通串口和特殊蓝牙串口实现与家电控制系统和GSM网络通信分别的连接,用于模块与主控制器之间的数据通信。如图2-12所示。

实时视频监控通过USB摄像头采集图像,通过以太网实现视频流的传输,然后将还原图像的图像数据通过PC客户端应用程序进行展示。

对于以太网数据通信方式使用计算机网络技术中的tcp/ip网络数据通信协议技术完成,在开发过程中采用局域网进行实验环境搭建,但是系统能够完全的投入在互联网大的环境内使用,只需要加入路由器和对路由器进行端口映射即可。

17

图2-12 红外串口与蓝牙串口

2.7本章小结

本章主要介绍了本开发系统的整体设计方案,阐述硬件电路设计方案,并对每一个功能模块进行详解。

18

第3章 操作系统的定制

3.1 BSP的安装

对于XSBase270实验箱来说,WinCE嵌入式操作系统在实验箱上运行需要有厂家提供的BSP板级支持包的配合工作,所以本文对于如何安装BSP进行详细的讲解。BSP主要是用来支撑操作系统访问硬件设备的底层驱动函数库,板级支持包作为操作系统与硬件之间沟通纽带,连通着硬件与操作系统数据通信的重要工作。

在安装BSP之前需要在计算机上安装好WinCE集成开发工具,待开发工具安装完毕后通过实验箱提供的资料光盘安装BSP。BSP在资料盘工具目录下面,通过完成板级包的部署,按照界面的信息提示一步一步的进行安装即可,安装界面如下图3-1所示。

图3-1 BSP软件安装界面

安装好bsp后,使用pl-builder 工具安装系统镜像[24]。在“亿道系统:ARMV4I

XSBase270”完成选择,鼠标左键单击“下一步”按钮来完成。如图3-2 BSP种类的选择安装所示。

19

图3-2 BSP种类的选择安装

3.2添加平台特征和配置平台

在平台中添加必要的特征是用于实现对系统的外围设备接入,同时也是系统开发中重要的一部分,具体的添加特征信息如下所述。

(1)添加USB同步(文件同步)组件,嵌入式操作系统与计算机之间的数据传输都是通过此组件完成。

(2)添加简体中文字型组件,安装简体中文字库,以显示中文,利用汉字方便的开发调试程序,友好的文本显示界面。

(3)添加文件支撑组件,用于实现ARM中文件事件管理功能。

(4)添加分区管理,嵌入式系统内Wince添加分区管理功能主要是方便内部管理。

(5)添加到面板控制存储器管理部件,内存管理。

(6)增加基于软件的输入系统(软键盘等),以方便系统的使用,实现系统的外部输入数据操作。

(7)增加平台经理(网络管理)。

(8)添加USB组件实现对串口设备管理功能。

完成添加后的特性,则需要设置平台属性。通过单击开发工具平台的菜单选项->设置实现位置和语言的设定,内容要按照下面给出的软件操作界面截图3-3上面详细全面的选择方式进行。

20

图3-3 软件操作界面

程序组建选项设置,如下图3-4所示,只选择如下两个选项即可。

图3-4 程序组建选项设置

通过编译程序获得嵌入式操作系统镜像文件的过程为参考下图。生成镜像文件的操作过程和方法结合软件界面截图3-5进行操作。

21

图3-5镜像文件的编译操作

3.3串口部分设置与调试

在编译生成的系统镜像中对于串行通信口设置只具有DEBUG联调作用,板载上的其他串行通信端口如红外和蓝牙的串口通信端口并没有被启动,但是在智能家居系统中还需要使用这两个串行通信端口。本研究中需要使用这两个串口进行家用电器模块控制通信和GSM无线数据通信模块的使用,所以必须将它们打开,打开的方法如下所述。

(1)查找中断号

嵌入式实验箱所使用的中断号实在BSP包中所定义的,通过命令行查看串口的中端号。如图3-6所示。

图3-6 BSP中的串口中断定义

通过上图所示不难发现用于功能调试的串口的中断号十进制为28,将其转换成十六进制为0x1C;而用于数据传递串口的中断号是27,将其表现成十六进制编码方式是0x1D;中断号的功能是程序中识别中断时间的标识。

(2)修改注册表

打开以下文件夹,E盘下的platformes文件夹下XSBase270,是用于实现嵌入式操作系统存储数据所用,E盘下的platformes文件夹下XSBase270文件的22

子目录Release包含有硬件初始化函数。注册表程序已经包含有蓝牙串口的注册表程序代码,现在需要将另外一个普通红外串口的程序代码加入即可,到此完成了串口程序的注册表初始化功能。加入初始化红外串口的代码如下图3-7所示:

图3-7 初始化红外串口的代码

代码添加完成后保存配置文件完成程序脚本的修改,至此配置及驱动部分已经完成。打开之前已经建立的WinCE操作系统的工程文件实现内核的编译,编译步骤为:Build OS-> Make Run-Time Image,生成新的内核文件。是WinCE的内核文件,是经过裁剪及针对本系统应用所设计的操作系统,经过处理后的内核文件在处理数据速度更高,没有冗余功能。

23

3.4操作系统的生成与下载

在上述过程中完成了嵌入式操作系统的定制开发过程,编译程序运行或者解决放部署生成了0文件和NK内核-两个文件,这两个文件是嵌入式操作系统所必备的内核系统文件。嵌入式WinCE操作系统的运行是依靠两个文件,因为我们做的计算机系统需要一个系统文件。对于这两个文件如何下载到嵌入式ARM芯片内部是通过串口及工具或者SD卡将它们烧写进入XSBase270实验箱,根据嵌入式系统烧写软件提示的信息进行文件的下载,带程序下载完毕后系统进行重启进入WinCE系统内。在这一点上,嵌入式内核的智能家居系统已经完成。

3.5本章小结

本章主要讲述的嵌入式操作系统的定制过程,首先通过BSP安装,其次是添加平台特征和配置平台,最后是操作系统生成与下载三个方面讲述操作系统定制的全过程。

24

25

第4章 应用软件设计

4.1应用程序编写环境

VS2005集成开发工具用于开发智能家居中嵌入式服务端程序及嵌入式操作系统的内核裁剪及定制编译工作。VS2005集成开发工具是应用在Windows窗口平台上的一款窗口界面化的集成开发工具,适合进行应用软件程序的设计与研发使用,而且具有多平台合作开发程序的功能特点[25]。

图4-1 Visual Studio 2005

4.2智能家居人机接口设计

智能家居人机接口设计是设计用于实现用户通过开发的应用软件实现对整个系统中相应硬件设备的控制,采用MFC开发语言实现应用程序软件界面程序的开发,程序开发的过程下面进行详细的介绍。

打开VS2005集成开发工具,新建MFC应用程序工程文件,用于实现人机接口应用程序的设计。软件图形界面如图4-2所示:

26

图4-2 新建智能家居的应用程序

建立新的项目时,对项目自行添加名称和存储位置如图4-2所示,填写完成后按照软件提示方式实现整个项目工程的搭建,期间在软件开发包支持界面时,将系统平台选项加入进工程文件同时移除pocketpc2003选项。软件界面如图4-3所示。

图4-3 选择软件开发包支持

选择程序软件界面上的下一步按钮,在下一个界面内选择待开发的程序资源27

种类及采用的编程语言,如下图4-4软件界面所示,选择MFC应用设计语言进行程序的设计,在MFC程序设计方式中Application type使用“Dialog based”设计应用程序的窗口整体界面风格,Resource Language使用“中文(中国)”,用于展示在界面窗口中的语言显示,显示为中文能够更加友好的支持大家对软件的使用,增强软件界面的交互性,其他项目使用默认选项。

图4-4 选择应用程序种类

待其他选择项都选择好以后,单击Next按钮,根据界面引导完成整个工程解决方案的建立。项目建成后,它将自动进入IDE环境。该集成环境窗口布局图4-5所示:

28

图4-5 VS 2005软件界面图

在熟悉开发工具的功能后,开始进行应用程序界面的设计。由于MFC搭建图形界面是具有灵活方便的器件控件库,所以在图形界面设计时通过拖拽控件器件的方式完成,应用程序界面的对话框设计成如图4-6所示,具有信息窗口、报警、家电控制、设置等功能区域组成。界面其他部件通过器件库添加到对话框内完成。对于代码部分进行编写时,只需要通过鼠标点击控件进入代码编辑窗口进行功能代码的编写即可。本系统的控件单元的名称及控件数量和控件功能按照表4-1所示进行设置即可。

29

图4-6 系统服务端应用程序界面

图4-7 系统应用程序控件设置表

4.3串口通信功能设计

4.3.1串口通信协议

嵌入式服务端程序设计中使用CCESeries函数实现串口通信功能,在该类函30

数中编写串口所需要的初始化功能函数、串口实现数据的读写功能以及如何实现串口功能关闭等。对于类函数的实现方法下面将进行详细的介绍,通过程序流程图讲述软件设计的流程,及展示部分程序代码。

4.3.2软件的实现

集成开发工具的使用,如图4-8所示,添加类CCESeries函数法,对程序代码的实现完成。图4-9和图4-10中对CCESeries函数功能和函数成员变量进行了详细的阐述,程序编写中要严格按照此表进行。在程序代码设计过程中根据表中所讲述的函数功能和成员变量的描述进行函数的调用及应用。

图4-8 如何添加类函数方法

图4-9 改函数类成员

31

图4-10 该类成员所需变量

4.3.2.1打开串口与配置串口

对于本地设备驱动程序而言主要包括外界键盘和软键盘程序、普通显示屏和触摸显示屏驱动程序等,这部分驱动程序对于设备而言是比较相对唯一的,设备在生产阶段就已经对相应的设备驱动程序进行了编写[26],随着产品的发行一同面向客户进行提供,因此在设备固定的情况下驱动程序也是相对不变的,功能稳定及完整的实现后就不需要进行任何的修改,在程序设计中直接调用功能函数即可。相对于本地设备而言的流设备驱动程序是由所选择的设备厂家进行提供,在选择外界设备的时候,厂家会相应的提供程序驱动包,程序包内包含一些设备的功能函数或者资源动态库等,用户在编写程序时可以添加这些资源库然后引用相应功能进行实现,连接设备进行软件程序调试即可,无需进行再次的开发。

嵌入式操作系统应用程序使用流设备驱动程序时拥有特定的命名规则,采用的字符串与数字相结合的规范形式,对于串口驱动而言字符为com,但是需要主要注意的是流设备的驱动程序除了字符和数字外还要拥有英文的冒号“:”放在数字的最后面进行使用,这样是与系统设备驱动区分表现。通过调用特定的字符实现对相应串口的使用,如要使用串口2,程序中则表示为COM2:即可。

在程序设计过程中,需要对整个程序的开发过程进行详细的设计及规划,其表现过程就是设计程序的流程图,对于串口程序函数的流程图如图4-11所示:

32

图4-11 打开串口功能程序流程图

在串行通信功能的驱动代码的编写,串口设备控制CreateFile的使用方法,程序设计中用这个函数实现对于串口功能中所有驱动程序中对于使用串口开始工作进行操作。在WinCE嵌入式操作系统中,对于外接硬件设备的I/O数据接口来说,一个数据接口只能连接一个设备不能同时连接多个设备,因此在数据接口接收数据传递通过中通过设置的标识符send_js_ff_baoshi参数实现。所以对33

CreateFile函数的功能是从其他不同的方法函数,因为串口功能未能返回参数信息通常不是0或者null。

然后再类函数的编写代码文件中定义一个具有句柄类型的全局变量用于实现接收和保存函数成功将串口打开后返回的参数值,然后实现对于串口的数据写入和数据的获取及串口的启动关闭等一系列操作。

对于串口函数的使用需要进行一些相关的操作,相关操作过程是在串口函数调用成功后进行。如果一个串口想要能够正常的进行数据传输的工作需要进行一系列的设置,其中包括传输数据的串口波特率的设置、每次能够传输数据的长度设置等等。该程序主要是通过串口getcommstate功能和setcommstate功能波特率,停止位字符长度实现串口参数的设置工作。getcommstate函数和setcommstate函数方法拥有相同的对于串口操作的句柄及用于DCB结构操作的指针参数,然而对于如何配置需要遵循下图4-12的规则。

图4-12 如何设置串口DCB规则表

图4-13 如何设置串口DCB规则续表

在串口功能函数调用启动串口功能后,实现串口的启动进行数据的读写功34

能,在串口使用过程中需要对串口读写数据的时间进行相关的规定限制,此操作过程是为了对串口读写效率的提高进行的操作即超时值设定过程。什么是串口设定的超时值呢主要是针对WinCE串口读写串口自动回以前的时间读或写操作等长度。根据设置的超时值,程序能够提高数据的处理能力,避免长时间接收不到数据信息时,程序出现等待的现象。在程序设计中,调用以下两个函数实现控制串口数据传输超时问题。

其他的函数,设置串口的输入输出缓冲区,输入输出缓冲区相当于一个容器,当串口正在处理数据时,有新的数据进入就会存储在此部分内,避免数据出现遗漏或者串口出现拥塞等现象。串口的输入输出缓冲区函数,设置串口检测的事件集,用于对串口驱动程序事件包含参数的设置。

对于串口事件集函数的连续的检测,可以使线程等待实现。串口常见的驱动事件标志及功能如图4-16所示。

图4-16 串口常见的驱动事件标志及功能

4.3.2.2关闭串口

上面讲述了如何对于串口打开功能的描述,串口打开后就会产生关闭串口的问题,通常对于串行通信口的工作停止可以通过CloseHandle函数实现,从而实现对于串行通信口句柄的销毁,最终实现了停止整个串行通信口工作的操作。关闭串口句柄的函数原型如下

closehandle(com);

另外一种方法是关闭串口的线程函数实现对打开串口的关闭操作,关闭线程函数如下所示:

bool terminate commthread(handle comthread,dword close);

35

在函数的参数,用于关闭线程处理comthread参数,该参数close一般是0。如何鉴定串口是否已经关闭呢,是通过检测关闭串口后返回的参数数值,如果串口已关闭返回的参数值为非零,如果关闭失败的话返回的参数值为0,程序流程图如图4-17所示。

图4-17 关闭串口程序流程图

4.3.2.3串口读线程

串口读线程的方法是用于实现程序的功能,串口读取线程时可以开辟一个新的单元进行,对于函数主程序没有任何影响,读串口ReadFile函数原形如下所示:

bool ReadFile(handl f,//处理文件

lpvoid b,//数据存储标志

dword zfs,//带读取制度数据

Lpdword sjs,//实际读取数

Lpoverlapped ftb//非同步读取数据为NULL

);

串口方式读取数据完成后通过线程的方式向系统窗口中发送消息,这个消息36

是用于告诉窗体已经完成数据的获取,是用户自行定义及使用的事件消息。在向窗体传送的消息中包含有串口接收的数据内容及长度等参数信息。串口读取线程函数的程序设计流程图如下图4-18所示。

图4-18 通过线程功能程序操作流程图

4.3.2.4串口实现数据的写入

如何实现串口功能的数据写入主要在CCESeries类函数中,所使用的串口数据写入函数进行的,包括对已知数据长度、未知数据长度等方面使用不同函数进行数据的写入。对于已经确定数据大小的字符串而言,通常使用

writeport(char*b,int s) 功能函数实现数据传输。无法确定大小的字符串而言,采用writeport(char *buf )方法函数进行编码传值,对于字符串所包含的37

数据信息机长度需要程序自身进行分析获取。前者提高了写串口的时间效率。

Bool writefile(

Handle file,//处理文件

Lpcvoid bf,//存储指针

Dword ddatal,//待操作的数据长度

Lpword sdatal,//存储实际数据信息

);

4.3.2.5串口类的调用

在串口软件设计过程中对于串口类的操作需要在主函数中使用CCESeries类函数完成,从而才能够实现对于串口功能的各种使用。在函数引用过程中需要将CCESeries的头文件函数添加到嵌入式网关服务端对话框功能函数CsmartHomeDlg主函数的头文件中,通过“#include “CCESeries.h””方式添加引用。同时在主函数的头文件中定义两个具有public公共属性的全局变量一个为蓝牙串口变量m_Bcom,另一个为红外串口m_Icom变量,然后实例化类CCESeries类。

在主函数的应用程序编写文件中实现串口的程序的编写,实现串口的调用,一般采用m_rt(,1,9600)的方式实现串口的调用数据的传输机串口波特率的选择设置。

4.3.2.6串口的监听

在读取串口读取的消息线程,串行传输系统称为wm_rxchar_all消息给窗口处理程序系统。在窗口处理程序中,您必须响应串口数据监控功能和功能的作用。

在程序应用代码中,对于串口的监听功能需要在主函数中添加相应的功能声明,通过声明后才能够实现对于消息事件的响应及操作,添加消息为:

On_Message();

对于添加的消息事件声明的参数OnComRecvMsg是已经定义并具有相应该消息事件的功能函数的名称,并且在头文件中已经对此函数进行了定义及声明引用,声明过程中一定要使用消息声明关键字,用于告知函数体它是消息响应函数。

38

4.4 GSM无线数据传输模块

远程数据传输功能主要是借助现有的成俗模块GSM模块,以运营商短消息方式远程异地传递数据信息,从而实现无界限实施报警提醒展示,确保使用者安全使用及时查看异常报,从而实现整个系统中对于传感器信息采集报警及家用电器未关闭等远距离短信报警功能。GSM模块具有高稳定性、高时效性,为智能家居无线数据传输不受地理因素的影响,实现远程家居监控系统和报警信息传输。

4.4.1 GSM无线数据传输的基础

4.4.1.1 PDU编码规则

在使用GSM无线短信通信设备中使用的短信技术的操作模式包括模块模式和在使用AT指令方式的基础上的PDU模式模型和基于文本模式,。

对于短信技术而言最开始发展期间通过开发者提供特定的驱动程序的支撑,采用的短消息模式是Block方式,但是随着技术的不断发展,新生的方便快捷简单的短信模式逐渐将其取而代之。文本模型相对简单,它只支持发送英文短信,无法发送中文短信息。本文研究的智能家居系统人机交互及无线数据通信方式,通过PDU短信息技术发送手机短信实现的,此模块包含能够满足多国家语言形式的数据文本传递信息,能够很好支持中文文本信息的数据传送机表达不会出现任何乱码信息。

PDU数据包的格式是手机短信发送一个数据单元[27]。PDU数据包的数据采用的是压缩BCD编码,数据的编码模式使用的小编码格式及地位数据在最前面高位数据在最后面的方式,而且对于数据的编码方式比较灵活,能够支持多种短信数据内容的压缩编码,能够支持短信发送数据量为160的bit7模式、短信发送数据量为140的bit8模式和短信发送数据量为70的ucs2模式等编码方式。

Bit7编码模式主要是对于ASCII普通编码字符进行发送,能够实现128个字符的表述方法。然后将所获得的字符串在编码成十六进制数据方式进行数据的发送。

Bit8编码模式用于实现对二进制编码的数据进行传输。

编码模式用于对发送SMS消息格式。

39

字符数据进行传输。图4-19和图4-20接收和

图4-19 接收短信的报文格式

图4-20 发送短信的报文格式

实例一、发送短信时的PDU码,如下图所示:

图4-21 发送PDU包解析

根据上述图4-21发送PDU包解析的数据参照表和短信的报文格式规范,将手机发送的短信编码的十六进制编码的数据信息进行解码,对发送的数据信息进行详细的解析展示成人们可读方式的数据后,得知运营商短信服务中心的手机号码为:86,接收短信数据信息的对方手机号码为:86,40

分析后得知二者传送的数据信息为:你好。

实例二、接收短信时的PDU码,如下图所示:

图4-22 接收短消息PDU包解析

接收到的手机短信消息的十六进制短信数据信息按PDU图4-22接收短消息PDU包解析分析方法的注释可以获取,移动运营商的短消息中心服务号码:86,数据接收端的手机号码及用户对方手机号码是138****9888,二者传递的短信数据信息的内容是:中国!。

在智能家居中短信数据的传送采用PDU包的形式进行数据的发送和接收,数据的加密性高,在数据接收及发送中严格按照给定的包的格式进行数据的传输,在数据发送及接收过程中按照PDU包解析方法对数据进行分析及标注,将数据的十六进制数据信息转换成人可读的文本信息,更好的为用户进行使用。

4.4.1.2 AT指令

在智能家居控制中心,控制GSM模块进行数据发送和接收的指令采用的是AT标准数据指令,控制中心的核心处理器通过发送AT命令给MC35模块通过串口的方式进行数据的传输。对于常见的AT标准指令图4-23进行了列举,在进行无线通信模块的控制是使用这些常见的指令及功能进行数据的发送和接受的控制。在程序设计的过程要严格的按照表中给定的格式进行调用,否者GSM模块无法解析和使用AT指令。

41

图4-23 系统采用的AT指令

4.4.2 软件的实现

4.4.2.1 PDU编码解码

在整个系统软件设计过程中对于实现GSM无线通信模块的人机交互问题及无线通信问题使用的是短信技术,程序中对于短信技术使用的是PDU模式。在软件程序编写中使用CEncode类函数实现对于PDU短信的数据编码和数据解码的功能实现,通过对类函数的调用及使用实现短信技术在程序中的融合。在图4-24中将类函数的成员函数及功能进行了详细的展示。

42

发布评论

评论列表 (0)

  1. 暂无评论