崔 凯
(河南省信息咨询设计研究有限公司 综合管理部,河南 郑州 450008)
近年来,随着人们生活水平的不断提高以及互联网技术的不断升级,人们对于智能家居服务的需求越来越强烈。通过将集射频技术、计算机网络、综合布线、自动控制、安全防护成为一体,实现对家居环境和设备的远程控制,能够有效提高家居生活的便捷性与安全性。然而智能家居服务的关键在于设计出一套稳定、高效的控制系统,物联网技术在此期间发挥着不可或缺的作用。基于此,有必要以物联网为基础,建构一套稳定、高效的智能家居控制系统,发挥其在现实生活中的实际应用价值。
1985年,美国计算机专家LEWIS P T率先提出了“物联网”的概念。最初设想是随着互联网的快速发展与广泛普及,采用人工来获取并上传信息,必然会带来传输异常、操作失误的误差问题,而且人工操作还会弱化信息传输的时效性,造成信息传输与应用的滞后。“物联网”本着缓解人工压力、信息自主流入物联网的目的便应运而生,主要采用实际传感器实时获取和上传信息,保证信息传输与应用的时效性和准确性。
物联网与互联网具有相似性特征,但区别是物联网的终端是实现温度传感器、红外线传感器、光照传感器之类的设备与嵌入式计算机系统的连接。这要为每一个拥有独立应用功能的主体设置一个电子标签,实现其上网的功能,而从个人的角度来说,则可以借助这一功能来实时监测其参数、坐标的变化情况。这由此决定了其在智能家居系统中的应用价值情况。
物联网作为一个崭新的应用技术系统,既从互联网系统中延伸而来,又与互联网呈现出鲜明的差异,具体表现为以下几方面的特征。
1.2.1 传感器技术
物联网主要通过传感器获取物理量、化学量、生物量等丰富多样的信息资源。物联网中的“传感器技术”首先具有明显的数字化特征,即可以接收和转化数字信号,从而获取相关的信息内容。这既能大大降低传输的信息量,提高信息传输的质量和效率,同时也增强了信息传输的准确性,避免信息流失或者内容模糊的问题。其次具有多功能性特征,也即是涵盖了光照、温度、红外线等各种各样功能的传感器设备,由此满足了社会各领域、各项应用服务的差异化需求。再次是网络化的特征,即与互联网连接,可以适时上传采集的信息,还可以适时观测信息动态,灵活方便,即时快捷,且具有良好的互动性。
1.2.2 无线射频识别技术
无线射频识别(Radio Frequency Identification,RFID)技术,属于无线通信的范畴,能够将发出无线电信号的电子标签置于观测物体之上,可以实现对特定物体信息的观测与物理定位。这一技术首先具有“非接触识别”的特征,即无线电传输信号借助自由空间来进行自由化、跨域性的信号传输活动,从而消解了与监测物体直接接触的限制,大大拓展了其应用功能[1-3]。另外,无线射频识别技术可以反复使用,可以修改甚至是直接删除标签上设置的信息内容,在重复应用的过程中,既降低了技术成本,又增强了信息管理的便捷性与高效性。这是增强物联网广泛性应用价值的关键所在。
1.2.3 Zigbee技术
Zigbee技术类似于传统的无线蓝牙技术,主要应用于近场信息接收与传输,而与无线蓝牙技术相比,Zigbee的消耗功率更低,所使用的技术成本也十分有限,因此具有更广泛的应用价值。进一步来说,Zigbee具有“低功耗”的特征,大部分情况下处于休眠状态,几乎不需要消耗电能,而且1 mw的发射功率足够信号传输的需求,发射功率比较低,从而降低了该技术的耗电量。Zigbee还具有“设备容量大”的特征,可以同时接入多台设备,而且网络之间能够互联互通,增强了网络通信工作的便捷性与高效性[4]。Zigbee技术的个性化特征,决定了其在智能家居系统中具有可靠性的应用价值。
智能家居又称为“智能住宅”,西方国家称为“Smart Home”。早在1984年,美国便建立起第一幢智能建筑,于1988年推出世界上第一套适用于个人家庭环境的电气自动化标准《家庭自动化系统与通讯标准》。随后,其他发达国家也致力发展智能住宅事业,依据个性化的需求和技术手段而推出多样化的智能家居方案,诸如“新加坡模式”的智能家居系统涉及安全报警模块、三表自动统计模块、监控中心模块、可视对讲模块、有线电视接入系统、室内家电控制模块、家庭智能控制面板、住户信息留言模块、宽带接入和软件系统配置模块、智能布线箱设备等,既有布设超前、系统的家居功能,又实现了对各项功能的智能化操作,被作为智能家居设计和建设的一个模板。1997年,我国印发了《小康住宅电气设计(标准)导则》,明确提出小康住宅电气设计应具备安全度高、生活环境舒适、通信方式便捷、信息服务综合水平高、家居智能化能力强的标准,而且为住宅安全防范、设备自动化、网络配置设定了理想目标、普及目标、最低目标三个标准。21世纪之后,随着我国社会经济的快速发展以及信息通信技术的迅速升级,尤其是我国政府积极倡导“资源节约型、环境友好型”社会的建设,极大地推动了我国智能家居的发展,形成了ZigBee无线网、Arduino和ESP8266多终端、语音控制技术、can总线、IntoRotot云平台、STM32无线网络的多样化智能家居控制系统。这些充分彰显出我国智能家居控制系统领域蓬勃发展的态势,同时也反映了不同单位和个人对于智能家居功能服务、应用方式和控制技术的差异化追求和构想,从而很好地适应不同家居环境个性化的智能应用需求。
目前,我国智能家居控制系统虽然涉及差异化的智能家居功能服务、应用方式和控制技术,但具有以下几方面的相同特征:①以满足家庭住户个性化的家居环境、服务需求、应用习惯为首要原则,必须具体问题具体分析,建构起针对性、个性化的智能家居控制体系,而这也导致当前社会上智能家居控制系统的设计和应用十分多样;②要具备安全性、节能性、舒适性、便捷性的特征,为住户营造良好的人居环境,这十分契合智能家居设计兼具“实用性”与“节能性”的发展趋势,也是设计和发展智能家居的一个基本初衷;③要注重对最新通信技术、信息技术、网络技术以及随身终端设备的应用,不断地提高智能家居控制系统的技术水平,增强智能家居控制系统的即时性、简单化操作,由此才能进一步增强智能家居控制系统的普适性,方便人们的使用,也有效地推动智能家居控制系统的普及。正是基于这样的原因,文章从物联网的角度展开对智能家居控制系统的设计。
下面以物联网的感知层、应用层、网络层三层架构为基础,介绍智能家居控制系统的设计。
从生活应用的角度来说,智能家居系统主要包括开发板Raspberry Pi和Arduino-UN0-R3、智能家居云平台、Wi-Fi摄像头、温湿度传感器、PM2.5传感器、舵机等基本设备[5-6],运用无线或者有线的方式建构起一套完整的智能家居控制系统,如图1所示。Raspberry Pi端连接网络,分析红外线信息,解析远程指令;Arduino-UN0-R3端搜集传感器信息,观察门禁状态,控制电灯、插座情况;远程控制端则实时监测数据和发布控制命令。三大系统能够实现对家居各方面应用功能的智能控制,展开家居监测、远程控制活动,进而提高家居生活的便捷性与安全性。
图1 智能家居系统架构Fig.1 System architecture of smart home
所设计的以物联网为基础的智能家居控制系统主要使用到了Raspberry Pi和Arduino-UN0-R3两大硬件,同时加入了其他功能性硬件。
1)Raspberry Pi即“树莓派”,简称为“RPI”,是一种采用Linux嵌入式系统的个性化应用价值的卡片式电脑。该硬件设备设置有USB接口、多样化的GPIO接口、I2C接口,并且适用于C语言、Python等采用转载Linux系统和相关的功能性应用软件,可创造多样化的应用价值[1-2]。为了提高所设计的智能家居控制系统的稳定性与高效性,采用了树莓派B+开发板,其使用Broadcom BCM2835设置SOC,更契合智能家居控制系统的功能性需求。
2)开发板Arduino-UN0-R3是一个比较简单、易用的开源控制器,采用ATmega328设置处理器核心内容,安置有电源插座和USB接口,而且还设置有复位按钮以及ICSP header功能。在设计智能家居控制系统过程中,通过串口将Arduino-UN0-R3与B+Raspberry Pi开发板连接起来。
3)文章所设计的基于物联网的智能家居控制系统,还包括通信模块、Wi-Fi摄像头、LCD显示屏、PM2.5模块、DHT11模块、RFID以及舵机驱动模块等相关的设备。这些功能性设备可以选用市场中大众化的硬件资源即可,因此文章对于这些硬件设备的选择与应用不再过多赘述。
设计的基于物联网的智能家居控制系统将主板Arduino-UNO-R3作为系统的主体控制模块,随后采用温湿度传感器DHT11和夏普PM2.5传感器搜集相关的数据信息,并在硬件显示屏LCD1602上进行显示。采用串口将数据信息传输到B+Raspberry Pi开发板上面,当IC卡触碰到RFID-RC522射频识别模块的过程中,控制舵进行运转,最终会在屏幕上显示卡中的相关信息内容,如图2所示。
图2 温湿度传感器DHT11的连接Fig.2 Connection diagram of humidity sensor DHT11
首先,MF RC522芯片采用同步串行的方式与主板控制模块进行通信活动,前者是在从模式中工作,后者是在主模式中工作,RFID引脚RST、SS、MOST、MISO、SCK分别对应Arduino的引脚D5、D10、D11、D12、D13。其次,PM2.5是一个以红外散射光学质量为基础的传感器设备,可以捕捉到尘埃反射光,最小能够测量0.3微米的极小粒子,质量比较轻,体积也比较小,便于在家居生活中应用。DHT11是一个监测温湿度的传感器,反应迅敏,性能稳定,具有良好的抗干扰性效果,性价比也比较高,应用4针单排引脚的封装方式。如图2所示,DHT11的连接方式也相对比较简单。SG90舵机是家居系统门禁模块中的主体元件,主要是通过控制器发出PWM信号给系统内的电路,促进无核心的马达进行转动,进而采用减速齿轮带动电位器的缓慢移动,如果电影差数值为0,电机系统会自动停止转动。通过主控制系统控制舵机的运转,从而实现打开或者关闭门禁的功能,实现对家居生活中门禁系统的智能控制活动。
基于物联网的智能家居控制系统离不开软件的支持。依据功能的需要,在Linux环境下创作远程监控的软件程序,采用Python创作软件程序控制GPIO引脚电平的高低状况,门禁系统主要由舵机控制,家居生活中的环境参数则是采用夏普PM2.5传感器来搜集。首先,Linux拥有多样化的版本,而且Debian的内核比较小,系统稳定性比较高,系统资源消耗率比较低,因此将使用Linux中的Debian版本开发的远程监控软件程序。其次,Python是一种以对象为主体的设计语言,其语言简洁,易读性强,可扩展性水平比较高,能够将其他语言程序创作的软件模块有效地衔接起来,顺利地实现预期的系统功能。基于这样的原因,文章将在Linux环境下创作远程监控的软件程序,采用Python创作软件程序控制GPIO引脚电平的高低状况。
Arduino端模块作为基于物联网的智能家居控制系统中的重要组成部分,主要是向开发板导入所设置的功能性使用库以及预先定义的多样化管脚,完成对舵机创建工作的操作活动。Arduino端模块的设计代码如下所示:
#include
#include
#include
#include
#include
servo myservo //创建舵机对象
int pos=0;//pos用于存储舵机位置
LiquidCrystal_12G lcd_1(0x27,16,2);
int measure Pin=0;//传感器 Arduino 的A0相连
主要使用Python开发Raspberry Pi端,可以充分借助此种开发语言便捷、高效的优势开发Raspberry Pi端,但不足之处是对十六进制数的操作比较麻烦,在这一部分使用的时间则相对比较多一些[3,7-8]。第一步是安装红外收发模块lirc。第二步是采用Python语言创作远程控制软件程序,apt-get install python-pylirc II安装pylirc库,将lirc文件置于/etc/lirc/目录的下面。第三步是http寻求响应。第四步是在RPI端上面使用“/dev/ttyACM0”的USB串口,服务器的地址可以设置为“WWW.lewei50.com”。
sudo apt-get install lirc
mode2-d/dev/lirc0
LIRCD_ARGS=″--uinput″
DRIVER=″default″
DEVICE=″/dev/lirc0″
/etc/init.d/lirc stop
irrecord -n -d/dev/lirc0 ~/lircd.conf
在此过程中,本文所使用的红外解码以及控制系统的核心代码采用以下程序实现:
global Con
nb=btn.readButton()
if nb==′hello1′;
con |=(1<<4)#led1 on
if nb==′hello2′
con & = ~(1<<4) #led1 off
基于物联网的智能家居控制系统中的控制帧的生成核心代码采用以下程序实现:
if con is not lastcon:
team=′%d′%(con+32)
tem1=team.deconde(′hex′)
serialFromArduino.write(′xEBx91+tem1+′ emFFx23′)
lascon=con
系统内状态帧解析核心代码采用以下程序实现:
if(serialFromArduino.inWaiting()>0):
input=serialFromArduino.readline()
if input[0]==′xEB′and input[1]==′x90′):
print″EB90″
Hum=int(input[2].encode(′hex′),16)
Temp=int(input[3].encode(′hex′),16)
……
控制系统内将即时数据传输至网络系统的核心代码采用以下程序实现:
s=socket.socket(socket.af_inet,socket.sock_stream)
s.settimeout(none)
s.connect((host,port))
post_data=post_sch.format(msg_len=len(msg),msg=msg)
加强温湿度的监控是智能家居系统不可或缺的功能。文章所设计的基于物联网的智能家居控制系统主要采用DHT11温湿度传感器监控家居环境中的温湿度状态,随后再将搜集到的数据信息发送给主开发板Arduino,最终将解码之后的温湿度信息映射到LED显示屏中,供用户直观地解读和认知家居系统中的温湿度情况。依据这一模块的功能性需求,其主程序代码设计为
#include
#include ″DHT11.h″
void setup() //初始化
{
Serial.begin(9600); //设置波特率
DHT11_Read(); //读取温湿度
delay(1000) //设置延时
}
void loop() /Arduino 主程序
DHT11_Read()
serial.print(″humi=″)
serial.print(humi_buffer_int)
……
通过以上分析可以看出,基于物联网的智能家居系统是一个十分复杂的体系,既涉及多样化的硬件资源,同时也植入了多个软件程序,协同实现预先设定的多样化应用功能。为了保证整个系统的稳定性与实效性,在具体应用之前有必要进行一次严格的系统测试,发现可能存在的问题,并进一步完善智能家居控制系统,保证系统的稳定性与实效性[9]。
首先,依据上文提出的方案,购置相关的硬件资源,编写相关的软件程序,随后依据图1智能家居总体系统,连接好各个硬件资源,形成一个完整的智能家居物联网的硬件系统。其次,在“树莓派”Arduino IDE中植入预先编创好的各个模块的软件程序代码,控制DHT11和夏普PM2.5搜集家居环境中的温湿度信息和粉尘信息方面的数据资源,进而将搜集到的信息发射到“树莓派”Arduino IDE之中。再次,采用智能家居云平台体系进一步实时、准确地监测各个应用功能模块的数据传输、分析、显示的即时性、稳定性与准确性[10-11]。在完成了对整个系统的测试工作后发现,文章设计出的基于物联网的智能家居系统可以准确地监测室内的温湿度状况,能够有效地控制家居门禁的开启与闭合,可以准确地调解家居室内的环境状态,终端LCD监测显示也比较正常,能够根据指令准确、即时、全面地反映系统传输的相关信息。而且从宏观层面来说,整个系统运行比较顺畅,功能比较稳定,结果也比较准确,由此也充分反映了文章设计的基于物联网的智能家居系统的实效性与应用价值。
物联网主要是采用实际传感器即时地获取和上传信息,保证信息传输与应用的时效性与准确性。物联网的特征集中表现在传感器技术、无线视频识别技术、Zigbee技术,由此成就了其独特性的功能特色和普遍的应用价值,为应用于智能家居控制系统奠定了技术基础。文章以物联网感知层、应用层、网络层三层架构为基础,采用Raspberry Pi和Arduino开发其系统,最终建构了一套包括开发板Raspberry Pi和Arduino-UNO-R3、智能家居云平台、Wi-Fi摄像头、温湿度传感器、PM2.5传感器、舵机等基本设备,运用无线或者有线的方式建构起一套完整的智能家居控制系统。经测试,该系统具有良好的稳定性与功能性价值。