英语原文共 5 页,剩余内容已隐藏,支付完成后下载完整资料
基于STM32的智能家居控制系统的设计与实现
摘要:为了解决传统智能家居服务器的不足,提出了一种基于STM32F407VGT6微处理器和mu;C/OS-II嵌入式实时操作系统的新型嵌入式智能家居控制系统的开发与实现。详细介绍了基于STM32的嵌入式智能家居控制系统的硬件实现和软件设计。提出的硬件体系结构由远程用户应用终端、终端控制单元和分布在不同房间的各种终端组成。终端控制单元与现场终端之间的通信采用ZigBee技术实现。采用DHT11型温湿度数字复合传感器实时采集不同房间的温湿度数据。然后,选用双频GSM/GPRS模块SIM800A进行传感器数据和远程命令的信息传输。最终实验结果表明,该远程终端可以实现对现场智能家电的控制。远程用户还可以使用手机应用程序或网页轻松浏览家庭温湿度数据。
关键词:智能家居,STM32,嵌入式系统,mu;C/OS-II,控制系统
1介绍
随着科学技术的飞速发展和人民生活水平的不断提高,人们对家居生活的安全、舒适、便捷的要求越来越高。智能家居控制系统将传感器技术、计算机技术、嵌入式技术、自动控制技术、网络通信技术和多媒体应用技术相结合,可以满足人们对高品质生活的迫切需求。智能家居控制系统是家庭楼宇自动化的一部分。家庭事务可以通过智能家居控制系统集中或远程监控,智能家居控制系统集成了照明控制、网络连接、多媒体娱乐、环境传感器、安全控制、冰箱、热水器等家用电器和其他建筑舒适性应用的智能自动化[1-2]。
总的来说,从1975年到现在,智能家居大约有三代:Zigbee协议等无线技术、人工智能控制的电气设备、可以与人类互动的机器人[3]。据统计,2013年智能家居市场规模为58亿美元。此外,据预测,到2020年,智能家居的市场价值将达到128亿美元[4]。如何建立一个完善的、低成本、高效率的智能家居控制系统已逐渐成为世界各国研究的热点。
自上世纪70年代以来,许多发达国家开始研究智能家居网络。1984年,由美联航开发的世界上第一座智能建筑科技公司亮相美国哈特福德,拉开了全球智能家居建设的序幕[5]。美国、加拿大、欧洲等发达国家和地区提出了各种智能家居方案。摩托罗拉、微软和IBM已经在美国生产了自己的智能家居产品。松下、三星、LG和新加坡科技电子有限公司也在亚洲投资了智能家居领域的研发[6]。在我国,智能家居系统的研究相对滞后。十多年前,中国第一个智能家居控制系统出现在上海的居民区。近年来,随着信息技术的不断进步,智能家居网络的研究取得了突飞猛进的进展[7]。未来,智能家居将是我国最热门的产业之一。而且,智能家居市场的前景将非常广阔。
在本文中,提出的框架包括以下部分。第一节介绍了传统智能家居在国内外的技术发展和市场情况。第二节详细介绍了一种基于STM32F407VGT6微处理器和mu;C/OS-II嵌入式实时操作系统的新型嵌入式智能家居控制系统。第三节介绍了基于STM32的嵌入式智能家居控制系统的硬件实现过程。然后,第四节介绍了嵌入式智能家居控制系统的软件设计。最后,在第五部分对本文的结论和未来的工作进行了描述。
2基于STM32的嵌入式智能家居控制系统
一般来说,智能环境监控、电气控制、智能安防控制、娱乐其他功能是智能家居控制系统最常见的功能。在本文的设计过程中,智能家居控制系统的环境监测功能可以监测室内温度、湿度、有害气体等环境参数。然后,可以通过网络通信技术将监测参数远程上传给用户。在电控功能上,智能窗帘控制器、灯光控制器、空调、冰箱等家用电器可以现场智能终端操控,也可以通过手机远程操控。在安防控制功能上,如果有人非法入侵,可以通过人体红外探测传感器进行探测。此外,如果发生火灾等紧急情况,可以通过检测环境参数进行报警和消息提示。
嵌入式系统是用于控制、监视或辅助设备、机械或工厂运行的计算机设备。嵌入式系统是先进的计算机技术、半导体技术、电子技术与各行业具体应用相结合的产物。近年来,嵌入式技术在消费电子、工业控制、机器人、军事国防、医疗设备、网络通信等领域得到了广泛的应用。因此,嵌入式系统技术在嵌入式智能家居控制系统中的应用将是未来智能家居自动化产业的发展趋势。
嵌入式智能家居控制系统的硬件结构如图1所示,本文提出的嵌入式智能家居控制系统网络硬件架构由三部分组成:远程用户应用终端、终端控制器单元和各种端子分布在不同的房间。远程用户通过GSM/GPRS模块SIM800A实现远程控制、监控和通信。ZigBee模块实现终端控制单元与分布在不同房间的终端之间的通信。温湿度传感器DHT11等传感器采集的家庭温湿度等信号通过终端控制单元远程上报给用户应用终端。此外,嵌入式智能家居系统的远程用户可以通过控制单元对现场执行机构进行操作,实现智能电气控制功能。
3 嵌入式智能家居控制系统的硬件实现
具体地说,嵌入式智能家居控制系统的终端控制单元是基于意法半导体公司生产的STM32F407VGT6微处理器实现的。分布在不同房间的终端对处理器性能要求不高。因此,嵌入式智能家居控制系统选用STM32F103C8T6微处理器构建分布在不同房间的各种终端。电容式触摸式液晶显示器由软件驱动,实现人机交互。并利用I2S接口驱动WM8978芯片实现语音解码和播放。
3.1 STM32F407VGT6 ARM微处理器的片上资源
选择合适的芯片是整个嵌入式智能家居控制系统设计的前提。首先,要为相关硬件的电路设计选择合适的微处理器和外围设备。STM32F407VGT6嵌入式微处理器具有低功耗、高性能、高性价比等优点。它具有32位功能强大的Cortex-M4 CPU内核和FPU功能,在额定电源电压下的工作时钟频率可达168 MHz[8]。此外,STM32F407VGT6的片内集成资源如下:可支持DSP指令,高达1M字节的内部Flash存储器,196KB的SRAM,LCD并行接口,3times;12位ADC,2times;12位DAC,2个CAN接口,高达4个UART,3个SPI,高达3个IIC接口,2个IIS接口,通用DMA,高达17个定时器,10/100以太网MAC带专用DMA,USB 2.0全速主机等[9-10]。总之,由于提供了如此多的片上微处理器资源,STM32F407VGT6微处理器非常适合嵌入式智能家居设备和其他通用嵌入式应用。基于STM32F407VGT6微处理器的嵌入式智能家居控制系统终端控制单元的硬件电路如图2所示,采用Altium Designer进行设计。
3.2 传感器数据采集设备
在智能家居的温湿度测量中,选用了温湿度复合传感器DHT11。其单一的总线结构输出可有效节约微处理器的I/O资源。此外,其单一的数据传输线协议使传感器的数据读取变得更容易。传感器已用单总线数字信号输出进行了校准。采用特殊的数字模块采集技术和传感技术,确保产品具有高可靠性和优良的长期稳定性。传感器的湿度测量范围为20%RH到90%RH,温度测量范围为0°C到50°C,传感器的最低温度测量精度为plusmn;1°C,在25°C时的湿度测量精度为plusmn;4%RH[11]。传感器的最小响应时间为6秒。该传感器响应快、性价比高、抗干扰能力强,非常适合智能家居应用。
3.3 GSM/GPRS通信解决方案
智能家居控制系统选用SIMCom公司生产的双频GSM/GPRS模块SIM800A实现传感器数据和命令信息的无线传输。SIM800A是一套完整的GSM/GPRS解决方案,采用SMT封装,可支持双频900/1800 MHz。具有外形小巧、节省成本、性能稳定等优点。它可以低功耗地传输智能家居控制系统的短信、语音和数据信息。凭借24*24*3 mm的小尺寸,SIM800A可以嵌入到智能家居控制系统应用的纤薄紧凑需求中[12]。此外,SIM800A的最大下行数据传输速率可达85.6kbps。SIM800A提供功能齐全的RS-232串行端口数据传输和发送AT命令。智能家居控制系统的STM32 ARM开发板可以通过RS232串口与GSM/GPRS模块连接。然后通过AT指令控制GSM/GPRS模块实现各种不同的数据传输和通信功能。例如,智能家居控制系统的互联网和电话功能是通过SIM800A模块使用AT指令实现的。
4 嵌入式智能家居控制系统的软件设计
4.1 嵌入式实时操作系统
在本文提出的嵌入式智能家居控制系统中,需要同时运行多种处理任务,因此需要对实时操作系统进行移植。一般来说,可以移植到STM32F407VGT6微处理器上的常用实时操作系统有mu;Clinux、eCos、FreeRTOS和mu;C/OS-II[13]。mu;Clinux特点是结构复杂、移植困难、内核较大、实时性较差。eCos适用于商用或工业级成本敏感型嵌入式系统的应用。例如,它被用于消费电子领域。因此,Ecos的应用并不太广泛。FreeRTOS只是一个操作系统内核。它需要GUI、TCP/IP协议栈和文件系统来实现更复杂的嵌入式操作系统。
mu;C/OS-II是微创软件公司设计的多任务嵌入式实时操作系统。mu;C/OS-II内核具有抢占性、可移植性、可读写和可扩展性等优点,特别适合于嵌入式微处理器。与上述操作系统相比,mu;C/OS-II是一个结构简单、源代码开放、功能齐全、扩展性好、实时性强的嵌入式操作系统内核。此外,它只需要很少的内核代码空间和数据存储空间。因此,mu;C/OS-II非常适合移植到STM32F407VGT6微处理器上作为嵌入式智能家居控制系统的实时操作系统。
4.2 嵌入式智能家居控制系统的应用程序设计
基于STM32的嵌入式智能家居控制系统的程序开发流程图如下图3所示,如图3所示,各模块初始化后,系统进入功能选择界面。功能选择界面由电话、系统设置、节点控制、RTC时间设置、音频回放、视频回放、图片浏览、NES游戏等八个部分组成。主任务程序一直在扫描用户是否按下了触摸图标。如果按下图标,则执行相应的功能。此外,主程序以规则的间隔发送心跳分组,以及温度、湿度和其他数据。主程序还负责串口的发送和接收。一方面,根据GPRS是否处于连接状态,需要重新连接到GPRS。另一方面,当主程序获得远程控制信息时,它解析命令,反馈并控制现场设备。最后,在Keil uVision中开发了嵌入式智能家居控制系统的程序。
4.3 远程控制功能的程序设计
传统的通过自建服务器建立智能家居远程控制的解决方案成本高、耗时长的缺点。为了方便、低成本、易控制地访问服务器,本文提出的远程控制方案是利用Fuhome的免费服务器http://www.fuhome.net/.开发的。具体地说,创建UDP服务将GSM客户端连接到Fuhome服务器,实现现场设备与远程用户之间的通信。一方面,终端设备可以方便地按照开放开发协议通过网络收发心跳包和数据包。另一方面,远程用户可以在手机APP或网页上浏览智能家居现场传感器的温湿度数据。此外,它还可以实现多达256台智能家居节点设备的远程控制[14]。嵌入式智能家居控制系统的远程控制流程图如图4所示,具体软件流程如下所示。
- 发送心跳数据包。
需要在每10~30秒内向fuhome服务器发送一个心跳数据包。这意味着现场设备处于在线状态;否则将判断该设备离线并断开连接。在STM32 ARM开发板上运行的发送心跳包的程序命令如下:
- 发送传感器数据
采集传感器数据后,通过位转换发送数据。在该智能家居控制系统中,温度和湿度传感器数据定期分别上传。
- 命令信息由现场服务器发送到设备
远程终端设备可以使用手机APP或网页通过服务器向现场设备发送命令信息。
- 在现场设备执行命令后,现场设备向服务器返回信息。
现场设备收到报文后,将反馈信息返回给服务器,以确保设备已收到命令信息。否则,服务器将假设现场设备没有接收到命令消息。服务器将每隔一段时间重新发送命令信息。如果现场设备在发送命令报文后一段时间没有响应,则该命令报文的发送将被判断为失败。
5结论
本文设计并实现了一种新颖的嵌入式智能家居控制系统。介绍了系统的主要硬件结构和电路。详细描述了利用手机和网页实现远程控制的原理。通过硬件各模块与mu;C/OS-II嵌入式实时操作系统和GSM/GPRS网络通信技术的协同控制,验证了智能遥控娱乐一体化的可行性。家电远程控制和反馈任务已经完成。实现了对室内温湿度传感器的远程监控、音视频播放等效果。此外,基于STM32的嵌入式智能家居控制系统的实现和测试过程如图5所示。
今后,除了本设计中使用的温湿度传感器以外,该架构还将对光学传感器、人体传感器等传感器进行进一步改进,以验证所提出的嵌入式智能家居控制系统的可靠性和稳定性。
参考文献
[1]Michael Schiefer,智能家居定义与安全威胁,2015第九届国际IT安全事件管理会议。
[2]刘某丽,陶密,智能家居系统中基于SQLite的嵌入式家庭服务器的设计与实现,2017年第四届国际信息科学与控制工程会议(ICISCE),第942-946页,2017。
[3]MD.Azmi Bin Karnain、Zahriladha Bin Zakaria,智能家居环境下ZigBee安全增强述评,2015年第二届国际信息科学与安全大会(ICISS),第1-4页,2015。
[4]李双全、李健、聂新新、孔令勇,基于Android的智能家居设计与实现,2015年第四届国际先进信息技术与传感器应用大会(AITS),第32-35页,2015。
[5]苏志华,基于ZigBee的智能家居系统设计,2016国际机器人大会(ICRIS),第167-170页,2016。
[6]Earlence Fernandes,Jaeyon Jung,Atul Prakash,新兴智能家居应用的安全分析,2016年IEEE安全与隐私研讨会(SP),第636-654页,2016。
[7]王宏,卞宏宁,张宏霞
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[239712],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。