卢林杰,秦会斌
(杭州电子科技大学 新型电子器件与应用研究所,浙江 杭州 310018)
随着科技进步,物联网的概念一经提出便迅速蔓延。从狭义上讲,物联网是指使用智能的手段获取多个物体的信息如灯的状态,并统一管理统一控制的网络。因此智能家居照明系统也属于物联网范畴。日常照明,装饰照明等在我们的生活中扮演着重要的角色,随着技术发展,智能照明技术日趋成熟,正逐渐取代传统照明技术,成为一种趋势[1]。
本文介绍一种智能家居照明系统设计方案,通过WIFI无线方式进行信息传输,由STM8S103单片机作为核心控制器,通过Android手机终端进行控制的方案。
该系统定位于普通家庭照明控制,具有开关和调光等基本功能以及扩展功能,可以与其他基于WIFI的智能家居部分结合,组成智能家居系统,统一管理控制。
系统总体设计包括WIFI灯节点的设计、AP协调器设计和Android智能手机终端应用设计,示意图如图1所示。系统采用简单的星状拓扑结构组成独立的局域网,组网简单,稳定[2]。灯节点上的WIFI模块用作STA模式,AP协调器端的WIFI模块用作AP模式,WIFI灯节点个数由 AP协调器可接入的节点数决定[3]。
图1 系统示意图
系统具有如下功能:
①通过手机终端控制;
②可添加新灯,并进行参数修改;
③可控制灯的开关、调光;
④每盏灯有控制密码,首次对灯进行控制时需要输入控制密码,密码可修改;
⑤每盏灯有自己的名字,可以对其进行修改;
⑥可对每盏灯进行分组,统一控制,组名可以修改;
⑦每个灯有WIFI的密钥、WIFI的SSID,可通过手机终端进行修改;
系统设计包括硬件设计和软件设计,Android智能手机终端应用软件设计三部分,下面依次进行介绍。
WIFI是一种无线网络通信技术,不同的设备如个人电脑、手机、PDA终端等可通过WIFI方式连接,组成一个局域网络,WIFI是WLAN的重要组成部分[4]。照明灯等要通过WIFI进行局域组网,需要连接WIFI模块,本方案选用技术成熟的HF-A111 WIFI模块设计,支持802.11b/g/n无线标准,支持TCP/IP网络协议栈,可通过UART作为数据通信接口,支持工作在SAT/AP/AP+STA模式等,功能全面,开发简单。
STM8S103系列单片机是法国ST公司推出的一款性价比非常高的单片机,具有3级流水线哈佛结构,具有8 K flash、1 K RAM、640字节的EEPROM,最多有27个外部中断,3个定时器,UART、SPI、IIC通信接口等,与其他同价格的单片机比较,有丰富的系统资源,正在逐步占领单片机市场的份额,有广阔的应用前景[5]。
WIFI灯节点是整个系统的最基础的部分,WIFI灯节点的设计关系到系统基本功能的实现。WIFI灯节点设计框图如图2所示。STM8S103作为核心控制器,通过UART与WIFI模块连接,接收或发送数据信息;调光模块可以驱动30W以下的LED灯,STM8S103产生PWM波,对LED灯进行调光控制。单片机和WIFI模块工作在3.3 V电压下,调光模块电压根据要驱动的LED灯选择,电源模块为各部分提供安全范围的电压。
图2 WIFI灯节点框图
AP协调器作为系统核心,实现连接WIFI灯节点和Android智能手机终端的桥梁,对接收到的信息进行分析处理,由于功能需要,起到类似服务器的作用。AP协调器需要储存所有灯的信息,因此需要容量较大的EEPROM,STM8S103本身只有640字节EEPROM,需要扩展。AP协调器硬件设计简单,其框图如图3所示。
图3 AP协调器框图
每个WIFI灯节点具有唯一的ID,需要具有打开关闭灯,调光的功能,同时需要存储灯的信息。系统配置初始化后,等待WIFI模块启动,大于60 s模块依然没有启动说明模块可能损坏,需要检查模块;模块启动后会自动连接至AP协调器,大于60 s时未连接,LED闪烁提示检查AP是否打开;连接至AP协调器时,节点开始正式工作;若接收到信息,对信息进行分析,做出相应反应,并发送返回信息。WIFI灯节点软件流程图如图4所示。
图4 WIFI灯节点流程图
AP协调器接收来自WIFI灯节点和Android智能手机终端的信息,起到信息处理和中转功能。根据接收到的信息不同做出相应的处理。AP协调器同时作为系统的数据库,存储所有灯节点的数据信息。图5中,(a)图为AP协调器主流程,(b)图为信息处理流程图。
图5 AP协调器流程图
图6 Android智能手机应用软件界面
Eclipse是一个源代码开放的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。Android SDK指的是Android专属的软件开发工具包。使用Eclipse进行Android应用开发需要给Eclipse装ADT插件,这样Eclipse就可以和Android SDK建立连接,可以在E-clipse中启动Android模拟器进行程序调试等[6]。
Android智能手机终端应用软件即在Eclipse平台上使用Android SDK开发。根据系统功能要求,开发的应用软件如图6所示(依次记为a、b、c、d)。图6(a)为灯状态栏,此栏显示 WIFI灯节点列表,各灯名称及状态,灯亮起时小灯图标高亮,灯熄灭时小灯图标为暗灰色。图6(a)中为1号灯(卧室)和2号灯(大厅)。单击任意一盏灯弹出列表如图6(b)所示,可对灯进行打开、关闭、调光等相应的操作。图6(c)为信息管理栏,可以添加用户,添加新灯,修改相应信息等。图6(d)其他操作栏用于开发测试。
本文介绍了一种小型的智能照明系统,采用简单的拓扑结构,很适合用于家庭等小型场所。对办公楼等大型场所,可以使用WIFI模块WDS(无线分布式系统)功能,多个AP互相连接,组成一个覆盖范围很广的网络。
本系统经过测试,系统组网稳定,信息传输准确,能达到很好的使用效果。但系统功能仍然不够完善,需要进一步加强。
[1] 唐鹏光,付蔚.基于无线传感网智能家居照明控制系统的研究与实现[J].世界电子元器件,2012,18(11),52 -55.
[2] (美)布瑞斯宾(Brisbin,S),卡尔提(Carty,G)著,天宏工作室译,自己动手组建Wi-Fi网络[M].北京:清华大学出版社,2003.6.
[3] Youngsu Cho,Myungin Ji.WiFi AP position estimation using contribution from heterogeneous mobile devices[C].Position Location and Navigation Symposium(PLANS),2012 IEEE/ION:562-567.
[4] 王建国,郭宝亿.基于ZigBee和WiFi相结合的楼宇监测系统[J].西安工业大学学报,2008.10,28(5):460 -465.
[5] 潘永雄.STM8S系列单片机原理与应用[M].西安:西安电子科技大学出版社,2011.
[6] 江燕良,基于Android智能终端的远程控制系统[J].电子技术应用,2012,38(8):129-132.