基于物联网智能家居模型系统

2017-10-21 21:51徐万银赵康杨妍任旭辉桂易琪
电脑知识与技术 2017年20期
关键词:无线通信智能家居

徐万银+赵康+杨妍+任旭辉+桂易琪

摘要:随着信息技术的飞速发展,计算机技术的应用已经渗透到我们平时的生活当中。该文描述了智能家居的可行性和易操作性,实体建立了一个小型的子等家居模型系统。该系统通过硬件控制模块、串口连接模块、手机通信模块进行智能

家居模型的远程控制。

关键词:Android;智能家居;无线通信

1背景与研究意义

我们正处于21世纪,这是一个信息的时代,人工智能已逐步走人快速发展阶段,信息化的生活给人们带来了诸多便捷。就智能化家庭而言,对大多数人来说也不是一个陌生的概念,但市场上成套的智能家居系统大多价格昂贵,关键技术多掌握在大型家电品牌制造商手中。所以,我们需要一些简单的方式实现家居的控制以供人们借鉴经验或实现生活的个性化。

如今智能手机与Wi-Fi网络几乎随处可见,另外采用单片机控制硬件工作的技术十分成熟。随着近年来智能手机的不断普及,硬件设施日益强大,为手机应用的开发提供了硬件基础,具有极大的发展前景。

基于Android系统与Wi-Fi网络,推出了物联网智能家居系统,基本实现了通过手机对家居进行基本控制。对于那些生活工作节奏紧凑的人,智能家居可以实现远程的家居控制,在时间上提高生活工作效率;另一方面,智能家居还可以实现个性化的家居控制,可以根据个人的习惯设置家居的工作模式。

2项目可行性

1)硬件平台支持的可行性分析

该客户端的设计需要用到的硬件如表1。

根据表1,需要的硬件模块在STC89C52单片机开发板上已基本存在,另外配置ESP8266Wi-Fi模块。

Wi-Fi模块用于为数据的传输接收提供通路。STC89C52RC是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有8K字节系统可编程Flash存储器。通過以上分析,使用STC89C52单片机开发板+ESP8266Wi-Fi模块完全可以达到预期的测试结果。

2)软件开发技术的可行性分析

对于STC89C52内代码的编写可以通过KeilC进行。而安卓客户端的编写,是通过Eclipse平台进行开发。Eclipse是一个开放源代码的、基于Java的可扩展开发平台。Eclipse功能强大,运行快,占内存小,同时是免费的开发工具。出于性能和成本的关系,用Eclipse进行安卓客户端的开发是不二之选。在调试过程中的仿真可以通过夜神模拟器来进行。

基于Wi-Fi的智能家居安卓客户端的功能包括能够进行用户登录;通过Wi-Fi模块及无线网络进行远近程连接;对网内的功能节点发送开关命令。而在KeilC开发环境下实现这些功能有很多相应功能的开源软件可以借鉴来,经过有针对性地处理后使其适合本项目产品使用,在技术上是完全可以做到的。

综上所述,本开发项目具有可行性。

3系统总体设计

本项目由三个部分组成。第一部分:对硬件控制模块进行编程,即对STC89C52芯片内部程序的编写,达到通过接收到数字信号并判断选择控制硬件不同LED灯开关的效果,以此来模拟对不同家电对的控制。第二部分:连接串口,即将Wi-Fi模块与单片机进行连接,Wi-Fi模块与单片机使用串口通信进行数据传输。第三部分:利用智能手机进行通信,即在所研发的APP中输入IP地址和端口号进行Socket通信,操作APP发送数据给Wi-Fi模块进行家电控制。

4具体实现

本章节详细地介绍物智能家居的各个功能模块的布局和实现效果以及操作流程。

4.1硬件控制模块

该模块是使用STC89C52单片机实现的控制模块。使用KeilC作为开发平台,编写控制语句,以单片机上不同LED灯的亮灭来模拟对不同家电的控制,如应用到实际中,通过继电器即可实现。

单片机接收Wi-Fi模块发送的消息,以+IP开头,消息的第9位字符用于判断控制指令,不同的数字对应不同的控制指令。例如,打开门对应了数字3,则单片上进行判断后跳转到相应的程序,从而点亮对应的LED灯。

图2中三张图分别对应了打开室外灯,室外灯、门、室内灯全部打开,以及全部关闭。

4.2串口连接模块

串口连接模块的核心是ESP8266Wi-Fi模块,也是整个系统的核心,起到了软硬件连接通信的关键作用。

Wi-Fi模块与单片机通过串口传送数据,需要对收发的信息进行判断,首先要知道传送的数据的格式。使用AT指令使ESP8266处于ap+station模式,连接所在范围的路由器,启动多连接以及开启服务器模式,以初始化Wi-Fi模块。使用网络调试助手在TCP模式下接受消息,获得wi-Fi模块的数据格式。

使用串口调试助手调试之后,将之前的AT指令写进函数之中,用于启动单片机并初始化Wi-Fi模块,从而正常工作。

4.3手机通信模块

手机通信模块是基于Android平台实现的。

图3展示了智能家居APP的功能界面。在连接界面分为远程连接和近程连接,只要连接成功便能进人控制界面。两种连接方式都需要Wi-Fi模块工作在ap+stion模式下,ESP8266模块产生一个IP固定为192.168.4.1的Wi-Fi网络,同时自身连人附近的路由器。近程连接是手机直接连接ESP8266自身产生的Wi-Fi,通过对应IP和端口号与其进行Socket通信,即套接字通信,从而对硬件设备进行控制,这种方式受Wi-Fi网络信号范围的距离限制。远程连接下,将ESP8266连接到家里的Wi-Fi,并且登录路由器设置ESP8266为DMZ主机,从而能将Wi-Fi模块暴露于外网,而手机端只要能正确输入路由器的lP地址和ESP8266的端口号,在外网中也能与Wi-Fi模块进行Socket通信,从而远程进行控制。

然而,个人家庭网络的IP地址是动态变化的,在APP连接设备时造成不便。在花生壳网站申请一个免费的二级域名,登录路由器开启DDNS,输入花生壳账号的用户名和密码,并且在DHCP服务绑定MAC地址和一个内网IP,这个内网IP便可作为远程连接的固定IP地址了。

5结束语

基于Wi-Fi的智能家居的安卓客户端,是一个具有很强的实际意义和推广意义的设计。一是:国民经济的不断发展,使得越来越多的智能家居设备进入千家万户,并且家庭Wi-Fi也普及开来;二是:安卓系统的移动终端性价比高,普及率广,群众接受容易;三是:家居安全性能也越来越受到重视,通过客户端来增强智能家居的安全性也不失为一个良策。受益于良好的外部环境及市场前景,物联网产业在今后几年将继续保持快速增长,有望带动设备制造业、运营商、应用市场等领域的蓬勃发展。因此基于Wi-Fi的智能家居的安卓客户端是极具开发价值的一个项目。

本项目特色:

1)安卓是一种基于Linux的自由及开放源代码的操作系统,其显著的开放性使得其可以拥有众多的开发者和消费者;

21使用Eclipse进行软件的编写和UI设计,使得设计的灵活性大大提升;

3)通过Wi-Fi进行数据的传输交流,低功耗、相对高的安全性等都是较为突出的优点。

虽然这个项目完成了,但也仅仅是实现了一些基本功能,还有许多的功能尚未实现,有些不完美的地方。这些问题都是亟待解决的,今后将会不断改进所有缺陷,争取完美。endprint

猜你喜欢
无线通信智能家居
基于Zigbee的无线通信技术在智能家居中的应用
无线通信技术在测绘工程中的应用分析
关于智能家居真正需求的探讨
基于LD3320的智能家居控制